本文的开发项目由开发者发布在CSDN博客(ID为nanxl1)分享,主要介绍了使用ESP866模块、机智云平台及APP实现远程控制舵机旋转,实操步骤包括调试模组、固件烧录、代码移植、云平台接入及APP生成等。具体开发流程为在机智云平台开发者界面创建产品和小程序;将GAgent固件烧入WiFi模组;平台自动生成MCU方案代码;将自动生成的代码移植到ST标准库(主要完成硬件功能设计、WiFi模块与MCU的通信)。
01
ESP8266 模块简介
ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。
模块特点
支持无线802.11 b/g/n 标准
支持STA/AP/STA+AP三种工作模式
内置TCP/IP协议栈,支持多路TCP Client连接
支持丰富的Socket AT指令
支持UART/GPIO数据通信接口
支持Smart Link 智能联网功能
支持远程固件升级(OTA)
内置32位MCU, 可兼作应用处理器
超低能耗,适合电池供电应用
3.3V 单电源供电
引脚功能介绍
ESP8266硬件接口丰富,可支持UART,IIC,PWM,GPIO,ADC等,适用于各种物联网应用场合。
功能及模式介绍
主要功能:包括串口透传,PWM 调控,GPIO控制。
GPIO控制:控制开关,继电器等。
工作模式:支持STA/AP/STA+AP 三种工作模式。
- STA 模式:ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。
- AP 模式:ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
- STA+AP 模式:两种模式的共存模式,即可以通过互联网控制实现无缝切换,方便操作。
调试模块
1)硬件连线注意: 面板板处于通电状态
2)发送AT+RST指令
接好线后,将USB转TTL模块接入电脑打开串口助手,发送AT+RST指令
串口接收到模块返回的信息,调试完成。
02
关于机智云平台
机智云平台是机智云物联网公司经过多年行业内的耕耘及对物联网行业的深刻理解,而推出的面向个人、企业开发者的一站式智能硬件开发及云服务平台。平台提供了从定义产品、设备端开发调试、应用开发、产测、云端开发、运营管理、数据服务等覆盖智能硬件接入到运营管理全生命周期服务的能力。
机智云平台为开发者提供了自助式智能硬件开发工具与开放的云端服务。通过傻瓜化的自助工具、完善的SDK与API服务能力最大限度降低了物联网硬件开发的技术门槛,降低开发者的研发成本,提升开发者的产品投产速度,帮助开发者进行硬件智能化升级,更好的连接、服务最终消费者。
文档中心
提供一些开发教程和资料,让快速掌握物联网开发技术变得非常简单。
开发者中心
机智云开发者中心,即自助开发云平台,可提供更高效、更便捷的开发平台服务与交互体验,如创建产品、APP和自动生成代码服务等。
03
基于云平台的物联网开发
开发流程
- 在平台开发者界面创建产品和小程序
- 将GAgent固件烧入WiFi模组中
- 平台自动生成MCU方案代码
将自动生成的代码移植到ST标准库(主要完成硬件功能设计、WiFi模块与MCU的通信)
关键概念介绍
* GAgent:
机智云官方提供的固件,可将其烧录进ESP8266 WiFi模组;烧录后,模组原来的AT指令集失去作用,模组能够接入机智云平台,并自动完成模组与平台间的数据交换。GAgent配网方式有airlink和softap。
* MCU与WIFI模块的通信:
ESP8266用UART通信,并有应答机制;MCU与WIFI模块的通讯可以用MCU自带的USART(支持UART)资源。
04
开发实操内容
GAgent固件的烧写(ESP8266)
烧录的方法有两种,一是用烧录器烧录,二是用USB转TTL模块烧录。由于没有烧录器,下面介绍用USB转TTL烧录的方式。
1)下载GAgent固件包
下载好的固件包的内容,根据参数选择烧录的固件包
2)下载安可信ESP8266资料
3)硬件接线(ESP-01s为例)
接线:
4)打开ESP8266资料中的烧录软件
一直点进去直到找到.exe文件
打开后是这样的图
查看芯片参数(之前调试的时候有)
参数配置
点击start
完成烧录
注意: 烧写失败有可能是线接触不良(Combine包比较大),有时候需重试几次才能烧录成功。
检查GAgent固件是否烧录成功
1)进入机智云平台随便新建一个产品
随便加个数据点(不然调试助手会检测不到产品)
可以看到左上角有PK和PS
2)下载机智云的串口调试助手
打开串口调试助手
3)将EPS8266模块与usb-TTL连接
注意:ESP其他引脚都接VCC(手册上说悬空也行,但有的芯片必须得全接好才能正常工作)
4)进入模拟MCU、选择串口、SoftAP
点击SoftAp后,串口向模块发送进入SoftAP模式的信息,模块收到后会进行应答。若能接收到模块的信息则说明GAgent烧录成功。
5)打开手机WIFI界面可以看到XPG-GAgent开头的WiFi
创建产品
根据自己的需求,按照步骤完成产品的创建
机智云虚拟设备
1)下载中心下载机智云APP
2)开发者中心->虚拟设备->打开APP扫码绑定设备
3)APP上改变舵机角度,云端数据发生相应变化
MCU自动代码生成及代码移植
1)自动生成代码服务
下载代码即可
2)自动生成代码说明
a. 两个重要的包
自动生成代码中,Gizwits和Utils是我们需要的,一个建立起与机智云的通讯,一个是工具包。
可以看到,自动生成的代码是基于Hal库的,我们需要实现自己的功能,并将其移植到标准库中
c. 打开Gizwits中的gizwits_product.c
d. 机智云服务用到的三个外设
可以看到,需要用一个定时器(Timer)和两个串口(USART)
说明:
- 定时器也可以用TIM1、TIM3,同理串口也不一定要用USART1和USART2
USART1用于打印调试信息,这一部分功能可以删去,但相应要修改一些代码
e. 关于USART1
在gizwits_product.c大概两百多行的位置,重写了fputc函数
然后在utils/common.h文件中可以看到GIZWITS_LOG(日志函数)就是printf
在自动生成的代码中,很多调试信息的打印都调用了GIZWITS_LOG
当完成USART1的初始化并重写fputc函数后, 将USART1的端口与usb转TTL模块连接后接入电脑,借助串口助手可以打印调试信息到串口助手
重写的方式如上(本质上就是用USART1发送数据)
f.主要文件和接口
3) 代码移植 (需要根据需求进行修改)
将移植后的代码下载进单片机中,连接好硬件威廉希尔官方网站 后,即可进入下一步
接线示范 (仅供参考,根据自己的实际需求接)
说明:
- A2、A3为USART的端口,分别接WIFI模块的TX、RX
- WIFI模块除了TX、RX和GND,其余引脚工作时接高电平(手册解释有些引脚浮空也行,但我这块实测都得接高电平)
- B10、B12、B14为选择WIFI模块工作模式的三个按键分别对应(RESET、SoftAP、AirLink)
- A7为光敏传感器模拟信号输入口
- A0为控制舵机PWM信号输出口
- A1接按键,控制角度加30°
这里USART1的A9、A10未接线,可接USB转TTL模块将调试信息打印到电脑的串口助手
5)设备连网
a. 准备工作
需要: 机智云APP,两台移动设备(手机,一台用来开热点,热点频率为2.4G)
b. 机智云APP下载
c. 用另外一台设备开启热点 (注意频段为2.4G)
d. 进入机智云连接设备
e. 输入热点密码,下一步
f. 选择乐鑫 (选择模块对应的模组) 继续点直到进入,这时候先别点,先按下B10的按键(SoftAP模式的按键),让模组进入SoftAP工作模式,然后点几蓝色字体
g. 点击XPG-GAgent-7067(漏了一步,在点击XPG前,手机要先连上热点)
注意:
若找不到XPG开头的,则可将MCU与WIFI模组通信的串口的发送口,通过USB转TTL接到电脑上,用串口助手查看发送的信息是否正确(与实操02中的协议一致),若不一致则需进一步进行检查。
还有一种情况,需接受调试串口的信息,看程序是否运行正常
h. 回到机智云调试APP,等待设备连接
若连接失败: 则检查热点质量,检查输入的热点密码是否正确
i.可以看到设备在线,点进去后
j. 可以通过手机控制舵机的角度
05
APP生成
1)创建→ \rightarrow→移动应用→ \rightarrow→应用名称、应用包名随便填(应用包名最好英文)→ \rightarrow→关联应用,不关联
2)关联应用→ \rightarrow→选择产品 (图标壁纸可以根据喜好,自己上传资源)
3)构建应用→ \rightarrow→应用构建→ \rightarrow→构建测试版
4)构建成功后可以用手机下载
5)添加设备 (过程与在调试APP添加设备类似)
-
模块
+关注
关注
7文章
2705浏览量
47463 -
控制
+关注
关注
4文章
1011浏览量
122663 -
APP
+关注
关注
33文章
1573浏览量
72476 -
机智云
+关注
关注
2文章
589浏览量
26406
发布评论请先 登录
相关推荐
评论