1
| 本文作者: 水水 | 2015-02-11 17:06 |
在IoT時(shí)代,一套智能硬件項(xiàng)目需要跨越以前軟件和硬件,設(shè)備和網(wǎng)絡(luò)的界限。一套完整的智能硬件開發(fā)需要以下幾個(gè)方面:設(shè)備硬件、設(shè)備軟件、云端服務(wù)器和手機(jī)APP。
對(duì)于上述四個(gè)層面,我們陸續(xù)看到不同的解決方案,旨在降低相應(yīng)領(lǐng)域的門檻。比如說,像Arduino、樹莓派這樣的開源硬件,就是降低硬件開發(fā)難度的產(chǎn)物。對(duì)于云端服務(wù)器來說,在過去的一年里,我們也看到不少團(tuán)隊(duì)在這方面努力,比如機(jī)智云,還有今天要向大家介紹的免費(fèi)開源的物聯(lián)網(wǎng)云平臺(tái)項(xiàng)目IoTgo。
IoTgo實(shí)現(xiàn)無需懂服務(wù)器前/后臺(tái)開發(fā),就可以簡(jiǎn)單開發(fā)服務(wù)器:像用Arduino,不用懂硬件和嵌入式軟件,就能簡(jiǎn)單開發(fā)。 IoTgo項(xiàng)目還通過適配Arduino,樹莓派等開源硬件,提供庫,開發(fā)包和范例代碼,來幫助簡(jiǎn)化硬件和軟件的開發(fā)難度。IoTgo 后續(xù)還會(huì)發(fā)布開源的App,讓一個(gè)無App開發(fā)基礎(chǔ)的愛好者簡(jiǎn)單看看樣例就能實(shí)現(xiàn)。
現(xiàn)在的云平臺(tái)并不少,為何再“另起爐灶”?
Arduino 和樹莓派這類開源硬件的出現(xiàn),大大降低了設(shè)備硬件/設(shè)備軟件部分的開發(fā)難度,節(jié)約時(shí)間和成本,支持更多人進(jìn)來折騰。但是當(dāng)創(chuàng)客想做一套IoT的智能設(shè)備,設(shè)備端可以簡(jiǎn)單的用開源硬件做出來,不過云端服務(wù)器問題,他們還是希望盡可能的簡(jiǎn)單:所以出現(xiàn)了類似Yeelink ,樂聯(lián)網(wǎng)這樣的免費(fèi)云平臺(tái),他們幫助開發(fā)者解決了服務(wù)器側(cè)的開發(fā),開放了接口,提供免費(fèi)的云端服務(wù)器服務(wù),甚至為熱門的開源硬件提供了代碼庫,這樣可以讓愛好者、開發(fā)者很容易的就將自己的智能設(shè)備連網(wǎng)上,并進(jìn)行通訊,進(jìn)而實(shí)現(xiàn)一些簡(jiǎn)單的功能:如遠(yuǎn)程開關(guān)燈,遠(yuǎn)程查看溫濕度,遠(yuǎn)程紅外遙控電視空調(diào)等。
但是在網(wǎng)上,能找到這樣的物聯(lián)網(wǎng)開源項(xiàng)目不多,一個(gè)原因當(dāng)然是因?yàn)樗容^小眾的需求,很多人會(huì)搭論壇建網(wǎng)店,但是很少人沒事建云服務(wù)器;另一個(gè)原因是這樣的平臺(tái)還涉及了硬件的部分, 很少能有人同時(shí)精通硬件部分又精通互聯(lián)網(wǎng)部分,這需要一個(gè)團(tuán)隊(duì)來做。我們最開始也是使用Yeelink提供的免費(fèi)云服務(wù)區(qū)來DIY自己的遠(yuǎn)程設(shè)備,像遠(yuǎn)程溫濕度計(jì),遠(yuǎn)程開關(guān)。后來我們開始接到一些客戶的定制項(xiàng)目,發(fā)現(xiàn)這些免費(fèi)云平臺(tái)已經(jīng)無法滿足我們的需求了,在網(wǎng)上當(dāng)時(shí)又找不到合適的開源云平臺(tái)框架,只好為客戶重新開發(fā)了一套云服務(wù)器平臺(tái)。在給幾個(gè)客戶完成了幾個(gè)不同的物聯(lián)網(wǎng)項(xiàng)目后,我們發(fā)現(xiàn)其他底層框架都大同小異,只要稍微修改就能適用于各種“智能”硬件。現(xiàn)在的所謂智能硬件功能太單一,我們將這部分內(nèi)容提取出來,做出了這個(gè)云平臺(tái)框架,并將它開源托管到github上去,這樣如果還有其他開發(fā)者需要開發(fā)一個(gè)智能設(shè)備的云端服務(wù)器的話,就可以直接下載安裝并修改了,很多基礎(chǔ)部分無需從零開始。
和現(xiàn)有的云平臺(tái)相比,IoTgo的特點(diǎn)是什么?
主要分為三點(diǎn):
1. 國(guó)內(nèi)應(yīng)該是第一個(gè)開源的IoT云平臺(tái)項(xiàng)目,與國(guó)內(nèi)很多開源云平臺(tái)相比,它是開源全部代碼。它不是讓用戶在淘寶上開個(gè)網(wǎng)店,而是在互聯(lián)網(wǎng)上用軟件自己搭一個(gè)網(wǎng)店。
2. 支持主流幾個(gè)物聯(lián)網(wǎng)協(xié)議,比如MQTT、CoAP等。
3. 不僅提供服務(wù)器端開源代碼,還提供設(shè)備端硬件開源設(shè)計(jì)范例,設(shè)備代碼范例,甚至開源的手機(jī)app范例。
如何促使產(chǎn)品能夠被開源社區(qū)傳播出去?
如果僅僅將代碼開源,讓有需要的用戶去搭建使用,那么早期在傳播上的局限性是很大的,所以我們也使用Arduino, RPI 等開源硬件,制作了幾個(gè)跟IoTgo平臺(tái)進(jìn)行交互的實(shí)例,并發(fā)布能簡(jiǎn)化硬件部分代碼開發(fā)的Arduino庫和SDK。甚至是開源的手機(jī)示例APP代碼。正如我們說的,IoTgo 開源的不僅僅是一個(gè)服務(wù)器端代碼,而是包括了硬件參考設(shè)計(jì),硬件端范例代碼和手機(jī)app代碼的一整套生態(tài)鏈。
這個(gè)項(xiàng)目現(xiàn)在還在Beta階段,項(xiàng)目負(fù)責(zé)人表示年后會(huì)發(fā)布正式版本。希望有更多的人來了解和參與到項(xiàng)目中來。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。