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

    文章

    2666

    浏览量

    47326
  • 控制
    +关注

    关注

    4

    文章

    1010

    浏览量

    122615
  • APP
    APP
    +关注

    关注

    33

    文章

    1568

    浏览量

    72361
  • 机智云
    +关注

    关注

    2

    文章

    579

    浏览量

    26367
收藏 人收藏

    评论

    相关推荐

    ESP8266 太空人动画的 OLED 显示

    ESP8266 太空人动画的 OLED 显示
    的头像 发表于 10-08 15:06 205次阅读
    <b class='flag-5'>ESP8266</b> 太空人动画的 OLED 显示

    ESP8266 通过 MQTT 协议实现 LED 的远程控制

    本文简要介绍了搭建 EMQX 服务器实现基于 MQTT 协议远程控制 NodeMCU ESP8266 板载 LED 的解决方案。
    的头像 发表于 09-25 09:11 1762次阅读
    <b class='flag-5'>ESP8266</b> 通过 MQTT 协议<b class='flag-5'>实现</b> LED 的远程<b class='flag-5'>控制</b>

    机智入门必备》手把手教你烧录GAgent固件

    本文《机智入门必备》将详细讲解GAgent固件的烧录过程,从基础设置到实际操作,将一步步带你完成每一个环节,确保你的设备顺利连接机智平台
    的头像 发表于 09-12 08:04 299次阅读
    《<b class='flag-5'>机智</b><b class='flag-5'>云</b>入门必备》手把手教你烧录GAgent固件

    基于机智的智能私家车库控制系统设计与实现

    烟雾传感器用于火灾检测,HC-SR04超声波传感器用于水位监测,esp8266作为WiFi通信模块,通过机智物联网平台开发的手机APP
    的头像 发表于 09-11 08:04 401次阅读
    基于<b class='flag-5'>机智</b><b class='flag-5'>云</b>的智能私家车库<b class='flag-5'>控制</b>系统设计与<b class='flag-5'>实现</b>

    STM32 ESP8266阿里链接源码

    stm32F103C8T6 ESP8266 物联网电表 登录阿里
    发表于 08-29 14:21 5次下载

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和
    的头像 发表于 08-19 18:23 957次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 4211次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266将无法正常工作。 1. ESP8266简介 ESP8266是一款由Espres
    的头像 发表于 08-19 17:28 610次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 WiFi模块连接手机主要可以通过两种方式实现: 通过路由器连接(STA模式)和直接作为热点连接(AP模式) 。以下是两种连接方式的步骤: 一、通过路由器连接(STA模式) 配置
    的头像 发表于 08-19 17:27 2129次阅读

    机智ESP8266开发板RGB彩灯控件

    随着智能家居技术的迅猛发展,RGB彩灯控件正逐渐成为现代家庭不可或缺的一部分。在这一潮流中,机智(Gizwits)的ESP8266开发板RGB彩灯控件以其先进的物联网技术和多样化的灯光控制
    的头像 发表于 08-09 08:10 339次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b><b class='flag-5'>ESP8266</b>开发板RGB彩灯控件

    STM32F103 + ESP8266机智开发常见问题集锦:入门者必读!

    关于ESP8266模块的选择针对初学者,强烈建议选择带有串口的ESP8266开发板!这可以避免像我曾经遇到的烧录固件失败等问题。推荐直接购买已预装机智固件的模块,或者带有串口下载功能
    的头像 发表于 07-18 08:11 397次阅读
    STM32F103 + <b class='flag-5'>ESP8266</b>与<b class='flag-5'>机智</b><b class='flag-5'>云</b>开发常见问题集锦:入门者必读!

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 971次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    确定ESP8266固件下载成功的方法

    在物联网设备的开发过程中,确定esp8266固件是否成功下载至设备十分关键。以下是一种简单有效的确认方法:机智物联网平台首先,确保你的ESP826
    的头像 发表于 05-16 08:10 504次阅读
    确定<b class='flag-5'>ESP8266</b>固件下载成功的方法

    使用Wi-Fi ESP8266方案模组接入平台

    ESP8266的模块芯片是基于无线通信协议的UARTWi-Fi透传模块芯片,支持802.11b/g/n的无线标准,并带有三种可选择的工作模式。ESP8266模块的控制是通过AT指令的形式控制
    的头像 发表于 05-10 08:20 1721次阅读
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模组接入<b class='flag-5'>云</b><b class='flag-5'>平台</b>

    STM32、ESP8266与MQTT连接阿里物联网的串口通信异常解析

    STM32、ESP8266与MQTT协议连接阿里物联网平台时常见的串口通信异常介绍 在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是
    的头像 发表于 04-19 17:19 1361次阅读