将DragonBoard 410c接入物联网云平台

原创 2016年04月10日 15:00:17

前段时间入手一台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. 通过结合云服务与其他应用来扩展云端的容量,并与其他设备进行互动
    • 数据可视化
    • 数据存储
    • 数据分析

玩转Dragonboard 410c USB摄像头——获取USB摄像头图像

摄像头是DIY常用的设备,在你的DIY创意上很多时候使用摄像头可以起到画龙点睛的作用,瞬间让你的DIY变得高大上,这期给大家推出一系列如何玩转Dragonbaord 410c开发板的USB摄像头的bl...
  • ANDYMFC
  • ANDYMFC
  • 2016年10月20日 18:39
  • 1622

如何实现DragonBoard 410c GPIO控制(基于linux环境)

通过芯片的GPIO口输出电平去控制外部设备,如继电器、LED或者触发某些模块进行工作是嵌入式控制系统常用的功能,也是实现许多复杂控制系统的基础,本文将教大家基于DragonBoard 410c GPI...
  • ANDYMFC
  • ANDYMFC
  • 2016年08月05日 11:30
  • 891

玩转Dragonboard 410c开发板USB摄像头——移动侦测

移动侦测是常见的智能化视频监控手段之一,其通过判断和识别移动物体然后进行拍照记录可以有效的降低处理器的计算处理量,只需要在有移动事件触发的时候才进行监控和录像,进而避免监控录制和拍摄大量的无用的照片信...
  • ANDYMFC
  • ANDYMFC
  • 2016年10月26日 17:01
  • 1559

DragonBoard 410c手把手进行安卓开发之底层移植

耽误了这么久,终于开始写这篇文章了 这篇文章我们主要介绍如何从获取MSM源码,并为内核进行修改与移植的过程必须的前期准备首先我们需要准备如下四个条件: 1. Ubuntu 12.04 Linux ...
  • u010182064
  • u010182064
  • 2016年05月02日 10:14
  • 2169

基于开发板DragonBoard 410c的应用开发和部署

基于开发板DragonBoard 410c的应用开发和部署 DragonBoard 410c 旨在支持快速软件开发和原型设计,推动新发明和新产品的商业化,从而将骁龙410处理器的高性能和丰富功能带给...
  • awangqm
  • awangqm
  • 2016年05月27日 17:53
  • 802

教大家如何在dragonboard410c 上直接操作GPIO操作设备

前言
  • weijory
  • weijory
  • 2017年02月23日 12:05
  • 643

给Dragonboard 410c开发板接上触摸屏显示器

博主最近准备基于Dragonboaard 410c做几个智能产品,需要用到显示器和触摸屏,但在官网搜了一下,发现都没有与开发板配套的显示器和触摸屏,没办法,只能去万能的淘宝上看有没适合的了。 淘宝上...
  • cgx090902
  • cgx090902
  • 2017年06月21日 20:01
  • 578

快速下载和编译Dragonboard410c官网最新Android版本

最近刚入手一块Dragonboard410c开发板,准备用这块开发板自己搞搞几个智能家居类的原型玩玩,需要修改源代码的底层驱动,我比较熟悉Android系统,所以按着官方的开发编译文档一步步去弄,中间...
  • cgx090902
  • cgx090902
  • 2017年06月14日 17:10
  • 1185

DragonBoard410c手把手进行安卓开发

在上一篇中我们介绍了基于DragonBoard 410c的Debian开发。并且通过UART口登录到了Debian中的Shell,实现了基本的控制台应用。本文主要是针对安卓开发者,为安卓开发者提供快速...
  • u010182064
  • u010182064
  • 2016年04月24日 19:13
  • 4093

DragonBoard 410c的配置与系统更新

需要的设备可运行Windows 10的PC(在上一片中已提到) DragonBoard 410c 12V电源供电—最小1.0A电流,如果您计划使用多个高耗能的USB配件,那么请选用大于2.0A电流的电...
  • u010182064
  • u010182064
  • 2015年11月28日 15:32
  • 1297
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将DragonBoard 410c接入物联网云平台
举报原因:
原因补充:

(最多只允许输入30个字)