運用DragonBoard 410c開發(fā)板接入物聯(lián)網(wǎng)云服務
前段時間入手一臺Dragon Board410c的開發(fā)板。雖然功能強大,而且還是高通自家產(chǎn)品,無線基帶很是不錯, 但是由于自己對這網(wǎng)絡與運維理解不是很透徹,所以還是沒辦法完全發(fā)揮其全部的實力。 去年有申請了云服務器試用。 離試用期結束還有一個多月的時間,剛好發(fā)現(xiàn)在官網(wǎng)提供了IoT物聯(lián)網(wǎng)設備的云服務, 經(jīng)過了解于是打算將自己的410c開發(fā)板連接到云服務上,測試一下410c的網(wǎng)絡功能與吞吐能力。
本文引用地址:http://m.butianyuan.cn/article/201710/365527.htm首先介紹一下需要的設備吧: DragonBoard 410c一塊 + 云服務器
第一步: 準備物聯(lián)網(wǎng)云服務
首先我們需要在物聯(lián)網(wǎng)平臺服務實例中創(chuàng)建一個新的實例:
添加設備
接下來我們需要創(chuàng)建一個OrganizaTIon,也就是410c的設備集群。當我們通過Bluemix創(chuàng)建好組織后, 我們就可以注冊并添加設備
- 首先在物聯(lián)網(wǎng)服務組織的dashboard上點擊Add a your device按鈕
- 然后根據(jù)屏幕上的提示進行設置
在注冊設備的時候我們還需要編寫如下的設備信息:
- 組織ID
- 設備種類ID
- 設備ID
- 認證方法
- 認證口令
第二部:配置DragonBoard 410c
在410c中下載一個MQTT-client應用
為了安裝物聯(lián)網(wǎng)平臺的客戶端庫以及MQTT-client應用,我們需要按照下面的步驟進行安裝:
首先是安裝最新版本的庫, 在命令行中輸入如下指令:
[root@localhost ~]# git clone https://github.com/ibm-messaging/iotf-embeddedc.git
從下載后的壓縮文件中提取出代碼
cd iotf-embeddedc
tar xvzf org.eclipse.paho.mqtt.embedded-c-1.0.0.tar.gz
客戶端代碼的結構如下所示
|-lib - contains all the dependent files
|-samples - contains the helloWorld and sampleDevice samples
|-sample device.c - sample device implementaTIon
|-helloworld.c - quickstart applicaTIon
|-README.md
|-Makefile
|-build.sh
|-iotfclient.c - Main client file
|-iotfclient.h - Header file for the client
搭建MQTT-client應用
首先進入到案例目錄下并執(zhí)行Make指令
cd iotf-embeddedc/samples
make
屏幕上可看到如下的輸出
cc sampleDevice.c -I ./https://developer.ibm.com/recipes/ -I ./https://developer.ibm.com/recipes/lib ./https://developer.ibm.com/recipes/iotfclient.c ./https://developer.ibm.com/recipes/lib/MQTTClient.c ./https://developer.ibm.com/recipes/lib/MQTTLinux.c ./https://developer.ibm.com/recipes/lib/MQTTFormat.c ./https://developer.ibm.com/recipes/lib/MQTTPacket.c ./https://developer.ibm.com/recipes/lib/MQTTDeserializePublish.c ./https://developer.ibm.com/recipes/lib/MQTTConnectClient.c ./https://developer.ibm.com/recipes/lib/MQTTSubscribeClient.c ./https://developer.ibm.com/recipes/lib/MQTTSerializePublish.c ./https://developer.ibm.com/recipes/lib/MQTTConnectServer.c ./https://developer.ibm.com/recipes/lib/MQTTSubscribeServer.c ./https://developer.ibm.com/recipes/lib/MQTTUnsubscribeServer.c ./https://developer.ibm.com/recipes/lib/MQTTUnsubscribeClient.c -o sampleDevice
strip sampleDevice
配置MQTT-client應用的連接參數(shù)
為了能讓MQTT-client應用能夠連接到Watson物聯(lián)網(wǎng)服務中, 我們需要將步驟一中的參數(shù)傳遞給連接參數(shù)。 連接參數(shù)可以通過命令行進行修改,或者直接在設備配置文件中進行修改:
打開設備配置文件:iotf-embeddedc/samples/device.cfg
nano iotf-embeddedc/samples/device.cfg
添加第一部中我們設置好的參數(shù)
org=$orgId
type=$myDeviceType
id=$myDeviceId
auth-method=$token
auth-token=$token
啟動案例MQTT-client應用
啟動應用后,我們就可以連接到服務,而且我們能夠看到如下的輸出
ConnecTIng to registered service with org your org>
Publishing the event stat with rc 0
Publishing the event stat with rc 0
Publishing the event stat with rc 0
...
最后一步:在物聯(lián)網(wǎng)平臺的DashBoard上認證連接設備
一旦Client-app啟動,我們就可以在IoT的DashBoard上配置設備并且驗證連接與數(shù)據(jù)了:
首先登陸到賬號并開啟IoT的DashBoard
我們能在Board上看到傳輸來的JSON信息
總結
這次實驗演示了:MQTT-client應用的發(fā)布以及設備上IoT云服務的開啟。 接下來我們就可以基于410c與平臺進行擴展與開發(fā)應用了。
我聯(lián)想到了多種可能的方案,以供參考:
1、擴展MQTT-client應用,從而訪問DragonBoard硬件
- 讀取DragonBoard410c的硬件狀態(tài)
- 讀取所連接的傳感器的值
- 控制所連接的運動器(如LED、馬達等
2、通過結合云服務與其他應用來擴展云端的容量,并與其他設備進行互動
- 數(shù)據(jù)可視化
- 數(shù)據(jù)存儲
- 數(shù)據(jù)分析
評論