新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 運(yùn)用DragonBoard 410c開發(fā)板接入物聯(lián)網(wǎng)云服務(wù)

運(yùn)用DragonBoard 410c開發(fā)板接入物聯(lián)網(wǎng)云服務(wù)

作者: 時(shí)間:2017-10-11 來源:網(wǎng)絡(luò) 收藏

前段時(shí)間入手一臺(tái)Dragon Board410c的開發(fā)板。雖然功能強(qiáng)大,而且還是高通自家產(chǎn)品,無線基帶很是不錯(cuò), 但是由于自己對(duì)這網(wǎng)絡(luò)與運(yùn)維理解不是很透徹,所以還是沒辦法完全發(fā)揮其全部的實(shí)力。 去年有申請(qǐng)了云服務(wù)器試用。 離試用期結(jié)束還有一個(gè)多月的時(shí)間,剛好發(fā)現(xiàn)在官網(wǎng)提供了IoT設(shè)備的云服務(wù), 經(jīng)過了解于是打算將自己的410c開發(fā)板連接到云服務(wù)上,測(cè)試一下410c的網(wǎng)絡(luò)功能與吞吐能力。

本文引用地址:http://butianyuan.cn/article/201710/365527.htm

首先介紹一下需要的設(shè)備吧: DragonBoard 410c一塊 + 云服務(wù)器

第一步: 準(zhǔn)備云服務(wù)

首先我們需要在平臺(tái)服務(wù)實(shí)例中創(chuàng)建一個(gè)新的實(shí)例:

添加設(shè)備

接下來我們需要?jiǎng)?chuàng)建一個(gè)OrganizaTIon,也就是410c的設(shè)備集群。當(dāng)我們通過Bluemix創(chuàng)建好組織后, 我們就可以注冊(cè)并添加設(shè)備

- 首先在物聯(lián)網(wǎng)服務(wù)組織的dashboard上點(diǎn)擊Add a your device按鈕

- 然后根據(jù)屏幕上的提示進(jìn)行設(shè)置

在注冊(cè)設(shè)備的時(shí)候我們還需要編寫如下的設(shè)備信息:

- 組織ID

- 設(shè)備種類ID

- 設(shè)備ID

- 認(rèn)證方法

- 認(rèn)證口令

第二部:配置DragonBoard 410c

在410c中下載一個(gè)MQTT-client應(yīng)用

為了安裝物聯(lián)網(wǎng)平臺(tái)的客戶端庫以及MQTT-client應(yīng)用,我們需要按照下面的步驟進(jìn)行安裝:

首先是安裝最新版本的庫, 在命令行中輸入如下指令:

[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

客戶端代碼的結(jié)構(gòu)如下所示

|-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應(yīng)用

首先進(jìn)入到案例目錄下并執(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應(yīng)用的連接參數(shù)

為了能讓MQTT-client應(yīng)用能夠連接到Watson物聯(lián)網(wǎng)服務(wù)中, 我們需要將步驟一中的參數(shù)傳遞給連接參數(shù)。 連接參數(shù)可以通過命令行進(jìn)行修改,或者直接在設(shè)備配置文件中進(jìn)行修改:

打開設(shè)備配置文件:iotf-embeddedc/samples/device.cfg

nano iotf-embeddedc/samples/device.cfg

添加第一部中我們?cè)O(shè)置好的參數(shù)

org=$orgId

type=$myDeviceType

id=$myDeviceId

auth-method=$token

auth-token=$token

啟動(dòng)案例MQTT-client應(yīng)用

啟動(dòng)應(yīng)用后,我們就可以連接到服務(wù),而且我們能夠看到如下的輸出

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)平臺(tái)的DashBoard上認(rèn)證連接設(shè)備

一旦Client-app啟動(dòng),我們就可以在IoT的DashBoard上配置設(shè)備并且驗(yàn)證連接與數(shù)據(jù)了:

首先登陸到賬號(hào)并開啟IoT的DashBoard

我們能在Board上看到傳輸來的JSON信息

總結(jié)

這次實(shí)驗(yàn)演示了:MQTT-client應(yīng)用的發(fā)布以及設(shè)備上IoT云服務(wù)的開啟。 接下來我們就可以基于410c與平臺(tái)進(jìn)行擴(kuò)展與開發(fā)應(yīng)用了。

我聯(lián)想到了多種可能的方案,以供參考:

1、擴(kuò)展MQTT-client應(yīng)用,從而訪問DragonBoard硬件

- 讀取的硬件狀態(tài)

- 讀取所連接的傳感器的值

- 控制所連接的運(yùn)動(dòng)器(如LED、馬達(dá)等

2、通過結(jié)合云服務(wù)與其他應(yīng)用來擴(kuò)展云端的容量,并與其他設(shè)備進(jìn)行互動(dòng)

- 數(shù)據(jù)可視化

- 數(shù)據(jù)存儲(chǔ)

- 數(shù)據(jù)分析



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