2018-05-17 sitewhere 對接 MQTT 設(shè)備

本文描述如何將 物聯(lián)設(shè)備 通過 MQTT協(xié)議 與 sitewhere 對接起來。

環(huán)境準備

在Ubuntu系統(tǒng)里,安裝 sitewhere docker。在docker hub上已經(jīng)有了sitewhere image。

sudo docker pull sitewhere/standalone:1.8.0

特別要注意的就是要指定版本。另外,安裝的是standalone版本。

sudo docker run -p 80:8080 -p 1883:1883 -p 61623:61623 sitewhere/standalone:1.8.0

使用上面的命令啟動sitewhere。

啟動后,就可以通過瀏覽器訪問 sitewhere web console。

MQTT client

在Ubuntu上安裝mosquitto。

發(fā)送MQTT消息

sitewhere standalone版本里,包含了mqtt broker。所以,可以直接向sitewhere 發(fā)送MQTT消息。

準備下面的數(shù)據(jù),保存到 loc.json文件。

{
"hardwareId": "7c1c95e9-eb01-422f-9aec-fd64094d01e3",
"type":"DeviceLocation",
"request": {
"latitude": "33.75",
"longitude": "-84.39",
"elevation": "0",
"updateState": true,
"eventDate": "2018-05-17T19:40:03.390Z"
}
}

mosquitto_pub -h 127.0.0.1 -f loc.json -t SiteWhere/input/json

sitewhere會在它的 mqtt broker 里訂閱 sitewhere/input/json 主題。所以,要向這個topic發(fā)消息。消息數(shù)據(jù)中的 hardwareId,是在sitewhere里定義的 device 。 sitewhere安裝好后,里面有一個例子。這里的這個hardwareId就取自例子中的一個 device。
發(fā)送了消息后,我們就可以在sitewhere中看到。


a.png

我們還可以發(fā)送 Alert 消息:

{
"hardwareId": "7c1c95e9-eb01-422f-9aec-fd64094d01e3",
"type":"DeviceAlert",
"request": {
"type": "engine.overheat",
"level": "Warning",
"message": "The engine is about to overheat! Turn the machine off!",
"updateState": false,
"eventDate": "2018-05-17T19:40:03.391Z",
"metadata": {
"name1": "value1",
"name2": "value2"
}
}
}

b.png

發(fā)送數(shù)據(jù)格式可參考 http://documentation.sitewhere.io/userguide/sending-data.html

物聯(lián)設(shè)備狀態(tài)變更,觸發(fā)事件

上面的Alert,是外部設(shè)備直接發(fā)來的 Alert 消息。如果需要支持 condition trigger,需要與openHAB集成。

sudo docker pull openhab/openhab:2.2.0-amd64-debian

https://groups.google.com/forum/#!topic/sitewhere/w5Obz3MjHkU
https://docs.openhab.org/installation/docker.html#obtaining-the-official-image-from-dockerhub
http://documentation.sitewhere.io/integration/openhab.html

== 待繼 ==

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一:前言 最近在了解MQTT協(xié)議相關(guān)的內(nèi)容,內(nèi)容有點多,特此把MQTT協(xié)議,以及其從服務(wù)端到客戶端的流程整理出來...
    子夏的不語閱讀 70,787評論 9 92
  • 導語 翻譯自iot in five days 8.2 MQTT是什么?MQTT(formerly MQ Telem...
    happy1993閱讀 6,715評論 1 14
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評論 19 139
  • MQTT全稱Message Queue Telemetry Transport,是一個針對輕量級的發(fā)布/訂閱式消息...
    tripleCC閱讀 14,878評論 6 11
  • ** 今天看了一下kafka官網(wǎng),嘗試著在自己電腦上安裝和配置,然后學一下官方document。** Introd...
    RainChang閱讀 5,157評論 1 30

友情鏈接更多精彩內(nèi)容