前段时刻下手一台Dragon Board410c的开发板。尽管功能强大,而且仍是高通自家产品,无线基带很是不错, 可是因为自己对这网络与运维了解不是很透彻,所以仍是没办法彻底发挥其悉数的实力。 上一年有申请了云服务器试用。 离试用期完毕还有一个多月的时刻,刚好发现在官网供给了IoT物联网设备的云服务, 经过了解所以计划将自己的410c开发板衔接到云服务上,测验一下410c的网络功能与吞吐能力。
首要介绍一下需求的设备吧: DragonBoard 410c一块 + 云服务器
第一步: 预备物联网云服务
首要咱们需求在物联网渠道服务实例中创立一个新的实例:
增加设备
接下来咱们需求创立一个OrganizaTIon,也便是410c的设备集群。当咱们经过Bluemix创立好安排后, 咱们就可以注册并增加设备
– 首要在物联网服务安排的dashboard上点击Add a your device按钮
– 然后依据屏幕上的提示进行设置
在注册设备的时分咱们还需求编写如下的设备信息:
– 安排ID
– 设备品种ID
– 设备ID
– 认证办法
– 认证口令
第二部:装备DragonBoard 410c
在410c中下载一个MQTT-client使用
为了装置物联网渠道的客户端库以及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使用
首要进入到事例目录下并履行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使用的衔接参数
为了能让MQTT-client使用可以衔接到Watson物联网服务中, 咱们需求将过程一中的参数传递给衔接参数。 衔接参数可以经过命令行进行修正,或许直接在设备装备文件中进行修正:
打开设备装备文件:iotf-embeddedc/samples/device.cfg
nano iotf-embeddedc/samples/device.cfg
增加第一部中咱们设置好的参数
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
…
最终一步:在物联网渠道的DashBoard上认证衔接设备
一旦Client-app发动,咱们就可以在IoT的DashBoard上装备设备而且验证衔接与数据了:
首要登陆到账号并敞开IoT的DashBoard
咱们能在Board上看到传输来的JSON信息
总结
这次试验演示了:MQTT-client使用的发布以及设备上IoT云服务的敞开。 接下来咱们就可以根据410c与渠道进行扩展与开发使用了。
我联想到了多种或许的计划,以供参阅:
1、扩展MQTT-client使用,然后拜访DragonBoard硬件
– 读取DragonBoard410c的硬件状况
– 读取所衔接的传感器的值
– 操控所衔接的运动器(如LED、马达等
2、经过结合云服务与其他使用来扩展云端的容量,并与其他设备进行互动
– 数据可视化
– 数据存储
– 数据剖析