Arduino在SuperVessel物联网服务平台上的开发

基于SuperVessel云端的物联网服务平台Comet上线了!SuperVessel超能云是基于POWER处理器的公有云, 提供虚拟资源、大数据服务、FPGA虚拟加速服务和物联网应用服务 (https://ptopenlab.com/iotdm/#/), 使得用户只需关注应用本身的设计开发, 设备的注册、管理,数据的存储、维护等功能, 都由物联网应用平台Comet完成, 从而简化了开发流程, 使用户能够快速完成物联网应用的开发和部署。

SuperVessel超能云物联网服务平台Comet的主要功能包括:

  • 数据流管理

  • 设备管理

  • 设备MetaData管理

  • 设备控制管理

  • IoT应用Builder

  • IoT应用Run Time

IoT 服务平台Comet, 支持http和MQTT协议, 图形化的界面, 使用户可以通过简单的输入和拖拽, 就实现物联网应用的开发。IoT Application Gallery, 创建了用户应用的发布平台, 实现一键发布。同时, Comet还提供主流IoT设备的示例代码, 便于用户开发集成。

下面, 我们以IoT开放平台Arduino Yun为实例, 介绍如何利用SuperVessel的IoT Service, 开发物联网应用。

Arduino是一款开放的通用物联网设备平台, 由于具有丰富的设备接口, 可以方便的连接各种传感器设备, 因而颇受欢迎。介绍请见https://www.arduino.cc/

Arduino Yun 是一款基于ATmega32U4 和Atheros AR9331 的单片机板。 Atheros AR9331 可以运行一个基于Linux 和OpenWRT 的操作系统 Linino. 这款单片机板有内置Ethernet, Wifi, 一个USB端口,一个Micro 插槽, 20个数字输入/输出端口(其中7个可以用于PWM, 12个可以用于ADC),1个MICRO USB,1个ICSP插头,3个复位开关. (原文见http://www.arduino.cn/thread-4208-1-1.html )。

155352_FZc2_2407578.jpg

一、硬件和环境搭建

本应用光强传感器采用的是BH1750FVI模块,所用的单片机程序和python程序可从示例程序( http://ptopenlab.com/cloudlabconsole/doc/ArduinoYunSample.zip) 下载。具体搭建过程可参考以下教程--Arduino光强示例环境搭建

二、创建IoT应用

本应用为光强传感器应用, 可以把光强传感器的数值上报到物联网平台Comet, 并显示。同时支持应用同环境的绑定, 使得物联网应用呈现良好的用户体验。

  1. 登录SuperVessel物联网服务平台Comet https://ptopenlab.com/iotdm/#/

    161519_EoZ5_2407578.jpg
  2. 创建数据流
    161703_ptgr_2407578.jpg

图中黄框所示, 为IoT平台创建应用的基本步骤。

Application Editor—是指针对应用的定义和编辑, 包括环境的绑定、热点的设定 设备的绑定、图层的叠加、应用的发布等。

Devices—设备指的是添加、编辑、修改、删除已定义的设备类型。

Streams—Stream流指的是数据流的添加、编辑、修改、删除, 此数据流的定义需要同Arduino程序中的定义一致。

Operations—指针对IoT设备的控制操作。

Device Type—定义设备类型, 编辑、删除。

在本示例中, 我们定义的数据流名称为“Light”, 同Arduino单片机程序中的数据流定义一致。定义好的数据流会在Datastreams中显示。点击“+Create”, 可以添加新的数据流。

162123_p8J0_2407578.jpg

3. 定义设备类型

定义设备类型,注意设备的名称需要同mqttClientControl.py 中的设备名称一致。本示例中设备名称为“EnvCollector”。

164919_MGPQ_2407578.jpg

定义好的设备如下。可通过点击“+”, 添加新的设备。

165145_T3BX_2407578.jpg

4. 将数据流和设备绑定。

该步骤主要是将设备和数据绑定,定义数据流是从哪个设备上报的。点击“+Stream”, 选择定义好的数据流, 就可将设备和数据绑定。

165339_gUQo_2407578.jpg

添加数据流后的结果显示为

165603_jk5S_2407578.jpg

5. 注册应用中的设备

应用中的设备需要向IoT平台注册, 在“Devices”菜单中, 定义注册相关的设备。

165707_2x0a_2407578.jpg

SN定义为有线口的MAC地址,无论用有线还是无线连接internet,SN都是有线口的MAC注册完成的设备如下所示:

170011_cDNt_2407578.jpg

6. 编辑运行Arduino程序。

Arduino终端, 打开mqttClientControl.py, 可以看到设备类型的定义, 以及MQTT server的IP地址

170309_lR37_2407578.jpg

打开单片机程序SensorSampleArduinoYun.ino, 可以看到数据上报格式, 和Stream的名称,该名称与IoT平台定义的名称需一致。

170400_YIpl_2407578.jpg

若程序没有改动, 可关闭程序。在Arduino终端运行

./mqttClientControl.py

Arduino YUN就会将数据上报至IoT平台。

170736_bJYA_2407578.jpg

7. 在Device 界面中点击Arduino图片, 就能看到实时上报的光强数据。

171021_ULFF_2407578.jpg

8. 设备与环境关联。

以上几步, 已经完成了设备同IoT平台的连接、注册和消息通路。下面, 我们要把IoT设备同实际环境绑定在一起,因为任何设备都有一个位置和场景, 才是一个完整的应用。

ApplicationEditor中创建一个新的Map, 名字叫“ Light Demo”。

171140_MwZr_2407578.jpg

选择界面右上角处“Layer Panel”中的中间选项, 增加图层。上传传感器设备所处环境照片。

171234_IVSP_2407578.jpg

结果如下:

171329_pJ1d_2407578.jpg

9. 创建热点, 把热点和传感器设备相绑定。

171603_mgi9_2407578.jpg

绘制热点在希望的位置。

171639_2rWB_2407578.jpg

保存后, 可看到如下页面。

171737_1Zgz_2407578.jpg

10. 将热点关联传感器设备。

点击Application List中的Light Demo, 会弹出显示设备的界面:

171842_dblM_2407578.jpg

点击上图中的热点, 会弹出一个“Devices”方框, 将所选设备拖入Devices方框内

171923_qJZA_2407578.jpg


关联成功, 可以看到数据在热点区显示。至此, 一个IoT应用已全部完成。

172150_3cdz_2407578.jpg

11. 生成二维码, 便于发布/共享。

IoT服务平台Comet开发了一键发布功能, 将应用的链接生成二维码, 便于朋友圈共享和发布。点击“Application View”, 生成二维码。可在手机上扫描二维码, 进入应用页面, 实时监测数据。

172321_uPSl_2407578.jpg

以上, 就是利用SuperVessel超能云IoT服务平台Comet进行物联网应用开发的实例。

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值