新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 运用DragonBoard 410c开发板接入物联网云服务

运用DragonBoard 410c开发板接入物联网云服务

作者:时间:2017-10-11来源:网络收藏

前段时间入手一台Dragon Board410c的开发板。虽然功能强大,而且还是高通自家产品,无线基带很是不错, 但是由于自己对这网络与运维理解不是很透彻,所以还是没办法完全发挥其全部的实力。 去年有申请了云服务器试用。 离试用期结束还有一个多月的时间,刚好发现在官网提供了IoT设备的云服务, 经过了解于是打算将自己的410c开发板连接到云服务上,测试一下410c的网络功能与吞吐能力。

本文引用地址:http://www.eepw.com.cn/article/201710/365527.htm

首先介绍一下需要的设备吧: 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硬件

- 读取的硬件状态

- 读取所连接的传感器的值

- 控制所连接的运动器(如LED、马达等

2、通过结合云服务与其他应用来扩展云端的容量,并与其他设备进行互动

- 数据可视化

- 数据存储

- 数据分析



评论


相关推荐

技术专区

关闭