閱讀52 返回首頁    go 阿裏雲 go 技術社區[雲棲]


[玩轉IOT]未來已來_準備篇

忽如一夜春風來,千樹萬樹梨花開。GXIC大賽之後迷戀上了單片機,從隊友那裏拿來一套把玩了下,隨時把玩的深入,發現IOT已深入到生活的每個角落,並悄悄的改變著我的習慣,影響著我的生活,我也深陷其中無法自拔。

引子

2014年一次偶然的桌球比賽接觸到樹莓派(圖一),拿到派就被他的小巧所吸引,後續出了3代樹莓派陸續入手3個,樹莓派上可以折騰的NAS,電視盒,LAMP,網盤基本上都玩了一遍(圖二),後來玩派遇到性能瓶頸,主要是樹莓派上搭建gitlab和Docker受製於內存和係統,基本無法使用,叢淘寶配置了一台E3-1231V3的16G主機作為服務器獨立使用,並把整體環境遷移到新的主機上。

extends.jpg
(圖一)

jiagou.png
(圖二)

玩派的基本多會做電控實驗,大學裏麵沒有學單片機課程,當時就是覺得樹莓派控製家裏的電器成本太高,基本一套下來都要250-300左右,然後就是傳統的HTTP協議,雖然可以通過node js在派上實現,但是真心不好用,直到GXIC接觸到了ESP8266 單片機(圖三),接觸到MQTT,接觸到NB-IOT和Lora網關,所有的疑惑都一下子解開了。

TB2iB9FaRP8F1Jjy1zjXXa1WVXa_!!1061122172.jpg_400x400.jpg
(圖三)

關於IOT的二三事

其實這真的不是一個新鮮的東西,且聽我慢慢說來。馬路上的監控攝像頭和家裏的水表電表就是一個物聯網設備,他們都有一個終端能夠采集數據並傳送到遠端。

萬物互聯:物聯網是什麼

“物聯網”一詞最早由 Kevin Ashton 在1999年提出。當時 Kevin 在寶潔公司從事供應鏈優化工作,他使用了一種新技術 RFID(射頻識別),以此建立一個連接物體的無線網絡。雖然現代的物聯網主要是基於其他技術,Kevin 提出的物聯網概念卻依然得到廣泛地采用,不斷深入人心。
network-782707_1280-e1499765296590.png

根據 BI Intelligence 的定義 ,物聯網是 “能夠使用嵌入式傳感器收集和交換數據的互聯網對象網絡”。 簡單地說,基本上任何通過無線連接到互聯網的物理對象都可以被認為是物聯網生態係統。

Amazon Dash Button

2015 愚人節前Dash Button正式上市,它可以讓用戶通過簡單的一按就完成商品購買。每一個按鈕上麵都有廠商的商標,例如Huggies或是Tiede等,使用亞馬遜的手機端應用,用戶可以選擇每次按下之後所購買商品的類別,以及每次購買商品的數量。

我理解的IOT

將物連接到網絡,通過內置的傳感器,將采集到的數據傳送到雲端,通過大計算幫助人更好的決策。

屏幕快照 2017-09-14 下午8.20.21.png

這其中設備聯網隻是萬裏長征的第一步,聯網隻是手段,目的是獲取數據。數據獲取之後通過網絡傳輸到雲端,並通過雲端提供的大計算能力分析這些數據,基於數據分析能力得出的結論向設備下發指令,使得設備更加智能。基於感知的延伸和數據分析,幫助人更快更高效的做出決策。大計算和雲數據是必備條件,這兩項能力使得機器具備智能控製的能力,這個過程中獲取和產生的數據又將反哺我們,幫助我們提前預判發現問題。

通過以上分析不難得出具備以下特性才可以稱之為物聯網,缺一不可:

  • 基於傳感器的感知能力
  • 基於新型網絡協議的聯網能力
  • 基於雲數據和大計算的綜合處理能力

為什麼使用單片機而非單片係統

主要是基於成本考慮,物聯網時代入網的設備量會非常大,有些是家庭設備具備交流電和WiFi環境,有些設備是在野外基於太陽能供電,不具備WiFi條件。綜合從成本,能耗方麵更加推薦大家從單片機入手學習,真正的工業級應用也不推薦大家去用Ruff和Espruino開發。

後麵會給到大家Arduino下麵做Led亮燈的代碼,看過之後大家也會有自己的判斷了。

|設備|價格(元)|WiFi|GPIO|編程語言|是否商用|社區支持|
|:------|:------|:------|:------|:------|:------|
|ESP 8266 單片機|40|有|有|C|是|強大|
|Ruff 套件|298|有|有|JS|否|剛開始|
|Espruino 套件|400|有|有|JS|否|國內少|

家用中心服務器搭建

百兆帶寬入戶現在基本都可以達到,家用的路由配合千兆交換機實現數據交換,SS直接路由器配置全局翻牆,路由器進行端口映射實現中心服務器入網,總體成本基本4K搞定。

網絡拓撲圖

基於6類有線網,配合無線路由實現混合組網,有網口的設備全部接入網件千兆交換機,終端可以訪問中心服務器上NAS資源和各種音視頻,圖片文件,配合網盤可以實現資源共享,隻有中心服務器對外提供服務,其它設備一律內網訪問。

屏幕快照 2017-09-15 上午12.49.39.png

屏幕快照 2017-09-15 上午12.08.19.png

同時在路由上進行端口映射實現中心服務器透出到公網。

服務器搭建

服務器投資成本在3.5K左右,裝Debian係統,實現開機自動定時上報IP到指定郵箱,防止斷網重連IP切換的問題。
屏幕快照 2017-09-15 上午12.04.09.png

屏幕快照 2017-09-15 上午12.46.34.png

接下來就是各種開源的軟件預裝,我的預裝清單:

  • 下載 aira2、遠程迅雷
  • 網盤 ownCloud
  • NAS samba
  • 代碼托管 gitlab
  • MQTT服務 EMQ
  • web服務站 LNAMP
  • Java環境 JDK1.8 Tomcat
  • Node 實時監控 keymetrics(上手簡單,監控直觀)
  • 服務器監控 netdata(超詳細的服務器信息監控)
  • 多媒體電視盒 OSMC(Apple TV就是基於這個訂製的)

Linux開源的好處就是你可以很容易找到各種你需要的軟件,很方便的通過簡單的配置就可以架設好你的服務。

經過以上準備,無論是你是用樹莓派還是獨立主機搭建,我們基本有了一套可以入網的實驗環境,這套環境將在我們後續的實驗中為我們提供所有的依賴。

下篇協議篇介紹物聯網的相關傳輸協議,基於Debian搭建MQTT服務,盡請期待 : )

最後更新:2017-09-30 23:04:30

  上一篇:go  CIO指南:如何使用 SAP HANA® 平台處理大數據
  下一篇:go  網絡安全險 這塊保險業的金礦有點大