0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP8266+机智云平台实现APP控制舵机旋转

机智云 2023-08-10 08:13 次阅读

本文的开发项目由开发者发布在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等,适用于各种物联网应用场合。
b45d8f84-3712-11ee-bbcf-dac502259ad0.pngb4982db0-3712-11ee-bbcf-dac502259ad0.png

功能及模式介绍

主要功能:包括串口透传,PWM 调控,GPIO控制。

  • 串口透传:数据传输,传输的可靠性好,最大的传输速率为:460800bps。
  • PWM 调控:灯光调节,三色LED 调节,电机调速等。

GPIO控制:控制开关,继电器等。

工作模式:支持STA/AP/STA+AP 三种工作模式。

  • STA 模式:ESP8266模块通过路由器连接互联网,手机电脑通过互联网实现对设备的远程控制。
  • AP 模式:ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
  • STA+AP 模式:两种模式的共存模式,即可以通过互联网控制实现无缝切换,方便操作。

调试模块

1)硬件连线b4a103a4-3712-11ee-bbcf-dac502259ad0.png注意: 面板板处于通电状态

2)发送AT+RST指令

接好线后,将USB转TTL模块接入电脑打开串口助手,发送AT+RST指令

b4c489d2-3712-11ee-bbcf-dac502259ad0.png串口接收到模块返回的信息,调试完成。

02

关于机智云平台

机智云平台是机智云物联网公司经过多年行业内的耕耘及对物联网行业的深刻理解,而推出的面向个人、企业开发者的一站式智能硬件开发及云服务平台。平台提供了从定义产品、设备端开发调试、应用开发、产测、云端开发、运营管理、数据服务等覆盖智能硬件接入到运营管理全生命周期服务的能力。
机智云平台为开发者提供了自助式智能硬件开发工具与开放的云端服务。通过傻瓜化的自助工具、完善的SDK与API服务能力最大限度降低了物联网硬件开发的技术门槛,降低开发者的研发成本,提升开发者的产品投产速度,帮助开发者进行硬件智能化升级,更好的连接、服务最终消费者。

文档中心

提供一些开发教程资料,让快速掌握物联网开发技术变得非常简单。b4e8ebf6-3712-11ee-bbcf-dac502259ad0.png

开发者中心

机智云开发者中心,即自助开发云平台,可提供更高效、更便捷的开发平台服务与交互体验,如创建产品、APP和自动生成代码服务等。
b4ffbfb6-3712-11ee-bbcf-dac502259ad0.png

03

基于云平台的物联网开发

开发流程

  • 在平台开发者界面创建产品和小程序
  • 将GAgent固件烧入WiFi模组中
  • 平台自动生成MCU方案代码

将自动生成的代码移植到ST标准库(主要完成硬件功能设计、WiFi模块与MCU的通信)

关键概念介绍

* GAgent:

机智云官方提供的固件,可将其烧录进ESP8266 WiFi模组;烧录后,模组原来的AT指令集失去作用,模组能够接入机智云平台,并自动完成模组与平台间的数据交换。GAgent配网方式有airlink和softap。

b524d742-3712-11ee-bbcf-dac502259ad0.jpg

* MCU与WIFI模块的通信:

ESP8266用UART通信,并有应答机制;MCU与WIFI模块的通讯可以用MCU自带的USART(支持UART)资源。

04

开发实操内容

GAgent固件的烧写(ESP8266)

烧录的方法有两种,一是用烧录器烧录,二是用USB转TTL模块烧录。由于没有烧录器,下面介绍用USB转TTL烧录的方式。
1)下载GAgent固件包b5440ab8-3712-11ee-bbcf-dac502259ad0.png

下载好的固件包的内容,根据参数选择烧录的固件包

b55e4284-3712-11ee-bbcf-dac502259ad0.png

2)下载安可信ESP8266资料

b57dff52-3712-11ee-bbcf-dac502259ad0.png3)硬件接线(ESP-01s为例)

接线:

b59a88c0-3712-11ee-bbcf-dac502259ad0.png

4)打开ESP8266资料中的烧录软件

b5a90756-3712-11ee-bbcf-dac502259ad0.png

一直点进去直到找到.exe文件

b5c1c548-3712-11ee-bbcf-dac502259ad0.png

打开后是这样的图

