IoT(Internet of things)物聯網入門介紹


1、什么樣的物可以入網?

  • 要有數據傳輸通路
  • 要有一點的存儲功能
  • 要有CPU
  • 要有操作系統
  • 要有專門的應用程序
  • 遵循物聯網的通信協議
  • 在網絡世界中有可被識別的唯一編號

2、MQTT協議

不是在說物聯網嗎?為啥扯到協議啥的?

其實互聯網的本質也是通過網絡、協議將海量主機進行連接的,物聯網也不例外。但是物聯網不太需要電腦主機那樣強大的、多元的計算能力,物聯網的“物”一般功能都是比較單一的,比如傳感器只需要采集指標、攝像頭拍視頻等。

所以最簡單的物聯網只需要在聯網的“物”上加上一個可入網、可收發消息或者更厲害一點:能進行計算的芯片,就可以達到入網的效果了。簡單理解,物聯網協議就是“物”與網之間的橋梁,MQTT協議就是其中比較具有代表性的一種。

  • MQTT協議是IBM針對物聯網提出的一種輕量級協議,建立於TCP/IP層協議之上。是物聯網的重要組成成分,可能會成為物聯網的事實標准。
  • MQTT協議具有QoS(Quality of Service,服務質量),能夠緩沖消息,並通過重傳機制保證終端設備收到消息。其消息格式極其簡化,最短是兩個字節,提供訂閱式和發布模式,高效推送消息。
  • 三角色:服務器代理、訂閱者、發布者
  • QoS:
    • 零級(至多交付一次信息),如傳感器
    • 一級(至少交付一次信息),確保消息到達
    • 二級(准確一次交付信息),如計費系統

3、Apache Apollo服務器

  看名字可以知道,Apache Apollo是一個開源的東西,它就是早期的代理服務器,是在ActiveMQ基礎上發展而來的,可以支持STOMP、AMQP、MQTT、Openwire、SSL、WebSocket等多種協議。

  不過,Apache Apollo服務器已經停止維護了。而且網上研究這個的也不多。

4、Apache Artemis服務器

  替代Apollo的就是Artemis了。操作指令與Apollo類似,網上文檔也比較齊全,按照教程也可以很快就搭建一個服務器出來。Linux和Windows都可以搭建的服務器。

單機版搭建流程如下:

  1. 下載,解壓
  2. 創建broker代理:artemis create xxx
  3. 啟動代理:xxx/bin/artemis run
  4. 外網訪問配置

修改bootstrap.xml

<web bind="xxx.xxx.xxx.xxx:61610" path="web">
    <app url="activemq-branding" war="activemq-branding.war"/>
    <app url="artemis-plugin" war="artemis-plugin.war"/>
    <app url="console" war="console.war"/>
</web>

修改jolokia-access.xml

<allow-origin>*</allow-origin>

  5.遠程JMX訪問

出於安全原因,默認情況下,禁用對Artemis的遠程JMX訪問。Artemis有一個JMX代理,該代理允許遠程訪問JMX mBean。通過配置文件中的connector元素進行  management.xml配置

 <connector connector-port="1099"  connector-host="xxx.xxx.xxx.xxx"  rmi-registry-port="(如果不設則任意生成)" />

注意:rmi注冊表將選擇一個要綁定的IP地址。如果系統上存在多個IP地址/ NIC,則可以通過在artemis.profile中添加以下內容來選擇要使用的IP地址: -Djava.rmi.server.hostname=localhost

5、阿里雲MQTT消息隊列服務

  這個很好用,也不是很貴,因為開源的服務器雖然不要錢,但研究起來總是要費一番功夫的,而且還需要自己運維。如果在資金充足的情況下,直接使用現成的服務也是很好的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM