嫌文字看着累的话,直接搜账号名嵌入式crafter(小破站 / 某音 / 某红书同号),视频里把讲解的内容和实战操作揉在一起了,比对着文档啃效率高多了。
0.前言
本期是STM32 + 安卓 APP 实战!做个能手机控制的智能环境监测系统第一期,我们先来进行阿里云平台的配置,以及让STM32通过esp8266-WIFI模块连接上阿里云。为后面与安卓app通讯做准备。
1.阿里云配置
首先进入阿里云官网:阿里云-计算,为了无法计算的价值
添加图片注释,不超过 140 字(可选)
接着点击控制台
添加图片注释,不超过 140 字(可选)
进入后点击左上角按钮
添加图片注释,不超过 140 字(可选)
在产品与服务下,选择物联网,点击物联网平台
添加图片注释,不超过 140 字(可选)
进入物联网平台控制台,没有开通公共实例,点击按指导操作进行开通。
添加图片注释,不超过 140 字(可选)
1.1.创建产品
开通后点击公共实例,选择设备管理,进入产品页面,我们先创建一个产品。
添加图片注释,不超过 140 字(可选)
进入后点击创建产品,产品名称为test,品类选择自定义品类。
添加图片注释,不超过 140 字(可选)
然后回到产品页面,点击查看-》发布产品
添加图片注释,不超过 140 字(可选)
然后回到产品页面,点击管理设备
添加图片注释,不超过 140 字(可选)
1.2.创建设备
添加名为stm32_esp8266的设备,一样的流程再添加一个android_app。
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
点击设备后,我们需要一些参数,来进行阿里云连接的配置。
添加图片注释,不超过 140 字(可选)
点击MQTT连接参数 查看,保存下面的数据,后面STM32连接阿里云需要用到。
添加图片注释,不超过 140 字(可选)
1.3.自定义topic
连接成功后,我们需要创建Topic,方便之后利用流转发来与Android app通讯。在产品页面,将发布撤销,点击Topic类列表,开始自定义Topic类。按照上面的步骤创建两个topic,一个用于发送一个用于接收。
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
自定义好topic之后,在test产品下可以看到topic,但是设备下的topic列表为空。这需要让我们的设备先订阅一个主题,才会显示。后面再详细讲解。
添加图片注释,不超过 140 字(可选)
1.4.云产品流转发
阿里云物联网平台给了很多Topic,基础通信Topic、物模型通信Topic,这些一看就不知道跟我们的需求没关系,不能乱用。直到看到了自定义Topic,于是有了如下的思路:
新建一个自定义Topic/${productKey}/${deviceName}/user/m2m
STM32订阅/${productKey}/STM32/user/m2m主题
App订阅/${productKey}/App/user/m2m主题
STM32如果想要给App发消息,只要往/${productKey}/App/user/m2m 发送消息即可,APP就可以接收到STM32发送的消息。
但是,阿里云物联网平台做了限制,设备只能给自身的Topic发送消息,不能给别的设备的Topic发送消息。所以在第4步就行不通,STM32无法往/${productKey}/App/user/m2m 发送消息。
所以,这个时候就需要通过云产品流转发来解决这个问题。在网上找到一张图
添加图片注释,不超过 140 字(可选)
首先我们在消息转发下进入云产品流转。
添加图片注释,不超过 140 字(可选)
1.4.1.创建规则
添加图片注释,不超过 140 字(可选)
创建两个云产品流转待用
添加图片注释,不超过 140 字(可选)
点击查看
1.4.2.编写SQL
APP显示功能实现
stm32通过主题:/k1h2hHKWDOX/stm32_esp8266/user/Send,发布温湿度、光强到云平台。
添加图片注释,不超过 140 字(可选)
云平台将其流转发到主题: /k1h2hHKWDOX/android_app/user/Receive。
app订阅此主题,获取传感器数据显示在屏幕上。
添加图片注释,不超过 140 字(可选)
APP控制功能实现
APP通过主题:/k1h2hHKWDOX/android_app/user/Send,发送控制灯光、蜂鸣器、舵机命令。
添加图片注释,不超过 140 字(可选)
云平台将其流转发到主题: /k1h2hHKWDOX/stm32_esp8266/user/Receive。
stm32订阅此主题,获取APP控制命令控制硬件。
添加图片注释,不超过 140 字(可选)
创建后记得点击启动