利用Docker模拟传感器进行物联网开发

SuperVessel超能云 (https://ptopenlab.com/cloudlabconsole/#/)是一个基于OpenStack的开放的云平台,基于POWER/OpenPOWER架构, 提供物联网、大数据、FPGA加速以及虚拟资源。本文讨论如何利用超能云的虚拟计算资源, 模拟传感器产生信号, 进行物联网应用开发。解决了目前在物联网应用平台测试/开发中, 必须配套传感器的不便。

142510_dprn_2407578.jpg

一、利用Docker模拟传感器输入

1. 登录SuperVessel超能云, 在主页面点击"申请虚拟机",申请云主机。

2. 进入云主机界面后, 点击“创建云主机”, 申请新的计算资源。

142321_S2RL_2407578.jpg

3. 配置云主机系统参数。

142645_g7Fc_2407578.jpg

新的主机创建成功后, 会在列表中显示。主机所需的用户名和密码, 已发至用户登录时使用的邮箱。 点击“Web控制台”,进入终端界面(Console).

142813_eUmL_2407578.jpg

4. 使用系统自动分配的用户名和密码, 登录主机。登录后, 立即修改用户密码。

142850_uHEK_2407578.jpg

5. 将示例程序从远程拷入, 命令如下:

scp -r opuser@10.9.11.158:~/cometDockerDemo ./

输入密码: heatonli12345

拷贝开始后, 会看到拷贝进程。待拷贝完成后, 会看到在本机目录下, 会有一个新的文件夹“cometDockerDemo".这说明拷贝已经成功。

142952_sY5E_2407578.jpg

6. 配置程序的运行环境, 并获得创建主机的MAC地址。 获取“root”权限。输入命令如下:

su root

输入密码,密码在登录的邮箱中.获得Root权限后,进入"cometDockerDemo"的子目录“python-mosquitto”, 会发现程序"setup.py", 输入如下安装命令:

python setup.py install

安装完成后, 本机就可以支持MQTT的开源版本“Mosquitto”, 来完成数据的传输。

143142_ukIM_2407578.jpg

7. 更改随机数产生程序, 设置MAC地址的读取。 利用"ifconfig"命令, 得到创建主机的MAC地址和相关信息。

143236_xUaZ_2407578.jpg

返回“cometDockerDemo”目录, 编辑mqttClientControl.py, 修改MAC地址的读取序列。在程序中找到“iface”, 将原地址改为MAC地址前的一串字符, 本例程为“ns2f450a2e-dd”, 用户需要根据自己主机创建情况, 输入相应的序列号。

143314_c2hq_2407578.jpg

至此, 创建主机并准备传感器数据的工作已完成。下面我们要创建物联网应用。

二、创建物联网应用

1.注册/登录SuperVessel超能云物联网平台

143420_xyLp_2407578.jpg

2. 点击“Streams“选项, 创建新的数据流。

143533_nxxu_2407578.jpg

注意, 定义的数据流要同在Docker中运行的程序mqttClientControl.py中定义的数据流名称一致, 本示例定义为Random.

143626_Yfvg_2407578.jpg

待数据流创建好后, 会在列表中显示。

143707_AR5l_2407578.jpg

3. 点击Device Type, 添加设备类型。

143824_VVcp_2407578.jpg

点击”+“, 添加新的设备类型。设备类型的名称要同在mqttClientControl.py中定义的设备名称一致, 本示例定义的设备类型为DockerDemo。注意, 设备的型号和制造商一栏一定要填入内容, 否则不能激活设备类型。

143935_rkq5_2407578.jpg

新的设备类型添加成功后, 会在设备类型列表中显示。关联数据流和设备类型。点击设备类型上的”+Stream", 添加定义好的数据流“Random"到设备类型”DockerDemo"。

144149_THEg_2407578.jpg

4. 点击”Devices“, 添加设备。

144239_IRyS_2407578.jpg

点击“+”, 添加DockerDemo类型下的新的设备。设备的“DeviceID"由物联网服务平台自动下发。而设备的序列号需要从所起虚拟计算资源中读取。在前面的步骤中, 我们已经拷贝了虚拟资源的MAC地址, 现在就添加在设备的"Serial Number"中。

144310_Uyxb_2407578.jpg

设备添加完成后, 会在相应的设备列表中显示出新添加的设备。

144349_SgoJ_2407578.jpg

5.在创建的虚拟资源web console中运行随机数产生程序, 命令如下:

./mqttClientControl.py

程序执行, 建立MQTT连接, 向物联网服务平台上报数据。

144558_zTUo_2407578.jpg

6.此时, 点击新建的设备, 就已经能收到虚拟资源上报的数据。

144648_BQsM_2407578.jpg

点击“Details", 获取数据历史信息。

144719_JgdQ_2407578.jpg

7.点击”Application Editor", 创建新的物联网应用。

144800_eRPL_2407578.jpg

8.为应用添加背景图片, 并在图中设置热区。

144829_W6Sl_2407578.jpg

点击最右边图标,设定热区。物联网服务平台提供相应的工具, 可以让用户自己设定传感器的位置(热区)。

144903_2xyg_2407578.jpg

热区和背景图片设计好后, 显示如下。

144955_aKAE_2407578.jpg

在物联网应用列表中, 显示新的应用。

145045_Lpof_2407578.jpg

9. 将热区和设备向关联。

点击热区, 将定义好的设备拖至设备框内, 建立设备与热区的关联关系。

145127_Kkct_2407578.jpg

关联成功后,显示如下。数据已经能够显示在热点区域。

145222_OzJ2_2407578.jpg

10. 点击“Application View”, 可以看到创建成功的应用以及二维码。扫描二维码, 可以在手机上看到开发好的应用。

145346_1zAz_2407578.jpg

至此, 基于Docker模拟传感器的物联网应用就开发好了。

转载于:https://my.oschina.net/u/2407578/blog/482307

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值