b5eba53e-3712-11ee-bbcf-dac502259ad0.png

查看芯片参数(之前调试的时候有)

b4c489d2-3712-11ee-bbcf-dac502259ad0.png

参数配置

b6213190-3712-11ee-bbcf-dac502259ad0.png

点击start

b6357f06-3712-11ee-bbcf-dac502259ad0.png

完成烧录

b641fa2e-3712-11ee-bbcf-dac502259ad0.png注意: 烧写失败有可能是线接触不良(Combine包比较大),有时候需重试几次才能烧录成功。

检查GAgent固件是否烧录成功

1)进入机智云平台随便新建一个产品

b67ffbf8-3712-11ee-bbcf-dac502259ad0.png

随便加个数据点(不然调试助手会检测不到产品)

b694088c-3712-11ee-bbcf-dac502259ad0.png

可以看到左上角有PK和PS

b6b80796-3712-11ee-bbcf-dac502259ad0.png

2)下载机智云的串口调试助手

b6ca82e0-3712-11ee-bbcf-dac502259ad0.png

打开串口调试助手

b6ffdac6-3712-11ee-bbcf-dac502259ad0.png

3)将EPS8266模块与usb-TTL连接

b722f240-3712-11ee-bbcf-dac502259ad0.png

注意:ESP其他引脚都接VCC(手册上说悬空也行,但有的芯片必须得全接好才能正常工作)

4)进入模拟MCU、选择串口、SoftAP

b7349d24-3712-11ee-bbcf-dac502259ad0.png

点击SoftAp后,串口向模块发送进入SoftAP模式的信息,模块收到后会进行应答。若能接收到模块的信息则说明GAgent烧录成功。

5)打开手机WIFI界面可以看到XPG-GAgent开头的WiFi

b7546532-3712-11ee-bbcf-dac502259ad0.jpg

创建产品

根据自己的需求,按照步骤完成产品的创建

b76ce15c-3712-11ee-bbcf-dac502259ad0.pngb7811a14-3712-11ee-bbcf-dac502259ad0.pngb7a56428-3712-11ee-bbcf-dac502259ad0.png

b7c04c7a-3712-11ee-bbcf-dac502259ad0.png

机智云虚拟设备

1)下载中心下载机智云APP

b7d46336-3712-11ee-bbcf-dac502259ad0.png

2)开发者中心->虚拟设备->打开APP扫码绑定设备

b7e75202-3712-11ee-bbcf-dac502259ad0.png

3)APP上改变舵机角度,云端数据发生相应变化

b7f17214-3712-11ee-bbcf-dac502259ad0.png

MCU自动代码生成及代码移植

1)自动生成代码服务

b80d397c-3712-11ee-bbcf-dac502259ad0.png

下载代码即可

2)自动生成代码说明

a. 两个重要的包

b828fb80-3712-11ee-bbcf-dac502259ad0.png

自动生成代码中,Gizwits和Utils是我们需要的,一个建立起与机智云的通讯,一个是工具包。

b. 打开MDK-ARM文件夹,打开keil工程文件

可以看到,自动生成的代码是基于Hal库的,我们需要实现自己的功能,并将其移植到标准库中

b8402a30-3712-11ee-bbcf-dac502259ad0.png

c. 打开Gizwits中的gizwits_product.c

b84f0528-3712-11ee-bbcf-dac502259ad0.png

d. 机智云服务用到的三个外设

b861b542-3712-11ee-bbcf-dac502259ad0.png可以看到,需要用一个定时器(Timer)和两个串口(USART)

说明:

  • 定时器也可以用TIM1、TIM3,同理串口也不一定要用USART1和USART2

USART1用于打印调试信息,这一部分功能可以删去,但相应要修改一些代码

e. 关于USART1

在gizwits_product.c大概两百多行的位置,重写了fputc函数

b876acae-3712-11ee-bbcf-dac502259ad0.png

然后在utils/common.h文件中可以看到GIZWITS_LOG(日志函数)就是printf

b8a80cea-3712-11ee-bbcf-dac502259ad0.png

在自动生成的代码中,很多调试信息的打印都调用了GIZWITS_LOG

b8b8e808-3712-11ee-bbcf-dac502259ad0.png

