收藏官网首页
查看: 52|回复: 0

[资料] 《机智云Gokit3开发篇》6 连接wifi上云与移植SDK实现远程控制

跳转到指定楼层
楼主
 楼主| 发表于 4 天前 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
汉枫LPB120模块


注:文章结尾附本文章源码、原理图 资料链接

概述:介绍 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 连接好硬件,准备烧录


这里使用CH340  USB转TTL模块进行固件烧录


这里wifi模块已经引出了TX,RX,GND的引脚,直接连接即可



esp8266   GND  ---   GND
Esp8266  TX   ---   CH340的RXD
Esp8266  RX   ---   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


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表