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

    文章

    2822

    浏览量

    52797
  • 控制
    +关注

    关注

    5

    文章

    1031

    浏览量

    125074
  • APP
    APP
    +关注

    关注

    33

    文章

    1589

    浏览量

    75641
  • 机智云
    +关注

    关注

    3

    文章

    629

    浏览量

    27632
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

    【应用】国产26MHz频率晶振应用于物联网WIFI物联网模块(串口转WiFi模块),Espressif(乐鑫)ESP8285/ESP8266芯片匹配测试OKESP8285其实是ESP8266的升级版
    的头像 发表于 11-21 15:37 4051次阅读
    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32开发板常见的2种下载方式

    ESP32和ESP8266是性价比很高而且使用较为广泛的的Wi-Fi模块,在物联网(IoT)领域的DIY项目中可以首先考虑这2款产品。 两款芯片都属于32位处理器。ESP32是低功耗双核80MHz
    的头像 发表于 11-10 20:30 335次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32开发板常见的2种下载方式

    ESP8266ESP32开发板常见的2种下载方式

    协议,完整的 TCP/IP 协议栈以及蓝牙协议栈。用户可以使用这两款模块为现有的设备添加WIFI联网功能或蓝牙(ESP32),轻松的构建独立的网络控制器和远程控制监控设备。 ESP8266
    发表于 10-24 18:04

    基于机智平台的新疆农田气候检测系统设计与实现

    本文设计了一种基于平台的新疆农田气候检测系统,用于实时监测风速、温湿度和PM2.5等环境参数,提升农业生产智能化水平。系统采用STM32单片机与传感器采集数据,通过ESP8266Wi-Fi模块上传
    的头像 发表于 09-23 18:45 490次阅读
    基于<b class='flag-5'>机智</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>的新疆农田气候检测系统设计与<b class='flag-5'>实现</b>

    舵机怎么控制正反,舵机怎么使用?

    一、舵机怎么控制正反? 舵机的 “正反” 本质是 旋转方向的控制 ,但其方向逻辑与直流电机不同(并非通过电源正负极切换),而是通过 目标角度
    的头像 发表于 08-19 10:52 1560次阅读

    基于智能家居项目 完结散花

    一、项目目标通过机智平台,快速实现以下功能:MCU+ESP8266实现单点
    的头像 发表于 07-31 18:03 473次阅读
    基于智能家居项目  完结散花

    STM32+esp8266连接机智,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植)

    本教程将详细介绍如何将STM32微控制器与ESP8266Wi-Fi模块连接到机智平台实现温湿
    的头像 发表于 07-15 18:54 748次阅读
    STM32+<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'>平台</b>配置、代码生成、代码移植)

    【RA-Eco-RA4M2开发板评测】使用RA4M2和ESP8266实现MQTT协议上传传感器数据到服务器并反向点灯控制

    马上就到RA4M2开发板评测的结尾了,今天给瑞萨论坛线上最具创意的一篇帖子,通过RA4M2开发板,和ESP8266 WIFI模块,然后通过手机上的MQTTOOL来实现手机控制RA4M2远程点灯,即使
    发表于 05-29 15:29

    基于STM32 HAL库与标准库的esp8266接入机智方案(二)

    在《基于STM32HAL库与标准库的esp8266接入机智方案(一)》中,我们详细介绍了硬件连接和机智客户端的创建。本篇将重点讲解如何下
    的头像 发表于 05-28 18:02 1116次阅读
    基于STM32 HAL库与标准库的<b class='flag-5'>esp8266</b>接入<b class='flag-5'>机智</b><b class='flag-5'>云</b>方案(二)

    基于STM32 HAL库与标准库的ESP8266接入机智方案(一)

    最近在项目中需要进行物联网平台对接,之前我找到了一些资料,发现机智是一个不错的平台机智
    的头像 发表于 05-28 18:02 819次阅读
    基于STM32 HAL库与标准库的<b class='flag-5'>ESP8266</b>接入<b class='flag-5'>机智</b><b class='flag-5'>云</b>方案(一)

    机智Airlink配网超时、数据上传延迟及更新不及时问题分析

    本教程旨在分析并解决在使用32单片机和ESP8266-01S接入机智时可能遇到的配网超时、数据上传延迟及更新不及时的问题。通过将传感器采集的数据上传至机智
    的头像 发表于 05-26 18:03 767次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b>Airlink配网超时、数据上传延迟及更新不及时问题分析

    ESP8266烧录与机智一键配网教程

    ESP8266模块因其低成本和高性能,广泛应用于智能家居和工业自动化等领域。机智平台提供了一键配网功能,简化了设备的联网过程。本教程将详细介绍如何使用
    的头像 发表于 05-24 11:04 1553次阅读
    <b class='flag-5'>ESP8266</b>烧录与<b class='flag-5'>机智</b><b class='flag-5'>云</b>一键配网教程

    STM32与机智连接实现步骤与技巧(上篇)

    通过STM32与机智的连接,开发者可以实现设备的远程控制和数据管理,提升物联网应用的智能化水平。本文将介绍STM32与机智
    的头像 发表于 05-23 18:10 850次阅读
    STM32与<b class='flag-5'>机智</b><b class='flag-5'>云</b>连接<b class='flag-5'>实现</b>步骤与技巧(上篇)

    有人这CAN机器手臂控制板的原理图吗?CAN舵机ID无法被识别

    目前,插上OLED屏幕与机器手臂,无法显示手臂的舵机ID,通过USB连接点电脑,串口向ESP8266发送舵机角度查询指令返回无效角度与ID(esp8266应该没有问题)。已经更换新U
    发表于 04-22 12:19

    零知开源——ESP8266+MPU6050 实现运动姿态检测

    零知ESP8266的I2C通信        在运动姿态检测、机器人平衡控制、VR头戴设备等应用中,MPU6050(三轴加速度计+三轴陀螺仪)是一个常见的姿态传感器。而ESP8266作为一款低功耗
    的头像 发表于 02-20 17:54 2806次阅读
    零知开源——<b class='flag-5'>ESP8266</b>+MPU6050 <b class='flag-5'>实现</b>运动姿态检测