目录

STM32ESP8266-WiFi连接机智云平台APP远程控制教程

STM32+ESP8266 WiFi连接机智云平台APP远程控制教程

本文档将介绍如何用STM32+ESP8266 WiFi模块从零开始连接上机智云,并通过APP进行远程控制。

机智云官网:

准备:STM32、ESP8266、手机、可上网的WiFi。

1.创建设备

1.1 注册登陆

请自行注册账号并登陆,这里不作展开。

1.2 创建产品

进入开发者中心,点击创建产品:

以照明产品为例,创建一个自定义方案的灯,如下:

https://i-blog.csdnimg.cn/direct/d91774bde56f4fc9b3da16568b3e8a89.png

填写产品属性定义信息:

https://i-blog.csdnimg.cn/direct/796afd80f6ac4c90bdef831276b668b2.png

创建之后,显示如下:

https://i-blog.csdnimg.cn/direct/6459902bc9924cff8f0e006162529335.png

点击“去编辑”,创建数据点,如下:

由于LED灯只有开关2个状态,因此是布尔型(bool),同时LED是可以控制开关的,因此是读写类型是“可写”。

https://i-blog.csdnimg.cn/direct/c31ba76c1ed54fb38f4a863089c02b0f.png

1.3 生成代码

产品创建完成后,点击左右功能栏的“MCU开发”:

https://i-blog.csdnimg.cn/direct/c9447f4e1a784f42b302e462efec272d.png

选择硬件平台型号、Product Secret,如下:

https://i-blog.csdnimg.cn/direct/0ccdf1f0173c4654ac14ecaf32a29e09.png

https://i-blog.csdnimg.cn/direct/ad073fa4505d4942829e83e1f1e058d4.png

生成代码成功。

2. 代码验证

代码验证包括硬件准备、代码烧录测试等步骤。

硬件准备包括STM32及其外设等连接、WiFi模块烧录机智云固件等。

2.1 WiFi模组烧录

由于机智云平台的连接协议不是开放的,因此我们自行实现连接到云平台,只能按照它的要求,烧录其定制的固件到WiFi模块,这样才能正确连接。

2.1.1 硬件连接

固件烧录的WiFi模块与串口模块接线图:

https://i-blog.csdnimg.cn/direct/aacfbdf445c34862956972824a8a27e1.png

为了方便,建议购买一个烧录器,如下:

https://i-blog.csdnimg.cn/direct/fc531bab911d42f69f3a28c7cb7a2126.png

将ESP8266直插进去即可。

2.1.2 软件及固件下载

烧录软件下载:

https://i-blog.csdnimg.cn/direct/d339d3e6aa624123a6c1fa71a26cb052.png

机智云固件下载:

https://i-blog.csdnimg.cn/direct/3935037c6924407b83e7b823dd1d66a1.png

下载如上图固件。

2.1.3 固件烧录

打开烧录工具: ESPFlashDownloadTool_v3.6.1.0.exe

在文件夹: 安信可

ESP8266

系列模组资料\

烧录工具\FLASH_DOWNLOAD_TOOLS_V3.6.1.0\

打开后如图:

https://i-blog.csdnimg.cn/direct/849e4300134545189f83197dadcc5a74.png

选择ESP8266 Download Tool:

https://i-blog.csdnimg.cn/direct/ec07d56df389414fa88e4d8b6b4444e7.png

烧录文件选择机智云提供的固件:

GAgent_00ESP826_04020034_8MbitUser1_combine_201806091441.bin

其他配置项如上图所示。

点击 START 开始烧录。

等待完成即可。

2.2 硬件电路连接

根据机智云生成代码里面用到的GPIO来连接电路,这样就不需要修改代码,如下:

1、STM32开发板:要与生成代码所选的“硬件平台”对应,如本示例使用的STM32F103C8T6

2、WiFi模组:ESP8266模组,与STM32连接,生成的代码默认用的是UART2。

3、按键2个:按键1(KEY1)与GPIO B10连接,按键2(KEY2)与GPIO B11连接。

原理图如下:

https://i-blog.csdnimg.cn/direct/ceff953bdb4049428f75a5f764939152.png

2.3 代码测试

解压生成的代码,打开keil工程,编译、烧录。

烧录程序后运行时,分别按下KEY1和KEY2会有相应打印,如下图:

https://i-blog.csdnimg.cn/direct/e34057f4f85e42eeb70c73a8b99c26e9.png

若运行日志输出具备相关信息(KEY1 PRESS、KEY2 PRESS等),则说明硬件没有问题。

