現(xiàn)在人人都在談論物聯(lián)網(wǎng),物聯(lián)網(wǎng)是新一代信息技術的重要組成部分,也是“信息化”時代的重要發(fā)展階段。在上個世紀末1999年由美國人提出物聯(lián)網(wǎng)的概念,現(xiàn)在物聯(lián)網(wǎng)最大的機遇可以已經(jīng)到來。
要知道物聯(lián)網(wǎng)的核心和基礎仍然是互聯(lián)網(wǎng),操作系統(tǒng)是底層的核心部分,說到物聯(lián)網(wǎng)不得不提就是物聯(lián)網(wǎng)操作系統(tǒng),這里我們主要分享一下一些物聯(lián)網(wǎng)開發(fā)者的開發(fā)歷程和體驗。
創(chuàng)客談Ruff 開發(fā)體驗
跟Ruff的初識,是在2016年10月的復旦大學HACKxFDU創(chuàng)客馬拉松,當時Ruff是其中一個硬件贊助,本來活動開始之前,我們隊打算做點大疆無人機方面的開發(fā),所以在考慮用Arduino加WiFi模塊。不過HACKxFDU沒那么給力,問來問去沒有WiFi模塊。
但是要實時的數(shù)據(jù)反饋的話,總不能用數(shù)據(jù)線連著Arduino裝在無人機上面飛來飛去吧……本來都放棄做無人機相關的開發(fā)了,不過隊長發(fā)現(xiàn)Ruff可以很好替代Arduino。板載WiFi熱點可以說是相當合我們意。
除了板載WiFi,它的開發(fā)優(yōu)勢也很明顯,那時候我屬于Arduino剛剛入門,硬件懂一點點,接線這些完全不行,沒有教程怎么都搞不懂……當時我和隊友兩個高中生,有一點懵逼。不過正因為這個原因,我拿到Ruff的時候就覺得,這個命令簡直拯救滄桑:
rap layout --visual
說到這還是簡單介紹下Ruff吧,這是一個支持 JavaScript 開發(fā)應用的物聯(lián)網(wǎng)操作系統(tǒng)。也有一款基于JavaScript的物聯(lián)網(wǎng)開發(fā)套件。我來評價的話,就覺得Ruff對新手小白很友好。它對硬件進行了抽象,使用了基于事件驅(qū)動、異步 I/O 的模型,使硬件開發(fā)變得輕量而且高效。
而現(xiàn)在新版的官網(wǎng),比之前的感覺更加簡潔,UI也有明顯提升
這是當時拿到的顏值相當高的Ruff的盒子。作為半吊子設計師來說,我還是相當喜歡的。
這就是Ruff的板子了,大概是Arduino的兩倍那么大,比樹莓派也還稍微大一點,但還是相當方便的,不虛。
認識了Ruff就開始正經(jīng)地玩起來了,首先從它的開發(fā)過程開始吧。
跟著官方教程走的話,所有步驟都還是蠻簡單的,官方教程的話可以在官網(wǎng)的起步走找到,跟著它一步一步走,就像小孩子學走路一樣,開發(fā)也變得很簡單。
不過首先要下載Ruff的SDK。 Ruff SDK 根據(jù)自己電腦的版本和OS來選就行了,很方便,官網(wǎng)上就可以下載。
然后在命令行里面輸入一下這個命令,確保該裝的都搞定了:
rap --version
準備工作做好,開始項目。我當時沒跟著官方教程做“Hello Ruff”的項目。我當時用到的是溫濕度,光亮,大按鈕,和蜂鳴器幾個設備,所以最先做的是把幾個設備的模塊從命令行中加入到自己在做的項目(文件夾)中:

rap是Ruff軟件包的一個管理器,所有關于上面用到的幾個模塊的具體信息都可以在Ruff官網(wǎng)的軟件包倉庫里面找到。
選了這些模塊的最新版本就可以接著走了。當然也可以跟著官方發(fā)布的示例走。

