《机智云Gokit3开发篇》6 连接wifi上云与移植SDK实现远程控制
注:文章结尾附本文章源码、原理图 资料链接
概述:介绍 Gokit3 的“wifi”——ESP-12F 模组,并演示如何给它烧录机智云的 GAgent 固件,移植官方SDK,实现设备联网与APP数据显示与控制。
前期准备工作:
硬件准备:
Gokit3 开发板(板载 STM32F103 + ESP-12F)。
USB 转 TTL 模块(如 CH340)。
杜邦线若干(用于连接 TTL 模块与模组)。
软件准备:
乐鑫烧录工具 (Flash Download Tools)。---- 可以去乐鑫官网下载,文章结尾链接提供相应资料安装包
机智云 GAgent 固件包(以下会提供如何在机智云官网下载固件包)。
一、wifi联网的工作原理介绍
STM32 (主控芯片): 负责处理具体的业务(如控制灯光、读取传感器),通过串口USART与wifi模块进行通信实现上云。
ESP-12F (wifi模块): 负责连接 Wi-Fi,通过 TCP/IP 协议处理网络数据。
简单解释:STM32 通过串口(TX/RX)发送简单的指令给 ESP-12F,ESP-12F 将这些指令通过 Wi-Fi 发送到云端。反之亦然
二、烧录机智云固件
这里选择烧录GAgent固件的原因如下:
普通 AT 固件: 虽然能联网,但需要 STM32 写大量的代码来处理机智云的通信协议(MQTT、心跳包、加密等),开发极其复杂,容易出错。
机智云 GAgent 固件: 这是一个高度封装的固件。它把连接机智云所需的所有复杂协议都打包好了。
下面演示如何从官网下载固件及烧录演示
2.1官网下载机智云固件
进入机智云官网开发者中心的下载中心,选择GAgent固件下载
解压完后这个32Mbit_combine 版本就是Gokit3的wifi模组需要的固件
2.2 连接好硬件,准备烧录
这里使用CH340USB转TTL模块进行固件烧录
这里wifi模块已经引出了TX,RX,GND的引脚,直接连接即可
Esp8266 GND--- GND
Esp8266TX --- CH340的RXD
Esp8266RX --- CH340的TXD
供电的话我们选择直接使用板子供电,直接把wifi模块插在板子上的SOC模式,然后给SOC核心功能板供电即可
然后把wifi模组的按键达到GND就是为下载烧录模式
拉低 GPIO0(接地) -> 复位模组 -> 进入 UART 下载模式。
2.3 连接好硬件,准备烧录
打开乐鑫烧录工具 (Flash Download Tools)
这里选择刚刚下载的固件,地址填0x000
Flash Size (32Mbit), SPI Speed, 40MHZ
COM端口选择CH340的端口,如果不知道端口可以如图在设备管理器中查看
点击开始烧录下载
烧录成功,把ESP模组的按键拨回运行模式,拔出插回MCU模式,接上MCU底板,开始移植SDK实现上云
三、移植机智云SDK实现上云
3.1 打开机智云官网,开发者中心,创建设备,添加数据点
这里添加数据点,等下生成的SDK APP软件会有对应的模版,我们这里以控制亮RGB灯为例,创建三个数据点,分别控制红灯、绿灯、蓝灯
以此类推,创建三个数据点,红绿蓝
点击MCU 开发,选择对应的芯片,填入左上角复制的秘钥,生成SDK代码包
3.2 移植生成的SDK代码到自己工程
打开生成的代码包,把Gizwits和utils这两个文件夹复制进自己的工程,或者直接用这个工程也可以,这里以复制黏贴进自己的工程移植为例
然后打开Keil,在Keil添加入工程目录,记得引用一下头文件路径
3.3 打开CubeMX生成机智云SDK所需要的外设:
所需配置:Time2定时器作为基准时钟、USART1作为调试打印,USART2用于STM32与ESP8266通信
具体参数配置如下:
然后打开NVIC中断配置优先级如下:
打开工程,这里的定时器中断和串口2的中断回调函数,在SDK里面已经编写了,不需要重复编写。
3.4 编写主功能逻辑函数与调用接口函数:
初始化函数如下,记得引用移入代码的头文件
这个初始化函数设置数据点上报的默认值,这里我们默认值都给0
在主函数while里面运行这两个函数,与机智云交互函数调用
这里书写命令下发控制需要调用的结果
例如这里写接收到红灯数据点为1,就亮红灯,其他以此类推
3.5 设置key1 长按和短按 为选择配网模式
按键1短按: 设置为一键配网
按键1长按: 设置为热点配网
3.6 烧录运行,打开机智云APP
这里烧录方式的可以看此链接:https://club.gizwits.com/thread-170452-1-1.html
如何使用机智云APP配网连接硬件可以看此连接:https://club.gizwits.com/thread-170450-1-1.html
3.7 先短按Key1,进入一键配网模式,此时Gokit3亮白灯,打开机智云APP,开启一键配网,此时可以看到连接成功:
此时可以测试,远程控制
本文到此结束,谢谢大家!
源码、原理图资料链接
原理图:
链接: https://pan.baidu.com/s/1sNjl9m1t6flasBwPKZFK3A?pwd=WPC1 提取码: WPC1
源码:
链接: https://pan.baidu.com/s/1wqErf1tXGLQYLwW7y4UNww?pwd=WPC1 提取码: WPC1
页:
[1]