標籤:開源工具 物聯網
物聯網的開源工具
原文地址:Open Source Tools for the Internet of Things
物聯網開源正在快速發展。開源的物聯網軟體和硬體項目可以協助企業和DIY愛好者通過網路連接裝置進行實驗。
如果你近幾年由於某些原因涉獵到IT行業,那麼你很有可能聽過“物聯網”這個詞。據高德納公司所說,物聯網正如日中天,很多人都對它有興趣,但對於物聯網來說,還沒有太多實質性的發展。在2009年串連到網路的裝置數目少於10億台,但高德納公司預測在2020年將有260億台裝置串連到網路,這將為製造商和服務供應商們產生3000億美元的收入並對全球經濟造成1.9萬億美元的影響。
簡單來講,物聯網是如何使用智慧型裝置來收集通過互連網傳輸到其他裝置的資料。機器對機器的技術與這密切相關。雖然機器對機器這一概念已經存在了一段時間了,但“物聯網”這一概念卻要到1999年,才由當時還是寶潔公司員工的凱文.阿斯頓第一次提出。
從那時起,這個概念迅速而廣泛的傳播開來。根據arm公司的一項調查,超過75%的企業已經使用或打算在某些方面使用物聯網。而且該調查還顯示,96%的企業預計在2016年之前都將使用物聯網。
人們對物聯網有極大興趣的部分原因是物聯網的潛能巨大。2006年,阿斯頓在文章中解釋說:“如果我們的電腦可以知曉一切可知的,並在沒有我們的協助下使用它們收集的資料,我們將能夠去跟蹤和計算一切然後大大的減少浪費、損失和成本。我們能知道什麼時候某些東西需要更換、維修或召回,我們能知道它們是否新鮮或者是度過了最佳狀態。”他總結說:“物聯網像互連網一樣有改變世界的潛力。甚至物聯網比互連網更強”。
許多關於物聯網技術和標準的早期工作已經在開源社區完成了。這個月我們擁有的一些更有趣的開源物聯網項目正在積極開發中。雖然我們的開源清單通常專註於軟體,但這個清單裡也具有一些開源硬體,這些開源硬體大部分是低價提供給物聯網愛好者購買的。
與往常一樣,假如你認為某些項目應該出現在我們的清單上,那麼請不吝賜教,將這些項目寫在下面的評論部分中。
開發工具
1. Arduino
Arduino包含一個互動式電子的硬體規格和一套軟體。這套軟體包括IDE和Arduino程式設計語言。某網站解釋說Arduino是“一個工具,這個工具可以製造一個比台式電腦感知和控制更多物理世界的電腦”。其背後的組織提供了許多開發板、入門套件、機器人和相關的產品出售。同時,許多其他團體已經使用Arduino去建立他們自己的物聯網相關硬體和軟體產品。
2. Eclipse物聯網項目
Eclipse正在資助幾個關於物聯網的項目。它們包括應用程式框架服務、物聯網協議的開源實現(協議包括MQTT CoAP協議、OMA-DM協議和OMA LWM2M協議)、用lua語言進行工作的工具(eclipse正在推動lua語言為理想的物聯網程式設計語言)。Eclipse相關的項目包括Mihini、Koneki和Paho。該網站還包括一個類比環境,在這個環境可以用工具進行實驗並有一個現場示範。
3. Kinoma
Marvell公司所擁有的Kinoma的軟體平台包括三個不同的開源項目。Kimona Create是為標準電子裝置產生的DIY構築套件。Kimona Studio是和Create、Kinoma Platform Runtime一起工作的開發環境。KimonaConnect是一個免費的ios和安裝應用,這個應用串連智能手機和物聯網裝置表。
4. M2MLabs Mainspring
Mainspring是用來構建遠程監控,車隊管理和智能電網應用的,是用來開發M2M應用的開源架構。它的功能包括靈活的裝置模組化、裝置配置、在裝置和應用間的通訊、資料校正和標準化、長期資料存放區和資料恢複功能。它是基於Java和Apache Cassandra NoSQL資料庫的。
5. Node-RED
Node-RED是基於Node.js的,它把自己描述為“一個串連物聯網的視覺化檢視”。它允許開發人員使用一個基於瀏覽器的流程編輯器串連裝置、伺服器和API應用。它能在樹莓派上運行,並且有超過6萬個模組可用來擴充其功能。
硬體
6. Arduino Yún
該微控制器將基於Arduino板的易用性和linux系統結合起來。它包括兩個處理器:ATmega32u4(支援Arduino)和Atheros AR9331(運行linux)。其他功能包括WIFI、乙太網路支援、usb介面、micro-SD卡槽、三個複位按鈕等等。他們可以在Arduino網站上買到。
7. BeagleBoard
BeagleBoard提供信用卡大小的“電腦”,在這個電腦上可以運行安卓和linux。因為他們滿足低功耗需求,所以它們是很好的物聯網裝置。無論是硬體設計還是它們上面啟動並執行開源軟體,BeagleBoard可以通過多種渠道擷取。
8. Flutter
Flutter是以它超遠的距離而出名的。這個基於arduino的開發板,它的無線傳輸可以到達半英裡外。另外,你不需要一台路由器,flutter和flutter可以直接進行通訊。它擁有256位的AES加密,並很容易使用。硬體和軟體都是完全開源的,而且標配板子只賣20美元。
9. LocalMotors Connected Car
Local Motors是一家汽車公司,它進行小規模的開源汽車設計製造。他們在一個物聯網串連的交通工具上和IBM公司合作,在去年春天,這個交通工具在一個會議上展示。許多關於這個交通工具的開源軟體和詳細資料可在網站進行下載。
10. Microduino
你可能已經從名字上猜到,Microdunio提供的非常小的開發板是和Arduino相容的。事實上,這些開發板只有普通開發板四分之一的大小,而且可以疊加起來創造新的東西。所有的硬體設計是開源的,且核心模組每個只要8美元。它是由一個叫做Kickstarter的運動資助的,總共募集了134563美元。
11. OpenPicus
這個公司為了將裝置串連到雲和物聯網,提供了一些列的可程式化模組和套件。它的平台和硬體都是開源的,但是它的產品能被用來開發閉源的商業產品。這個公司也提供自我的開發租賃服務。
12. Pinoccio
Arduino相容的Pinnoccio開發板(該公司稱之為“童子軍”)相互串連成低功耗的網狀網路。他們包括一個內建的可充電電池,這個可充電電池可以串連到太陽能電池板或usb供電電源。這個組織還提供Pinoccio HQ(一個用於監控偵查活動的圖形化使用者介面)、ScoutScript(一個用來控制裝置便於使用的指令碼語言)。Pinoccio的入門套件價格為197美元。
13. RasWIK
RasWIK是Ciseco公司開發的,是樹莓派無線發明家套件的簡略版。它允許任何人使用樹莓派去嘗試建立自己的可串連wifi的裝置。RasWIK包含29個項目,你也可以把你自己的項目加進來。購買這個裝置可能需要一定的費用,但是裡面的代碼都是開源免費的,你可以選擇使用它來構建商業產品。
14. SODAQ
SODAQ是“太陽能供電資料擷取器”的簡寫,它提供Arduino相容的電路板和類似樂高積木的外掛程式模組。這個網站包括一些適合初學者的教程。而且,在很可能沒有電力和網路的地方,太陽能電池板使其成為一個記錄環境資料的不錯選擇。它的基本版電路板預售價是39美元。
15. Tessel
Tessel的目的是為軟體開發人員將硬體開發變得更容易,而這是通過可插入USB連接埠的、支援Java指令碼的微控制器來實現的。你也可以將它串連到其他模組,比如添加加速計、環境光線和聲音、網路攝影機、藍芽、gps和另外的9個功能。一塊板子和一個模組的起始價為99美元,如果需要其他模組需要再加25美元。所有的軟體和硬體設計都是開源的。
16. UDOO
這個Arduino相容的主板還可以在它的第二處理器上運行安卓或linxu(這個linux版本被稱為UDOObuntu)。它號稱比樹莓派強大4倍。在網站上可以獲得多個教程和項目,它也提供一個叫做“有UDOO愛好者們建立”的部分,在這裡大家可以展示自己的成功。這個板子的標準版價格是99美元。
自動化家居軟體
17. OpenHAB
OpenHAB可以使你家裡已經擁有的智慧型裝置進行相互聯絡。它是供應商和硬體無關的,可以運行任何支援Java的系統上。它的目標之一是允許使用者添加新的功能到他們的裝置中並以新的方式來整合它們。OpenHAB贏得了很多大獎,它擁有一個名為my.openHAB的配套雲端運算伺服器。
18. The Thing System(物系統)
這個項目包括軟體組件和網路通訊協定。它保證找到你房子裡所有與互連網串連的東西,並把他們集合在一起,以便你能控制他們。它支援一系列的裝置,包括鳥巢恒溫器、三星智能空調、INSTEON LED燈泡、Roku、GoogleChromeecast、Pebble智能手錶、Goji 智能鎖等等。它是以Node.js平台編寫的,且適用於樹莓派。
中介軟體
19. IoTSyS(物聯網系統)
這個物聯網中介軟體為智慧型裝置提供一個通訊協定棧。它支援多種標準和協議,包括IPv6、oBIX、6LoWPAN、受限制的應用協議和高效的XML交換格式。在該網站上一些視頻展示它是如何工作的。
20. OpenIoT
該OpenIoT網站解釋說,該項目是“一個從感應器雲中擷取資訊的開源中介軟體,而不用擔心是哪個確切的感應器被使用”。“它的目的是使能雲端式感應器檢測作為一種服務”,並制定了智能農業使用案例、智能製造、城市擁堵檢測、智能生活和智能校園。它的支援者包括雅典資訊技術學院(AIT)、巴黎高等洛桑聯邦理工學院(EPEL)、弗勞恩霍夫光電研究所、系統技術和映像開發IOSB、SENSAP微系統AE、AcrossLimits、聯邦科學與工業研究組織(CSIRO)、薩格勒布電氣工程和電腦學院以及愛爾蘭國立大學和高威大學。
作業系統
21. AllJoyn
AllJoyn最初是由高通公司建立的,這個基於物聯網的開源作業系統由下列最傑出的物聯網企業所支援,他們是AllSeen同盟成員,包括linux基金會、微軟、LG、高通、夏普、松下、思科、賽門鐵克等等。它包括一個架構和一組服務,這使得製造商能夠建立相容的裝置。它是跨平台的,它的應用程式介面可以用於安卓、iOS、Mac OS X、linux和win7。
22. Contiki
Contiki描述自己為“物聯網開源作業系統”。它串連低功耗微控制器到互連網,並支援如IPv6、6LoWPAN、RPL和COAP協議。其他主要功能包括高效的記憶體配置、全IP網路、極低的功耗、動態模組載入等等。支援的硬體平台包括Redwire Econotags平台、Zolertia Z1 motes平台、意法半導體開發套件和德州儀器晶片和電路板。商業支援支付功能。
23. Raspbian
雖然樹莓派被認為是教育裝置,但許多開發人員已經開始在物聯網項目中使用這個信用卡大小的電腦了。雖然完整的硬體規格不是開源的,但是大部分軟體和文檔是開源的。Raspbian是一種基於linux發行版Debian的流行樹莓派作業系統。
24. RIOT
RIOT自稱為“友好的物聯網作業系統”。RIOT是FeuerWhere項目的分支,首次亮相在2013年。它的目的是既開發人員友好又資源友好。它支援多種架構,包括MSP430、ARM7、Cortex-M0、Cortex-M3、Cortex-M4和標準的x86電腦。
25. Spark
Spark是一個分布式的,雲端式計算的物聯網作業系統。這家公司也提供便於使用的硬體開發套件和初始售價為39美元的相關產品(這個產品的硬體設計也是開源的)。它包括一個基於web的IDE,一個命令列介面,支援多國語言和用於不同物聯網裝置的庫。它擁有一個非常活躍的使用者社區,在上面可以獲得許多文檔和線上協助。
監控顯示
26. Freeboard
Freeboard的目標是讓使用者建立他們自己的用來監控物聯網部署的儀錶盤。該代碼在GitHub上免費提供,或者說如果你讓你的儀錶盤公開,你可以嘗試免費服務。對於那些想要保持自己的資料私人的人們,低價計劃是可行的。樣本儀表板展示如何用它們來跟蹤空氣品質、住宅電器、釀酒情況和即時環境條件。
列印
27. Exciting Printer(令人激動的印表機)
Exciting Printer提供了一個開源的套件,用於物聯網列印實驗。這使得建立自己的小的複本和使用複本來列印來自不同物聯網裝置擷取到的資訊成為可能。例如,它可以列印出一張每日提醒清單,天氣報告等。並且,有趣的是,如果你想要聯絡項目擁有者,你可以在他們的辦公室裡用物聯網複本列印一張圖片。
平台和整合工具
28. DeviceHive
該項目提供一個支援串連裝置到物聯網的機器對機器通訊架構。它包括支援建立網路便於使用基於web的管理軟體、應用安全規則和監控裝置。該網站提供內建有DeviceHub的樣本項目,而且它也有一個“遊樂場”部分,允許使用者使用DeviceHub線上去看它是如何工作的。
29. Devicehub.net
Devicehub.net描述自己為“物聯網的開源支柱”。它是一個雲端式的服務,儲存物聯網相關的資料,提供資料的可視化並允許使用者在網頁上控制物聯網裝置。開發人員使用該服務建立跟蹤健康資訊的應用程式,監視孩子的位置,自動化家電,跟蹤車輛資料,監測天氣等等。
30. IoT Toolkit
這個項目背後的組織正使用各種工具工作,來整合多個物聯網相關的感應器網路和協議。雖然主要的項目時一個智能對象應用程式,但該組織也工作在一個HTTP對Coap的情景下,一個帶有嵌入式軟體代理的應用程式架構等等。在矽谷,他們也發起了一個“遇見”組織,面向對物聯網開發有情趣的人。
31. Mango(芒果)
“芒果”自稱是“世界上最流行的開源的機器對機器軟體”。基於網路的它支援多個平台。它的主要功能包括支援多協議和資料庫、元點、使用者自訂事件、匯入/匯出等等。
32. Nimbits
Nimbits可以儲存和處理特定的資料類型,資料可以是時間標記的或地理標記的。作為服務的公用平台是可用的,或者你也可以下載這個軟體並部署它到Google應用引擎、或亞馬遜EC2上的J2EE伺服器上、或一個樹莓派上。它支援多種程式設計語言,包括Arduino、JavaScript、HTML或Nimbits.io Java庫。
33. OpenRemote
OpenRemote為基於家居的愛好者、整合商、分銷商和製造商提供了四種不同的整合工具。它支援十幾種不同的現有協議,允許使用者建立幾乎任何類型的智慧型裝置(他們能夠想到和使用任何支援java的裝置來控制它)。該平台是開源的,但在設計和產品開發過程中,該公司也出售各種支援、電子書等工具來進行協助。
34. SiteWhere
這個項目提供了一個完整的平台,來管理物聯網裝置、收集資料並用外部系統進行資料整合。SiteWhere發行版本可以下載或在亞馬遜雲中使用。它還整合了多個大資料工具,包括MongoDB和ApacheHBase。
35. ThingSpeak
ThingSpeak可以處理HTTP請求,並儲存和處理資料。這個開放資料平台的主要功能包括開放應用程式、即時資料收集、地理位置資料、資料處理和可視化、裝置狀態資訊和外掛程式。它可以整合多個硬體和軟體平台,包括Arduino、樹莓派、ioBridge/RealTime.io、Electic lmp、移動和網路應用、社會網路和MATLAB資料分析。除了開源版本,還提供託管服務。
物聯網的開源工具