一步步搭建物聯網系統

jopen 9年前發布 | 43K 次閱讀 物聯網

設計物聯網系統是件有意思的事情,它需要考慮到軟件、硬件、通訊等多個不同方面。通過探索不同的語言,不同的框架,從而形成不同的解決方案。

在這里,我們將對設計物聯網系統有一個簡單的介紹,并探討如何設計一個最小的物聯網系統。

1.1 目標讀者

目標讀者: 初入物聯網領域,希望對物聯網系統有一個大概的認識和把握,并學會掌握一個基礎的物聯網系統的設計。

  • 硬件開發人員,對物聯網有興趣。
  • 沒有web開發經驗
  • 幾乎為0的linux使用經驗
  • 想快速用于生產環境
  • 對硬件了解有限的開發人員。
  • 沒接觸過51、ARM、Arduino
  • 想了解以下內容:
  • RESTful與IOT
  • CoAP協議
  • MQTT

本文檔對一些概念(如)只做了一些基本介紹,以方便讀者理解。如果您想進一步了解這些知識,會列出一些推薦書目,以供參考。

1.2 不適合人群

  • 如果你是在這方面已經有了豐富經驗的開發者。
  • 不是為了學習而學習這方面的知識。

1.3 介紹

關于內容的選擇,這是一個有意思的話題,因為我們很難判斷不同的開發者用的是怎樣的語言,用的是怎樣的框架。

于是我們便自作主張地選擇了那些適合于理論學習的語言、框架、硬件,去除掉其他一些我們不需要考慮的因素,如語法,復雜度等等。當然,這些語言、框架、硬件也是最流行的。

  • Arduino: 如果你從頭開始學過硬件的話,那么你會愛上它的。
  • Raspberry PI: 如果你從頭編譯過GNU/Linux的話,我想你會愛上她的。
  • Python: 簡單地來說,你可以方便地使用一些擴展,同時代碼就表達了你的想法。
  • PHP : 這是一門容易部署的語言,我想你只需要在你的Ubuntu機器上,執行一下腳本就能完成安裝了。而且,如果你是一個硬件開發者的話,你會更容易地找到其他開發者。
  • Javascript : 考慮到javascript這門語言已經無處不在了,而且會更加流行。所以,在這里CoAP、MQTT等版本是基于Nodejs的。
  • HTML、CSS : 這是必須的,同樣,他們仍然無處不在。
  • GNU/Linux: 作為部署到服務器的一部分——你需要掌握他。當然如果你要用WAMP也是可以的。
  • CoAP: 用NodeJS構建IOT CoAP物聯網

1.3.1 為什么沒有C ?

如果你還想用C學理論的話,煩請出門左拐。我想,C并不適合于學習相關硬件的理論。

1.3.2 為什么不是JAVA ?

大有以下兩個原因

  • 學習JAVA的人很多,但是它不適合我們集中精力構建與學習,因為無關的代碼太多了。
  • 之前以及現在,我還是不喜歡JAVA (我更喜歡腳本語言,可以提高工作效率)。

1.4 如何閱讀

這只是一個小小的建議,僅針對于在選擇閱讀上沒有經驗的讀者。

當前狀態 建議
軟件初學者 從頭閱讀
硬件開發者 從頭閱讀
沒有web經驗的開發者 從第二部分開始

我們會在前面十章里簡單介紹一些必要的基礎知識,這些知識將會在后面我們構建物聯網系統時用到。

某一天,正走在回學校的路上的我突然想到:“未來將會是一個科技的時代——雖然現在也是——只是在未來,科技將會無處不在。如果我們依舊對周圍這些 無處不在的代碼一無所知的話,或許我們會成為黑客帝國之中被控制的普通人。”于是開始想著,有一天人們會像學習一門語言一樣開始學習編程,直到又有一天我 看到了學習編程如同學習一門語言的說法。這又恰好在我做完最小物聯網系統之后,算是一個有趣的時間點,我開始想著像之前做最小物聯網系統的那些步驟一樣, 寫一個簡單的入門。也可以補充好之前在這個最小物聯網系統缺失的那些東西,給那些正在開始試圖去解決編程問題的人。

https://github.com/phodal/designiot

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!