3. 连接云平台

3.1 APP下载

进入机智云官网的下载中心:

找到调试APP,可通过二维码下载,如下:

https://i-blog.csdnimg.cn/direct/70dffe2c505e4b9c996be4cfd7e0e7b4.png

3.2 APP给设备配网

打开APP,先注册登陆,登陆成功后如下图:

https://i-blog.csdnimg.cn/direct/87d9bf6b77dc4023a9ffd250b97c56f3.png

点击添加设备,如下:

选择热点配网

https://i-blog.csdnimg.cn/direct/973c74a7253b4ce9bd21f14976270c0e.png

进入热点配网,输入WiFi账号和密码:

https://i-blog.csdnimg.cn/direct/95b155e0e71f451ca9a19becb6b432ca.png

上面的是路由器的WiFi名称和密码;

下面的是ESP8266发射的WiFi名称和密码。

注:ESP8266的WiFi需要先短按一下KEY2进入热点配网模式,再转到手机的WLAN列表查找XPG-GAgent-开头的WiFi,默认密码是:123456789

如我的ESP8266后面是FBE3,输入如下:

https://i-blog.csdnimg.cn/direct/176ef933d68a4439bf5cdf117095b38a.png

点击下一步,模组类型选择“乐鑫”,进入以下界:

https://i-blog.csdnimg.cn/direct/02a5ede2102947f592e2b865529540bb.png

提示将设备调试到待连接状态。

此时将设备上电后,短按一下KEY2按键,再点击“我已完成上述操作”。

进入下一步的界面如下:

https://i-blog.csdnimg.cn/direct/688b59a640744e38a321ff4071e35502.png

点击蓝色字体,自动跳转到手机的WLAN界面,选择ESP8266的热点进行连接。

连接上热点后,再返回APP,可见正在搜索连接设备中,如下:

https://i-blog.csdnimg.cn/direct/6a796ab4417b4f5f82e565d7fe761a1f.png

等待连接成功。

最终可能会提示配置超时:

https://i-blog.csdnimg.cn/direct/d2ecda715f704ed9be6e419c67ce1472.png

请确保输入的WiFi名称和密码是否正确。

但经常会出现提示配置超时,但实际上是成功的,此时可点击取消,回到主界面看是否有添加到新设备,若有新设备则表示配网成功。

如下图表示成功配网:

https://i-blog.csdnimg.cn/direct/51bfb2f7ea21496a88e03ef7b8307359.png

一旦配网成功,在WiFi名称及密码不变的情况下,不需要再进行配网,每次开机会自动回连。

3.3 APP远程控制设备

在APP主界面中,点击绑定的设备“LED”进入设备详情,如下:

https://i-blog.csdnimg.cn/direct/ae17b436ca464b118dc6b3182aa8cf34.png

点击LED按键,切换开关状态,如打开再关闭,可见日志输出也对应:

https://i-blog.csdnimg.cn/direct/789de8734f8c411e9b253e892ba38a97.png

打开keil工程,可找到处理在如下位置:

https://i-blog.csdnimg.cn/direct/92917b8f01b9430aa3bf039d93475cd1.png

如上图,我们只需在对应位置添加打开或关闭LED的操作代码即可实现APP远程控制LED的功能。

4.云平台开发板及更多功能

可能有部分同学缺少硬件或对硬件不熟悉,曾哥也为此设计了一套简单的机智云平台开发板,并配套了详细的教程,有需要的同学可联系曾哥。

此开发板可实现基本的指令下发、数据上传等数据上下行功能,指令下发如APP远程控制LED开关,数据上行如上传温湿度到云平台,同时预留OLED屏也可拓展更多功能。

硬件清单:

stm32f103c8t6最小系统板、ESP8266 WiFi模块、按键2、LED3、温湿度传感器DHT11、0.96寸OLED屏、USB电源模块等。

机智云平台开发板实物:

https://i-blog.csdnimg.cn/direct/8cdb1630c4c9461a9d6340cfb40f8d5d.png

原理图及PCB:

https://i-blog.csdnimg.cn/direct/5a2aba9e0d3a474d95158f48ad97b915.png

https://i-blog.csdnimg.cn/direct/65767e9b7d95427b8d6fc546f7fcae64.png

整套开发板配套完善资料,可快速入门并上手,亦可用于二次开发,大大提升项目开发效率。

写在最后:

资料/指导答疑/技术交流/选题/帮助,请点链接:

如有任何问题,请联系作者,谢谢!

      • 作者:曾哥,专注嵌入式。写于2024-9-10