本文档将介绍如何用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
机智云固件下载:
下载如上图固件。
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