物聯網時代的35款開源工具 refer:http://os.51cto.com/art/201409/451092.htm
開源物聯網正在迅猛發展。本文介紹的這些軟硬體項目可以協助公司企業和DIY愛好者體驗與互連網串連的裝置。
要是近些年來你以任何一種方式參與過IT行業,恐怕就聽過“物聯網”(即IoT)這個術語。據知名調研機構Gartner聲稱,IoT正處於技術成熟度等級曲線(hype cycle)的頂峰,這意味著許多人因此而興奮不已,但還沒有出現太大的實質性進展。2009年,串連到互連網的裝置數量不到10億個,但Gartner預測,到2020年安裝的物聯網裝置數量將多達260億個,這將為生產商和服務提供者創造3000億美元的收入,並且給全球經濟帶來1.9萬億美元的影響。
簡而言之,物聯網就是使用智慧型裝置,收集資料,然後這些資料通過互連網傳輸到其他裝置。它與機器對機器(M2M)技術密切相關。雖然“物聯網”問世已有一段時日,但這個概念卻由Kevin Ashton在1999年首次使用,那時他是寶潔公司的一名員工。
自此以後,物聯網概念迅速廣泛傳播開來。ARM開展的一項調查發現,75%以上的企業已經在以某種方式使用物聯網,或者在探究如何使用物聯網。96%的調查對象預計會在2016年之前使用物聯網。
之所以大家對物聯網抱有濃厚的興趣,一方面在於它大有潛力。Ashton在2006年的一篇文章中解釋:“如果我們擁有無所不知的電腦――使用它們收集的資料,又不需要我們人類的任何協助,我們就能夠跟蹤和統計一切裝置,大大減少浪費、損耗和成本。我們知道裝置何時需要更換、維護或召回,它們是全新還是越來越破舊。”他最後得出結論:“物聯網有潛力改變這個世界,就像互連網那樣。也許它的影響力還要大。”
物聯網技術和標準方面的早期工作基本上出現在開源社區裡面。我們將介紹一些比較值得關注的、目前在積極開發的開源物聯網項目。雖然我們所列的開源項目通常側重於軟體,但也介紹了一大批開源硬體,業餘愛好者能夠低價買到其中好多硬體。
與往常一樣,要是你覺得另外哪些項目應該榜上有名,歡迎留言交流。
開發工具篇
1. Arduino
Arduino既是面向互動式電子產品的硬體規範,又是一套軟體,含有整合式開發環境(IDE)和Arduino程式設計語言。官方網站解釋,Arduino“是一款工具,用來製造比普通台式機更加能感知和控制物理世界的電腦。”背後的這家組織提供了許多供出售的板卡、入門套件、機器人及相關產品,另外許多機構已使用Arduino來製造自己的物聯網相關軟硬體產品。
相關網站:http://www.arduino.cc/
2. Eclipse IoT Project
Eclipse正在贊助物聯網方面的幾個不同項目。它們包括應用程式框架和服務;使用開源技術實現的物聯網協議,包括MQTT CoAP、OMA-DM和OMA LWM2M;處理Lua的工具,Eclipse在大力宣傳Lua,聲稱這是一種理想的物聯網程式設計語言。Eclipse相關的項目包括Mihini、Koneki和Paho。官方網站上還有用於試用工具的沙箱環境和線上示範。
相關網站:http://iot.eclipse.org/
3. Kinoma
Kinoma軟體平台歸Marvell所有,它包括三個不同的開源項目。Kimona Create是一個DIY構造工具箱,可用於製作電子裝置的原型。Kimona Studio是開發環境,可與Create和Kinoma Platform Runtime協同運行。Kimona Connect則是一款免費的iOS和安卓應用程式,將智能手機和平板電腦與物聯網裝置互聯起來。
相關網站:http://www.marvell.com/kinoma/
4. M2MLabs Mainspring
Mainspring是為了開發遠程監控、車隊管理和智能網格等應用軟體而設計的,它是一種開源架構,用於開發M2M應用軟體。其功能包括:靈活的裝置建模、裝置配置、裝置與應用軟體之間的通訊、資料的驗證和正常化、資料的長期儲存以及資料檢索功能。它基於Java和Apache Cassandra NoSQL資料庫。
相關網站:http://www.m2mlabs.com/framework
5. Node-RED
Node-RED立足於Node.js,自稱是“用於串連物聯網的視覺化檢視”。它讓開發人員可以使用一種基於瀏覽器的流程編輯器,串連諸多裝置、服務和API(應用編程介面)。它可以在Raspberry Pi上面運行,60000多個模板可用來擴充其功能。
相關網站:http://nodered.org/
硬體篇
6. Arduino Yún
這個微控制器將基於Arduino的板卡具有的易用性與Linux結合起來。它有兩個處理器:ATmega32u4(支援Arduino)和Atheros AR9331(運行Linux)。其他特性包括:無線、乙太網路支援、USB連接埠、micro-SD卡槽、三個重設按鍵及更多。可以從Arduino官方網站購買。
相關網站:http://arduino.cc/en/Main/ArduinoBoardYun?from=Main.ArduinoYUN
7. BeagleBoard
BeagleBoard提供了信用卡大小的電腦,可以運行安卓和Linux。由於它們對耗電量的要求非常低,所以對物聯網裝置來說是個不錯的選擇。硬體設計和硬體啟動並執行軟體都是開源的,可以通過眾多分銷商購得BeagleBoard硬體(常常以BeagleBone這個品牌名來銷售)。
相關網站:http://beagleboard.org/
8. Flutter
Flutter賴以成名的地方是傳輸距離遠。這款基於Arduino的板卡有無線傳輸器,傳輸距離超過半英裡。另外,你也不需要路由器;Flutter板卡可以彼此直接聯絡。它採用了256位AES加密技術,便於使用。硬體和軟體都是完全開源的;基礎板卡的價格只有20美元。
相關網站:http://www.flutterwireless.com/
9. Local Motors Connected Car
Local Motors是一家汽車公司,專門小規模設計開源汽車方案。它與IBM合作開發了一款與物聯網串連的汽車,今年夏季的一次展會上展示了這款汽車。原型的開源軟體和設計規範大部分可從下列連結下載。
相關網站:https://localmotors.com/awest/connected-car-project-internet-of-things/
10. Microduino
你也許能從名字中猜到,Microduino提供與Arduino相容的超小板卡。實際上,這種板卡的大小如同硬幣,可以堆疊起來,做成新的產品。所有硬體設計都是開源的,核心模組每個起價只有8美元。其資金來源是Kickstarter網站的一項眾籌活動,到時籌到了134563美元。
相關網站:http://www.microduino.cc/
11. OpenPicus
這家公司提供一系列可程式化模組和套件,用於將裝置串連到雲和物聯網。其硬體和平台都是開源的,但其產品可用來製造閉源商用產品。該公司還提供供租用的開發服務。
相關網站:http://www.openpicus.com/
12. Pinoccio
與Arduino相容的Pinnoccio板卡(公司稱之為“Scouts”)可在低功耗網狀網中彼此串連。板卡裡面有內建的可充電電池,電池可以串連到太陽能電池板或任何USB電源裝置。該組織還提供用於監控板卡活動的GUI:Pinoccio HQ和ScoutScript,而後者是一種便於使用的指令碼語言,可用於控制裝置。入門套件售價197美元。
相關網站:https://pinocc.io/
13. RasWIK
RasWIK由一家名為Ciseco的公司開發,其全稱是Raspberry Pi Wireless Inventors Kit(Raspberry Pi無線發明家套件)。它讓擁有Raspberry Pi的任何人都可以試著製作自己的與無線網路串連的裝置。它含有29個不同項目的說明文檔,你也可以自行編製說明文檔。裝置需要收費,但所有包含的代碼都是開源的;當然,如果你願意,可以用它來製作商用產品。
相關網站:http://shop.ciseco.co.uk/raswik/
14. SODAQ
SADAQ的全稱是“太陽能供電的資料擷取”,它提供了與Arduino相容的板卡,還有類似樂高積木的外掛程式模組。官方網站上有許多教程,因而很適合初學者學習。而太陽能電池板讓它成為一個很好的選擇,可以在可能沒有電力和互連網串連的眾多地方記錄環境資料。基礎板卡起價為39美元。
相關網站:http://www.sodaq.net/
15. Tessel
Tessel旨在藉助這款能夠支援JavaScript的、插入任何USB連接埠的微控制器,讓軟體開發人員更容易從事硬體開發。你還可以將它串連到額外的模組,從而添加方向感應器、環境光線及環境聲、網路攝影機、藍芽、GPS及/或另外九種功能。一塊板卡和一個模組起價99美元,額外模組也有售,售價25美元。所有軟硬體設計都是完全開源的。
相關網站:https://tessel.io/
16. UDOO
這款與Arduino相容的板卡還可以從第二個處理器來運行安卓或Linux(名為UDOObuntu的發行版)。它聲稱,功能很強大,四倍於Raspberry Pi。官方網站上有多個教程和項目,它還在網上開設了“Made by UDOOers”部分,人們可以在此展示自己的作品。基礎板卡的起價為99美元。
相關網站:http://www.udoo.org/
家庭自動化軟體篇
17. OpenHAB
OpenHAB讓你家裡已有的智慧型裝置能夠彼此聯絡。它與廠商無關、與硬體無關,可以在任何能夠支援Java的系統上運行。它的目標之一就是,讓使用者可以為其裝置添加新的功能特性,並以新的方式結合起來。它獲得了幾個獎項,還有一個配套的雲端運算服務,名為my.openHAB。
相關網站:http://www.openhab.org/
18. The Thing System
這個項目包括軟體組件和網路通訊協定。它承諾可以找到你家裡面所有與互連網串連的物件,並結合起來,那樣你就能控制它們。它支援一大批的裝置,包括Nest恒溫器、三星智能空調系統、Insteon LED燈泡、Roku、GoogleChromecast、Pebble智能手錶、Goji智能鎖及其他眾多裝置。它用Node.js編寫,可以裝在Raspberry Pi上。
相關網站:http://thethingsystem.com/index.html
中介軟體篇
19. IoTSyS
這個物聯網中介軟體為智慧型裝置提供了一個通訊堆棧。它支援多種標準和協議,包括IPv6、oBIX、6LoWPAN、受限應用協議(Constrained Application Protocol)和高效XML交換。官方網站上的幾段視頻示範了它是如何實際工作的。
相關網站:https://code.google.com/p/iotsys/
20. OpenIoT
OpenIoT網站解釋,這個項目“是一個開源中介軟體,用於擷取來自感應器雲的資訊,沒必要操心具體使用什麼感應器。”它旨在能夠實現雲端式的“感知即服務”,已開發了諸多用例,面向智慧農業、智能製造、城市群體感知、智慧生活和智能校園。其支援者包括:雅典資訊技術學院(AIT)、洛桑聯邦理工學院(EPFL)、弗勞恩霍夫光電系統技術和影像處理研究院、SENSAP Microsystems AE、AcrossLimits、聯邦科學與工業研究組織、薩格勒布大學電氣工程和電腦學院以及愛爾蘭國立大學高威分校。
相關網站:http://openiot.eu/
作業系統篇
21. AllJoyn
這個面向物聯網的開源作業系統最先由高通公司開發,現在得到了最負盛名的物聯網組織之一AllSeen Alliance的支援,其成員包括Linux基金會、微軟、LG、高通、夏普、松下、思科、賽門鐵克及另外諸多知名公司。它包括一個架構和一套服務,讓製造廠商得以製造出相容裝置。它具有跨平台的特點,擁有面向安卓、iOS、OS X、Linux及Windows 7的API。
相關網站:https://allseenalliance.org/developer-resources/alljoyn-open-source-project
22. Contiki
Contiki自詡為“面向物聯網的開源作業系統”。它將低功耗微控制器串連到互連網,支援IPv6、6lowpan、RPL和CoAP等標準。其他主要功能包括:高效的記憶體配置、全IP連網、非常低的功耗、動態模組載入及更多特性。支援的硬體平台包括Redwire Econotags、Zolertia z1 motes、意法半導體開發套件和德州儀器晶片及板卡。還提供收費的商業支援服務。
相關網站:http://www.contiki-os.org/
23. Raspbian
雖然Raspberry Pi其本意是作為一種教學裝置,但許多開發人員已開始使用這種信用卡大小的電腦用於物聯網項目。完整的硬體規範並非開源,但大部分軟體和說明文檔是開源的。Raspbian是一款流行的Raspberry Pi作業系統,基於Linux的Debian發行版。
相關網站:http://raspbian.org/
24. RIOT
RIOT號稱是“面向物聯網的友好的作業系統”。RIOS由FeuerWhere項目派生而來,於2013年首次亮相。它旨在既對開發人員友好,又對資源友好(即佔用較少資源)。它支援多種架構,包括MSP430、ARM7、Cortex-M0、Cortex-M3、Cortex-M4和標準的x86 PC。
相關網站:http://riot-os.org/
25. Spark
Spark是一款雲端式計算的分布式物聯網作業系統。同一家公司還提供便於使用的硬體開發套件及相關產品,起價只有39美元(硬體設計也是開源的)。它包括:基於Web的IDE、命令列介面、支援多種語言,以及可與許多不同的物聯網裝置相容的程式碼程式庫。它有一個非常活動的使用者社區,還提供了大量說明文檔和線上協助。
相關網站:https://www.spark.io/
////物聯網的作業系統2
1. ARM宣布了針對物聯網低功耗裝置的作業系統mbed OS。mbed OS部分開源,其餘部分控制在ARM手中,理由是為了確保作業系統不會片段化。ARM聲稱mbed OS只需要256kb記憶體,它希望開發商能能使用mbed開發電池使用壽命長達數年的裝置。mbed OS將免費提供給所有廠商使用。在物聯網領域,mbed面臨多個競爭者的挑戰,
2. 通用電氣的 Predix
通用電氣表示會斥資超過10億美元,以加強來自旗下40個工業互連網服務品質。通用電氣目前每天監控和分析5千萬個資料點,來自1千萬個感應器,感應器所屬的裝置總管理資產值達10000億美元。
英特爾和思科是同盟成員,兩家公司將與通用電氣合作打造“Predix就緒”(Predix Ready)的裝置,其中包括來自感應器、裝置、雲端式服務