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

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

利用Docker模拟传感器进行物联网开发_第1张图片

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

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

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

利用Docker模拟传感器进行物联网开发_第2张图片

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

利用Docker模拟传感器进行物联网开发_第3张图片

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

利用Docker模拟传感器进行物联网开发_第4张图片

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

利用Docker模拟传感器进行物联网开发_第5张图片

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

scp -r [email protected]:~/cometDockerDemo ./

输入密码: heatonli12345

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

利用Docker模拟传感器进行物联网开发_第6张图片

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

su root

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

python setup.py install

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

利用Docker模拟传感器进行物联网开发_第7张图片

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

利用Docker模拟传感器进行物联网开发_第8张图片

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

利用Docker模拟传感器进行物联网开发_第9张图片

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

二、创建物联网应用

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

利用Docker模拟传感器进行物联网开发_第10张图片

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

利用Docker模拟传感器进行物联网开发_第11张图片

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

利用Docker模拟传感器进行物联网开发_第12张图片

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

利用Docker模拟传感器进行物联网开发_第13张图片

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

利用Docker模拟传感器进行物联网开发_第14张图片

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

利用Docker模拟传感器进行物联网开发_第15张图片

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

利用Docker模拟传感器进行物联网开发_第16张图片

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

利用Docker模拟传感器进行物联网开发_第17张图片

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

利用Docker模拟传感器进行物联网开发_第18张图片

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

利用Docker模拟传感器进行物联网开发_第19张图片

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

./mqttClientControl.py

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

利用Docker模拟传感器进行物联网开发_第20张图片

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

利用Docker模拟传感器进行物联网开发_第21张图片

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

利用Docker模拟传感器进行物联网开发_第22张图片

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

利用Docker模拟传感器进行物联网开发_第23张图片

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

利用Docker模拟传感器进行物联网开发_第24张图片

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

利用Docker模拟传感器进行物联网开发_第25张图片

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

利用Docker模拟传感器进行物联网开发_第26张图片

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

利用Docker模拟传感器进行物联网开发_第27张图片

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

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

利用Docker模拟传感器进行物联网开发_第28张图片

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

利用Docker模拟传感器进行物联网开发_第29张图片

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

利用Docker模拟传感器进行物联网开发_第30张图片

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

你可能感兴趣的:(docker,物联网,超能云SuperVessel,传感器模拟,POWER/OpenPOWER)