概要
步骤
1 STM32发送AT(mqtt指令),esp8266连接WIFI,连接阿里云;
2 在阿里云上发送信息,通过esp8266给STM32发送指令,进行LED控制
3 在2的基础上,开发微信小程序,连接阿里云,在微信小程序上发送信息,进而传递给esp8266
esp8266与阿里云的连接
主要使用AT指令
点击发布消息,出现如下结果;可以手动在阿里云上输入所要输出的信息,打印在串口助手上面
然后STM32 来检查串口上的信息,进行判断,比如我在云上输入{on},在STM32上进行检测,检测到on相关的字符串,进行开灯操作等 ,这些后续介绍
微信小程序和阿里云连接
首先创建一个WeChat端,通过小程序 通向WeChat端,而同时WeChatDUAN和ESP8266DUAN又是有联系的;;从而实现微信小程序对阿里云通信,通信ESP8266
WeChatDUAN和ESP8266DUAN同属于LED控制的设备
上图需要修改参数,按照下图的格式修改
ESP8266连接STM32(F103C8T6)
"""""" 然后STM32 来检查串口上的信息,进行判断,比如我在云上输入{on},在STM32上进行检测,检测到on相关的字符串,进行开灯操作等 ,这些后续介绍 """""
从阿里云上发的信息,经过STM32处理,可进行一系列操作;
接线信息
STM32 | esp8266 | 串口 | |
PA9(发送) | RX | 发送AT指令,往云上发 | |
TX | RX | ||
P10(接收) | TX | RX | 云往下发 不需要连接esp8266RX了,云上直接将指令给esp8266,直接发送给STM32就好了,同时连接串口的RX,同时可进行串口显示 |
#include "stm32f10x.h" // Device header#include "Delay.h"#include "OLED.h"#include "usart.h"#include "LED.h"#include "string.h"#include "esp8266.h"int main(void){ LED_Init(); OLED_Init(); uart_init(115200); esp8266_Init();// Ð޸IJÎÊýÔÚesp8266.c while (1) { OLED_ShowString(1, 3, "SUCCESS LINK"); if(USART_RX_STA&0x8000)// ÅжϽÓÊܵÄÍêÕû×Ö·û´® { if(strstr((const char*)USART_RX_BUF,"on")) { LED1_ON(); OLED_ShowString(2, 3, " "); OLED_ShowString(2, 3, "ON"); } if(strstr((const char*)USART_RX_BUF,"off")) { LED1_OFF(); OLED_ShowString(2, 3, " "); OLED_ShowString(2, 3, "OF"); } } USART_RX_STA = 0; }}
小结
使用STM32 和 阿里云,微信小程序,串口,互相通信;实现手机小程序端的点灯操作;
难点是阿里云的产品的设备的创建;
产品:LED控制
设备:WeChatDUAN 和 ESP8266DUAN之间的通信设置
参考资料
感谢
小程序端 b站UP主【CV大师UP主】
开源+手把手教学:微信小程序通过阿里云控制和接收单片机数据_哔哩哔哩_bilibili
阿里云连接 b站UP主【漫天飞羽zz】main 第03课:ESP8266连接阿里云_哔哩哔哩_bilibili
小程序端 b站UP主【画卿师兄】比较全
【新小程序】3.微信开发者工具安装与新建工程_哔哩哔哩_bilibili