阿里云IoT:控制掌控板板载灯亮灭
文章目录
- 准备工作
- 1.注册账号并登录阿里云IoT平台
- 2.进行实名验证
- 3.开通物联网平台
- 创建产品
- 1.新建一个名为“Light”的产品
- 2.进行功能定义
- 添加设备
- 开发手机App
- 1.新建项目
- 2.关联产品和设备
- 3.开发移动应用
- 掌控板程序
- 1.初始化MQTT
- 2.Topic 信息
- 3.判断收到的消息
- 4.全部代码
- 参考教程
- 结语
准备工作
1.注册账号并登录阿里云IoT平台
打开浏览器,进入阿里云IoT平台http://iot.aliyun.com,如图1所示,点击右上角【免费注册】按钮,进入图2界面进行注册。
如已有账号点击右上角的【登录】按钮直接登录即可。
图1 阿里云平台界面
图2 阿里云平台注册界面
2.进行实名验证
登录或注册成功后,进入 https://account.console.aliyun.com/v2/#/authc/home 进行实名验证。目前有两种验证方式:支付宝快捷验证或使用淘宝或阿里云App扫脸并上传身份证验证。(不进行实名验证无法开通物联网平台服务)
3.开通物联网平台
进入 https://iot.console.aliyun.com/product ,按照步骤点击【立即开通】即可,是免费的。(这里没有截图,记得不是太清了)
开通成功后会出现开通成功的界面,见图3:
图3 物联网平台开通成功界面
以上均为准备工作,进行到这里,接下来就可以开始创建产品、创建设备并开发App了。
创建产品
1.新建一个名为“Light”的产品
进入控制台 https://iot.console.aliyun.com/product ;
点击左上角新建产品,见图4
图4 新建产品
新建一个名为“Light”的产品,节点类型为直连设备,见图5:
图5 新建产品参数
产品创建完成后,将自动出现在产品列表中。
2.进行功能定义
点击【查看】进行功能定义,步骤见图6、图7和图8:
图6 查看产品
图7 编辑草稿
图8 添加自定义功能
为刚刚新建的“Light”产品添加一个名为“工作状态”的功能,产品标识符为“LightStatus”。
将LED灯的工作状态定义为产品属性,数据类型为布尔值(bool),即0表示灯灭,1表示灯亮。具体设置参考图8,单击确定。
功能添加完成后,将自动出现在自定义功能列表中,用户可在该处查看产品的标识符“LightStatus”。
图9 添加自定义功能界面
添加设备
回到控制台,点击设备>添加设备,见图10:
图10 添加设备
选择刚才新建的产品,挂载一个名为“My_Light”的设备,见图11:
图11 添加设备页面
开发手机App
1.新建项目
进入项目管理 https://studio.iot.aliyun.com/projects ,将页面滚到下方,找到新建项目按钮,注意是创建普通项目,不是全局资源项目!见图12:
图12 新建项目
新建一个空白项目,见图13:
图13 新建空白项目
2.关联产品和设备
新建项目完成后来到项目的主页,关联产品和设备,具体步骤见图14、图15和图16:
图14 关联界面
图15 关联产品
图16 关联设备
3.开发移动应用
回到项目主页,点击【移动应用】,再点击【新建】,新建一个移动应用,然后新建一个空白页面,见图17、图18和图19:
图17 新建移动应用
图18 新建移动应用页面
图19 新建空白页面
进行ui的设计,使用的组件:图片、文本、指示灯和开关,灯泡图片是用来美化的。
具体过程就不详细讲了,最终效果见图20:
图20 App的ui图
接下来将指示灯和开关这两个组件与设备关联,先点击指示灯这个组件,然后点击右侧的【配置数据源】,见图21和图22
图21 配置指示灯状态
图22 数据源配置
开关的配置同理且步骤相同,这里就不放图了。
配置完成后App的设计到这里就告一段落了,接下来就可以发布App并使用了,点击右上角纸飞机状的按钮进行发布,见图23:
图23 发布App
掌控板程序
1.初始化MQTT
其中对应的参数在控制台中直接复制即可,其中DeviceSecret需要点击【查看】才会出现,见图24和图25
图24 初始化MQTT
图25 设备信息
2.Topic 信息
详见官方给出的Topic 类列表:
基础通信 Topic 列表:
功能 | Topic类 | 操作权限 | 描述 |
---|---|---|---|
OTA 升级 | /ota/device/inform/a1m39v8scxG/${deviceName} | 发布 | 设备上报固件升级信息 |
OTA 升级 | /ota/device/upgrade/a1m39v8scxG/${deviceName} | 订阅 | 固件升级信息下行 |
OTA 升级 | /ota/device/progress/a1m39v8scxG/${deviceName} | 发布 | 设备上报固件升级进度 |
OTA 升级 | /ota/device/request/a1m39v8scxG/${deviceName} | 发布 | 设备主动拉取固件升级信息 |
设备标签 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/update | 发布 | 设备上报标签数据 |
设备标签 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/update_reply | 订阅 | 云端响应标签上报 |
设备标签 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/delete | 订阅 | 设备删除标签信息 |
设备标签 | /sys/a1m39v8scxG/${deviceName}/thing/deviceinfo/delete_reply | 发布 | 云端响应标签删除 |
时钟同步 | /ext/ntp/a1m39v8scxG/${deviceName}/request | 发布 | NTP 时钟同步请求 |
时钟同步 | /ext/ntp/a1m39v8scxG/${deviceName}/response | 订阅 | NTP 时钟同步响应 |
设备影子 | /shadow/update/a1m39v8scxG/${deviceName} | 发布 | 设备影子发布 |
设备影子 | /shadow/get/a1m39v8scxG/${deviceName} | 订阅 | 设备接收影子变更 |
配置更新 | /sys/a1m39v8scxG/${deviceName}/thing/config/push | 订阅 | 云端主动下推配置信息 |
配置更新 | /sys/a1m39v8scxG/${deviceName}/thing/config/get | 发布 | 设备端查询配置信息 |
配置更新 | /sys/a1m39v8scxG/${deviceName}/thing/config/get_reply | 订阅 | 云端响应配置信息 |
广播 | /broadcast/a1m39v8scxG/${identifier} | 订阅 | 广播 Topic,identifier 为用户自定义字符串 |
物模型通信 Topic 列表:
功能 | Topic类 | 操作权限 | 描述 |
---|---|---|---|
属性上报 | /sys/a1m39v8scxG/${deviceName}/thing/event/property/post | 发布 | 设备属性上报 |
属性上报 | /sys/a1m39v8scxG/${deviceName}/thing/event/property/post_reply | 订阅 | 云端响应属性上报 |
属性设置 | /sys/a1m39v8scxG/${deviceName}/thing/service/property/set | 订阅 | 设备属性设置 |
事件上报 | /sys/a1m39v8scxG/deviceName/thing/event/{deviceName}/thing/event/deviceName/thing/event/{tsl.event.identifier}/post | 发布 | 设备事件上报 |
事件上报 | /sys/a1m39v8scxG/deviceName/thing/event/{deviceName}/thing/event/deviceName/thing/event/{tsl.event.identifier}/post_reply | 订阅 | 云端响应事件上报 |
服务调用 | /sys/a1m39v8scxG/deviceName/thing/service/{deviceName}/thing/service/deviceName/thing/service/{tsl.service.identifier} | 订阅 | 设备服务调用 |
服务调用 | /sys/a1m39v8scxG/deviceName/thing/service/{deviceName}/thing/service/deviceName/thing/service/{tsl.service.identifier}_reply | 发布 | 设备端响应服务调用 |
这里我们使用这个变量:/sys/a1m39v8scxG/${deviceName}/thing/service/property/set
进行订阅。
其中的
${deviceName}
就是你的deviceName,替换掉即可。
3.判断收到的消息
前往 https://iot.console.aliyun.com/lk/monitor/log
查看日志服务可以发现,云到设备的消息中,灯灭状态发出的消息见图26;而灯亮状态发出的消息见图27:
图26 灯灭状态消息
图27 灯亮状态消息
直接判断收到的消息即可,见图28:
图28 判断消息
4.全部代码
图29 全部代码
参考教程
https://mc.dfrobot.com.cn/thread-275452-1-1.html (App部分是参照这个教程照葫芦画瓢做出来的)
结语
关于最后掌控板的判断程序,即图28,这个程序可以更简化,详见我的上一篇博文:Day10:智能城市垃圾箱管理平台,里面也是有关于控制板载灯的亮灭程序。
阿里云IoT:控制掌控板板载灯亮灭相关推荐
- 阿里云IOT入门教程(三)阿里云IOT Studio自建手机App控制Wemos D1 Mini( ESP8266 )板载灯亮灭
阿里云IOT入门教程(一)阿里云IOT Studio自建手机App控制Wemos D1 Mini( ESP8266 )板载灯亮灭 概述 所需材料 Mqtt预备知识 hacklab端开发 * 硬件端上报 ...
- stm32f103c8t6控制蓝牙模块实现led灯亮灭
stm32f103c8t6控制蓝牙模块实现led灯亮灭 之前利用蓝牙模块是用arduino控制板的,现在已经渐渐接触stm32,所以,这次想着用stm32来控制蓝牙模块. 首先的话,需要配置蓝牙模块的 ...
- 按下亮 松开灭 c语言程序,MSP430G2452按键控制P1.0口LED灯亮灭
MSP430G2452按键(P1.3)控制P1.0(LED)灯亮灭C语言程序,P1.3为带上拉电阻的输入状态,P1.0为输出状态,当P1.3按下,P1.0口LED灯则亮,松开按键,LED灯则熄灭,无限 ...
- SCA-IOT2050 连接至阿里云IOT平台,并通过阿里云IOT控制PLC
IOT2050 可将工业 PLC, CNC 和仪器仪表等设备快速接入阿里云物联网平台,轻松接入您的 ERP MES 等系统,通过 OEE 工具提高生产效率. 有了 IOT2050,西门子.三菱.欧姆龙 ...
- 物联网控制APP入门专题(二)---阿里云iot studio移动可视化功能基本操作
微信小程序连接阿里云物联网平台云端API实现物联操控 03-25 其中包含cryptojs.uuid生成模块,还有用于微信小程序连接阿里云物联网平台云端API的专属sdk,已结实现效果demo,只需填 ...
- mpython掌控板_用mpython x玩转掌控板——自然灯
[情境导入] 在生活中,楼道里的感应灯大大方便了我们的生活.在光线昏暗时,有人经过只需拍手或脚步声大一些就可以亮灯,既做到了节能也做到了便民,那么今天我们也来制作这个根据光线和声音控制的自然灯. [任 ...
- 基于阿里云IOT Studio和STM32的电机远程监测设计
今天来总结一下用阿里云的IOT Studio做的一个电机远程监控的小系统吧! 说来话长,在去年九月份的时候,我踏入了研究生的行列.我的导师是搞电机方向的,但我本科是测控的,考虑我的基础,导师给我推荐了 ...
- STM32 ES8266上阿里云IOT MQTT实践【第四章】:MCU的应用范围
课程大纲 [第一章]:物联网简介(什么是物联网) [第二章]:物联网十大应用场景 [第三章]:什么是MCU? [第四章]:MCU的应用范围 [第五章]:我们要怎么入门MCU开发? [第六章]:如何使用 ...
- 【阿里云IoT+YF3300】16.云端一体化,天猫精灵操控YF3300
"你好天猫精灵","主人有什么吩咐","打开灯","好的,灯已打开".对于这样的对话应该大多数人都很熟悉,这就是智能家居 ...
最新文章
- 人人须知的 jQuery 技巧
- Gtk+2 Hello World:从源码到打包发布
- 程序员面试金典 - 面试题 16.09. 运算(只用+法做乘除)
- uwp 获取listviewitem里的控件_[UWP]占领标题栏
- 【Elasticsearch】Elasticsearch自定义评分的N种方法
- 求教一个关于网站抓取生成地图的问题
- 双创计算机应用基础答案,“双创”背景下基于《计算机应用基础》课程网络学习空间的教学实践与研究(原稿)...
- HDU6080(很水的计算几何+floyd)
- 漫步数学分析二十七——Stone-Weierstrass定理
- 计算机组成原理实验移位运算,移位运算实验
- U盘写保护的解决办法,亲自实践,原创!
- 加密聊天软件(技术文档)
- 电影后台管理系统(实训)
- FleaPHP 开发指南 - 4. 命名规范和目录结构
- 哈工大计算机学院官网哈工大软件工程专业,2019哈工大软件工程考研参考书目及复试线...
- u盘推荐知乎_U盘推荐|U盘哪个牌子更好?怎么选择?
- 中国电子级玻纤布市场产销调研及投资前景预测报告2022-2028年
- 超好用的网页标记插件pagenote
- 金融风险之欺诈分类以及银行防控体系简述
- 电商零售业怎么做数据分析?这10篇作品看完必会
热门文章
- java定义一个长方形类,该类中具有长方形长宽两种属性,并具有相应的构造方法属性访问方法,计算长方形的周长和面积的方法,要求输出长是5,宽是4的长方形
- python getcwd_Python os.getcwd() 方法
- python 微信支付sdk_weixin-python
- Ubuntu 安装 OpenFOAM + PETSc
- nodemon运行 提示错误:无法加载文件 C:\Users\gxf\AppData\Roaming\npm\nodemon.ps1。
- 恋爱日记、告白、表白、纪念、情侣、表白墙源码。
- Tableau 仪表板例子1
- 计算机网络之传输层笔记
- DZone每日必读-news: 指导软件团队取得成功的 4 种方法
- UE4中的LookAt