這就是通過這個命令打開的頁面:
照著這個圖來接線就差不多可以了,不過也可以自定義接線,在頁面上拖拽板子上線條連接的小白點到其他地方連接上就可以了??傊畬τ诋敃r的我來說真的就是拯救滄桑,不過現(xiàn)在好多了,又打了四場創(chuàng)客馬拉松之后現(xiàn)在也有第二名的小成就了,接線姑且還算是過關了吧。
以上差不多就是硬件這邊所有的內(nèi)容了,下面就是代碼部分。





?
硬件和軟件部分都說完了,就來說說到底是怎么玩Ruff板子的。


?
這就是terminal里面一些當時我的傳感器的回饋,無視日期就行了,當時我電腦時間有點問題,沒有在時間旅行……
不過,如果你會更喜歡一些顏值比較高的用戶平臺的話,可以試試這個,Ruff另一個用起來我很喜歡的特點,就是這個用戶平臺。連接到板子的熱點之后在瀏覽器里面輸入這個IP就行了738.702.12.7,然后你就會看到這樣一個界面:
經(jīng)過上面過程,最終給大家展示了無人機項目成果:
?
這里是我們最后創(chuàng)客馬拉松產(chǎn)品的樣子。整個項目其實是一個用了無人機來檢測并預防早期的森林山火的系統(tǒng)。它用了大疆無人機的攝像頭每隔十秒傳回一張圖片,并用Clarifai的API去識別圖內(nèi)任何和火相關詞匯的匹配度。
和其他我們裝在無人機上面的傳感器和在一起,我們可以比較好地區(qū)估計一塊區(qū)域有火苗/火焰出現(xiàn)的可能性,有的話程序會去通知人類,那么由我們?nèi)ト斯ご_認山火是否陽性,是的話就借助無人機的機動性四處通知周圍人員,如此一來就不用人力監(jiān)控森林山火,耗時耗力,總體來說是一個便宜不少的解決方案。
無人機也比其他的監(jiān)測系統(tǒng)來得要靈活的多,比如說衛(wèi)星,所以在通知周圍人員這個例子上,無人機可以很好地在火源周圍做廣播。而因為森林火災如果擴大,會在財產(chǎn)以及人員上會造成極大的損失,所以總體我們還是對自己的提出的解決方案挺滿意的,而Ruff在我們快速制作產(chǎn)品原型的過程中則是幫了大忙。這個項目最后進了決賽成了前九,六十個大學隊伍里面唯一的只有兩個人的高中隊伍,作為第一次創(chuàng)客馬拉松,還是不錯的成績,同時我們還獲得了大疆企業(yè)創(chuàng)新獎,拿了個Osmo,總體還是相當開心的。
說到這,已經(jīng)把我的Ruff 開發(fā)過程回顧了一遍,中間也遇到了一些問題,但是最后的結果還是不錯的。這里也總結幾小點來供新的開發(fā)者來參考
1.Ruff不是所有設備都有驅(qū)動的,但是驅(qū)動是可以自己寫的,Ruff官方網(wǎng)站也有教程。
2.上手相當簡單,像起步走這種完全是小白的福音
3.容易上癮,當有了第一次就想一直開發(fā)新的應用
4.就這次創(chuàng)客馬拉松來說我覺得比樹莓派方便一點,感覺有一點點像Arduino和樹莓派的結合,當然樹莓派有其它好處
5.顏值很高,這是個人的喜好
6.有兩個設備的ID印刷的和軟件包倉庫里面的不一樣,溫濕度是“DHT77”,但是設備上印刷的是“DH77”。大按鈕是“CK448”,但是設備上印刷的是“CK-448”,所以當時花了點時間去確定。
小貼士:以上這個問題可以通過查詢官網(wǎng)軟件包倉庫來解決。如果你想了解更多或是有疑問的話,也可以去Ruff官網(wǎng)或者是電子發(fā)燒友網(wǎng)論壇與其他創(chuàng)客一起探討。
電子發(fā)燒友App






評論