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

发布于:2024-09-18 ⋅ 阅读:(10) ⋅ 点赞:(0)

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

机智云官网:机智云|智能物联网操作系统 (gizwits.com)

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

1.创建设备

1.1 注册登陆

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

1.2 创建产品

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

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

填写产品属性定义信息:

创建之后,显示如下:

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

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

1.3 生成代码

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

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

生成代码成功。

2. 代码验证

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

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

2.1 WiFi模组烧录

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

2.1.1 硬件连接

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

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

将ESP8266直插进去即可。

2.1.2 软件及固件下载

烧录软件下载:

安信可ESP8266系列接入机智云方案及问题排查指引 - Gizwits

机智云固件下载:

Gizwits

下载如上图固件。

2.1.3 固件烧录

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

在文件夹:安信可ESP8266系列模组资料\烧录工具\FLASH_DOWNLOAD_TOOLS_V3.6.1.0\

打开后如图:

选择ESP8266 Download Tool:

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

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连接。

原理图如下:

2.3 代码测试

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

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

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

3. 连接云平台

3.1 APP下载

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

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

3.2 APP给设备配网

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

点击添加设备,如下:

选择热点配网

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

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

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

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

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

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

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

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

进入下一步的界面如下:

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

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

等待连接成功。

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

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

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

如下图表示成功配网:

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

3.3 APP远程控制设备

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

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

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

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

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

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

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

硬件清单:

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

机智云平台开发板实物:

原理图及PCB:

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

写在最后:

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

stm32.txt · zengzr/share_contact - Gitee.com

如有任何问题,请联系作者,谢谢!
- - - 作者:曾哥,专注嵌入式。写于2024-9-10
 


网站公告

今日签到

点亮在社区的每一天
去签到