当完成USART1的初始化并重写fputc函数后, 将USART1的端口与usb转TTL模块连接后接入电脑,借助串口助手可以打印调试信息到串口助手

b8e10770-3712-11ee-bbcf-dac502259ad0.png

重写的方式如上(本质上就是用USART1发送数据)

f.主要文件和接口

b8f039d4-3712-11ee-bbcf-dac502259ad0.png

b915872a-3712-11ee-bbcf-dac502259ad0.png

3) 代码移植 (需要根据需求进行修改)

将移植后的代码下载进单片机中,连接好硬件电路后,即可进入下一步

接线示范 (仅供参考,根据自己的实际需求接)

b93a7738-3712-11ee-bbcf-dac502259ad0.jpg说明:

  • 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下载

b95def6a-3712-11ee-bbcf-dac502259ad0.png

c. 用另外一台设备开启热点 (注意频段为2.4G)

b979d6da-3712-11ee-bbcf-dac502259ad0.jpg

d. 进入机智云连接设备

b984bac8-3712-11ee-bbcf-dac502259ad0.png

b9a5fd32-3712-11ee-bbcf-dac502259ad0.png

e. 输入热点密码,下一步

b9be4edc-3712-11ee-bbcf-dac502259ad0.png

f. 选择乐鑫 (选择模块对应的模组) 继续点直到进入,这时候先别点,先按下B10的按键(SoftAP模式的按键),让模组进入SoftAP工作模式,然后点几蓝色字体

b9d5c986-3712-11ee-bbcf-dac502259ad0.png

g. 点击XPG-GAgent-7067(漏了一步,在点击XPG前,手机要先连上热点)

b9ebf2e2-3712-11ee-bbcf-dac502259ad0.png注意:

若找不到XPG开头的,则可将MCU与WIFI模组通信的串口的发送口,通过USB转TTL接到电脑上,用串口助手查看发送的信息是否正确(与实操02中的协议一致),若不一致则需进一步进行检查。

ba28e724-3712-11ee-bbcf-dac502259ad0.png

还有一种情况,需接受调试串口的信息,看程序是否运行正常

ba408910-3712-11ee-bbcf-dac502259ad0.png

h. 回到机智云调试APP,等待设备连接

ba6ea232-3712-11ee-bbcf-dac502259ad0.png

若连接失败: 则检查热点质量,检查输入的热点密码是否正确

i.可以看到设备在线,点进去后

ba7c20ec-3712-11ee-bbcf-dac502259ad0.png

j. 可以通过手机控制舵机的角度

ba8c73de-3712-11ee-bbcf-dac502259ad0.png

05

APP生成

1)创建→ \rightarrow→移动应用→ \rightarrow→应用名称、应用包名随便填(应用包名最好英文)→ \rightarrow→关联应用,不关联

baad7174-3712-11ee-bbcf-dac502259ad0.png

2)关联应用→ \rightarrow→选择产品 (图标壁纸可以根据喜好,自己上传资源)

bac69fa0-3712-11ee-bbcf-dac502259ad0.png

3)构建应用→ \rightarrow→应用构建→ \rightarrow→构建测试版

bad8dd00-3712-11ee-bbcf-dac502259ad0.png

4)构建成功后可以用手机下载

bae9a734-3712-11ee-bbcf-dac502259ad0.png

5)添加设备 (过程与在调试APP添加设备类似)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2484

    浏览量

    46530
  • 控制
    +关注

    关注

    4

    文章

    997

    浏览量

    122142
  • APP
    APP
    +关注

    关注

    33

    文章

    1529

    浏览量

    71629
  • 机智云
    +关注

    关注

    2

    文章

    542

    浏览量

    26216
