IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 阿里云IoT:控制掌控板板载灯亮灭 -> 正文阅读

[嵌入式]阿里云IoT:控制掌控板板载灯亮灭

准备工作

1.注册账号并登录阿里云IoT平台

打开浏览器,进入阿里云IoT平台http://iot.aliyun.com,如图1所示,点击右上角【免费注册】按钮,进入图2界面进行注册。

如已有账号点击右上角的【登录】按钮直接登录即可。

界面.png

图1 阿里云平台界面

https://upimage.alexhchu.com/2021/02/07/814d59d363a1d.png

图2 阿里云平台注册界面

2.进行实名验证

登录或注册成功后,进入 https://account.console.aliyun.com/v2/#/authc/home 进行实名验证。目前有两种验证方式:支付宝快捷验证或使用淘宝或阿里云App扫脸并上传身份证验证。(不进行实名验证无法开通物联网平台服务)

3.开通物联网平台

进入 https://iot.console.aliyun.com/product ,按照步骤点击【立即开通】即可,是免费的。(这里没有截图,记得不是太清了)

开通成功后会出现开通成功的界面,见图3:

验证成功.png

图3 物联网平台开通成功界面

以上均为准备工作,进行到这里,接下来就可以开始创建产品、创建设备并开发App了。

创建产品

1.新建一个名为“Light”的产品

进入控制台 https://iot.console.aliyun.com/product

点击左上角新建产品,见图4

创建产品.png

图4 新建产品

新建一个名为“Light”的产品,节点类型为直连设备,见图5:

新建产品.png

图5 新建产品参数

产品创建完成后,将自动出现在产品列表中。

2.进行功能定义

点击【查看】进行功能定义,步骤见图6、图7和图8:

查看设备.png

图6 查看产品

功能定义.png

图7 编辑草稿

在这里插入图片描述

图8 添加自定义功能

为刚刚新建的“Light”产品添加一个名为“工作状态”的功能,产品标识符为“LightStatus”。

将LED灯的工作状态定义为产品属性,数据类型为布尔值(bool),即0表示灯灭,1表示灯亮。具体设置参考图8,单击确定。

功能添加完成后,将自动出现在自定义功能列表中,用户可在该处查看产品的标识符“LightStatus”。

功能属性.png

图9 添加自定义功能界面

添加设备

回到控制台,点击设备>添加设备,见图10:

添加设备.png

图10 添加设备

选择刚才新建的产品,挂载一个名为“My_Light”的设备,见图11:

在这里插入图片描述

图11 添加设备页面

开发手机App

1.新建项目

进入项目管理 https://studio.iot.aliyun.com/projects ,将页面滚到下方,找到新建项目按钮,注意是创建普通项目,不是全局资源项目!见图12:

在这里插入图片描述

图12 新建项目

新建一个空白项目,见图13:

在这里插入图片描述

图13 新建空白项目

2.关联产品和设备

新建项目完成后来到项目的主页,关联产品和设备,具体步骤见图14、图15和图16:

关联.png

图14 关联界面

关联产品.png

图15 关联产品

关联设备.png

图16 关联设备

3.开发移动应用

回到项目主页,点击【移动应用】,再点击【新建】,新建一个移动应用,然后新建一个空白页面,见图17、图18和图19:

新建App.png

图17 新建移动应用

新建App属性

图18 新建移动应用页面

新建空白页面.png

图19 新建空白页面

进行ui的设计,使用的组件:图片、文本、指示灯和开关,灯泡图片是用来美化的。

具体过程就不详细讲了,最终效果见图20:

App's ui

图20 App的ui图

接下来将指示灯和开关这两个组件与设备关联,先点击指示灯这个组件,然后点击右侧的【配置数据源】,见图21和图22

配置指示灯状态

图21 配置指示灯状态

数据源配置

图22 数据源配置

开关的配置同理且步骤相同,这里就不放图了。

配置完成后App的设计到这里就告一段落了,接下来就可以发布App并使用了,点击右上角纸飞机状的按钮进行发布,见图23:

发布App.png

图23 发布App

掌控板程序

1.初始化MQTT

其中对应的参数在控制台中直接复制即可,其中DeviceSecret需要点击【查看】才会出现,见图24和图25

初始化MQTT.png

图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/ d e v i c e N a m e / t h i n g / e v e n t / {deviceName}/thing/event/ deviceName/thing/event/{tsl.event.identifier}/post发布设备事件上报
事件上报/sys/a1m39v8scxG/ d e v i c e N a m e / t h i n g / e v e n t / {deviceName}/thing/event/ deviceName/thing/event/{tsl.event.identifier}/post_reply订阅云端响应事件上报
服务调用/sys/a1m39v8scxG/ d e v i c e N a m e / t h i n g / s e r v i c e / {deviceName}/thing/service/ deviceName/thing/service/{tsl.service.identifier}订阅设备服务调用
服务调用/sys/a1m39v8scxG/ d e v i c e N a m e / t h i n g / s e r v i c e / {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:

灯灭状态消息.png

图26 灯灭状态消息

在这里插入图片描述

图27 灯亮状态消息

直接判断收到的消息即可,见图28:

判断消息.png

图28 判断消息

4.全部代码

全部代码.png

图29 全部代码

参考教程

https://mc.dfrobot.com.cn/thread-275452-1-1.html (App部分是参照这个教程照葫芦画瓢做出来的)

结语

关于最后掌控板的判断程序,即图28,这个程序可以更简化,详见我的上一篇博文:Day10:智能城市垃圾箱管理平台,里面也是有关于控制板载灯的亮灭程序。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:57:52  更:2021-07-23 10:58:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:33:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码