收藏 人收藏

    评论

    相关推荐

    ESP8266-01烧写机智GAgent使用哪种SPI模式?

    ESP8266-01烧写机智GAgent使用哪种SPI模式 官网有DIO和QIO两种
    发表于 11-10 08:06

    ESP8266-01烧录机智GAgent时SPI Mode选择哪种?

    ESP8266-01烧录机智GAgent时SPI Mode选择哪种?是选择合并的固件还是单独烧写
    发表于 11-10 07:54

    ESP8266控制舵机使用GPIO的话可以最大驱动多大功率的舵机

    ESP8266控制舵机使用GPIO的话可以最大驱动多大功率舵机
    发表于 11-10 07:17

    Esp8266接入什么平台支持阿里智能方糖控制

    Esp8266接入什么平台支持阿里智能方糖控制
    发表于 11-09 06:41

    基于ESP8266机智平台控制系统设计

    项目摘要:本项目以智能家居为主题,基于ESP8266机智平台控制系统,利用机智平台
    的头像 发表于 11-07 08:10 788次阅读
    基于<b class='flag-5'>ESP8266</b>的<b class='flag-5'>机智</b>云<b class='flag-5'>平台</b><b class='flag-5'>控制</b>系统设计

    nodemcu和esp8266是什么关系?

    是芯片在esp8266芯片加上4MB spi flash变成esp-12模块;再在esp-12模块加上底板,加上USB转串口就变成NodeMCU。 百科给出的解释是,NodeMCU,是一个开源的物联网
    的头像 发表于 10-20 14:53 2281次阅读
    nodemcu和<b class='flag-5'>esp8266</b>是什么关系?

    ESP8266-01如何单模块连接机智或ONENET等平台?

    ESP8266-01单模块可以直接连接机智吧,不通过MCU。 另外,如何利用APP控制ESP8266
    发表于 10-19 07:07

    基于STM32F103做的WIFI指纹智能门锁

    基于STM32F103做的WIFI指纹智能门锁,WIFI使用的是ESP8266+机智连接,指纹模块是FPM10A光学指纹模块,加12864屏幕显示,还有矩阵键盘输入密码,用舵机
    发表于 09-27 07:47

    基于机智云物联网平台的温湿度和光照强度获取

    ,而机智云服务器可以和机智app进行数据交互。为此,实现stm32通过esp8266可以与机智
    的头像 发表于 08-30 08:12 1257次阅读
    基于<b class='flag-5'>机智</b>云物联网<b class='flag-5'>平台</b>的温湿度和光照强度获取

    机友分享|ESP8266+机智平台实现APP控制舵机旋转

    本文的开发项目由开发者发布在CSDN博客(ID为nanxl1)分享,主要介绍了使用ESP866模块、机智平台APP实现远程
    的头像 发表于 08-09 19:25 3113次阅读
    机友分享|<b class='flag-5'>ESP8266+</b><b class='flag-5'>机智</b>云<b class='flag-5'>平台</b><b class='flag-5'>实现</b><b class='flag-5'>APP</b><b class='flag-5'>控制</b><b class='flag-5'>舵机</b><b class='flag-5'>旋转</b>

    使用Firebase的ESP8266物联网平台

    电子发烧友网站提供《使用Firebase的ESP8266物联网平台.zip》资料免费下载
    发表于 07-03 09:54 0次下载
    使用Firebase的<b class='flag-5'>ESP8266</b>物联网<b class='flag-5'>平台</b>

    ESP8266ESP32上的WiFi Webradio

    电子发烧友网站提供《ESP8266ESP32上的WiFi Webradio.zip》资料免费下载
    发表于 06-13 11:38 0次下载
    <b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP</b>32上的WiFi Webradio

    ESP8266初次如何实现无线通信(基于电脑与ESP8266)

    一.需要的软件及硬件 1.软件 2.硬件 二.ESP8266的使用 .ESP8266的介绍 2.ESP8266进行初始AT指令的配置步骤 三.所用软件安装分享 ESP8266
    发表于 05-30 09:53 14次下载
    <b class='flag-5'>ESP8266</b>初次如何<b class='flag-5'>实现</b>无线通信(基于电脑与<b class='flag-5'>ESP8266</b>)

    CC2530采用ESP8266与手机APP通信

    项目概述: 项目实现通过CC2530控制ESP8266将其配置成AP+TCP服务器模式,并通过手机APP连接到TCP服务器并完成数据传输。ESP82
    的头像 发表于 05-23 09:15 2853次阅读

    基于arduino用esp8266和继电器实现小爱同学开关灯

    esp8266和继电器实现小爱同学开关灯 房间的灯离床太远了,于是想到用esp8266配合点灯科技app实现用小爱同学开关灯。于是就用小
    发表于 05-04 11:15 1次下载
    基于arduino用<b class='flag-5'>esp8266</b>和继电器<b class='flag-5'>实现</b>小爱同学开关灯