ESP8266-01 + stm32单片机 + app开发实现无限距离控制

本文介绍了如何使用ESP8266-01与STM32F103ZET6单片机通过串口通信,结合物联网平台实现实时远程控制。首先搭建ESP8266开发环境,然后进行硬件接线,接着选择并接入免费物联网平台,最后编写Arduino代码和STM32接收控制代码,完成手机app与硬件的通信。
摘要由CSDN通过智能技术生成

今天来给大家出一篇 esp8266的无线传输。一开始接触是从淘宝买的跨阵物联 -M1模块,由于次模块管脚较少,不利于开发,所以本人打算利用模块上的esp8266-01,配合这STM32F103ZET6,二者串口通信来拓展管脚。贴出淘宝链接

  1. 第一步 搭建esp8266-01开发环境,一开始,以为这个小玩意和蓝牙模块一样,只是一个数据传输的作用,直到自己查阅资料,发现这就是一个功能强大的单片机。 下面摘要两个大神的帖子。大家可以参照下面两个帖子,来搭建好esp8266的开发环境。
    http://www.arduino.cn/thread-17895-1-1.html
    http://www.arduino.cn/thread-17896-1-1.html

  2. 第二步就是esp8266-01的硬件接线

    esp8266-01 u转串模块
    VCC-----------3.3
    GND----------GND
    GPIO0--------GND
    CH_PD--------3.3
    RX-------------TX
    TX-------------Rx
    参照此图片

  3. 第三步就是物联平台了,可以给大家推荐几个免费的物联网平台:贝壳物联、酱菜创客等等。之前用过酱菜创客的平台,这个平台虽然免费,但是本人觉得这个平台传输太慢了,点个灯要好几秒。所以果断放弃了这个。之后又接入过阿里云的平台,但是要付钱的,所以也gg了。 最后找到了一个稳定而且免费的物联平台:
    http://www.doit.am/
    言归正传,我们为什么要找物联平台。 我们的目的是要实现无论在何时何地都可以实现控制。思路是这样的: 要用手机app控制一盏灯,就是要把手机发出数据让单片机接收到,在这中间,需要一个数据转发的过程,所以,我们需要云平台来给我们转发数据。
    首先,手机接入云平台,然后发送信息。
    其次,云平台收到后,转发给其他接入平台的设备。
    最后,esp8266接入云平台,收到转发的数据,通过串口发给单片机,从而实现了控制。
    具体接入平台的步骤:

首先点击网站获取自己的IP和端口号 http://tcp.doit.am/
打开后你会看到这样的页面,页面里的IP地址和端口号需要记下来,一会在esp8266的编程中需要用到。
在这里插入图片描述

  1. 准备工作做好后,开始实战。

开始用arduino软件平台进行编写。下面贴出部分代码:

#include <ESP8266WiFi.h>
const char *ssid     = "。。。。。 ";//这里是我的wifi,你使用时修改为你要连接的wifi ssid
const char *password = "。。。。。";//你要连接的wifi密码
const char* serverIP  = "。。。。";//你再网站上得到的IP
int serverPort = 。。。。;//你在网站上得到的端口号
WiFiClient client;
char buff[512];           // 最大存512个字符变量
int nm = 0;         //记录当前接收的标志位
int nm1 = 0;      // 定时连接的标志位

void connect1()  //接入
{
   
    if (!client.connect(serverIP, serverPort))//如果连接失败
    {
   
      Serial.println("connection failed");          //esp8266  发送
      delay(5000);
      return;
    }
    bConnected = true;
    Serial.println("connection ok")
  • 31
    点赞
  • 230
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
### 回答1: app+stm32+esp8266+mqtt协议可以实现将数据上传到onenet云平台。具体实现步骤如下: 1. 编写stm32程序,采集传感器数据并通过esp8266模块将数据发送到onenet云平台。 2. 在esp8266模块中使用mqtt协议连接onenet云平台,并将采集到的数据发布到指定的主题。 3. 在onenet云平台上创建设备,并将设备与mqtt主题绑定。 4. 在onenet云平台上创建数据流,并将数据流与设备绑定。 5. 在onenet云平台上创建数据模板,并将数据模板与数据流绑定。 6. 在app中使用onenet提供的api接口,获取设备数据并进行展示。 通过以上步骤,就可以实现stm32采集到的数据上传到onenet云平台,并在app中进行展示。 ### 回答2: STM32是意法半导体公司推出的一款32位微控制器芯片,具有低功耗、高性能、高可靠性等特点,广泛应用于物联网、工业自动化、智能家居等领域。ESP8266是一款集成WiFi模块的微控制器芯片,具有低成本、低功耗、易于上手等特点,也广泛应用于物联网、智能家居等领域。MQTT协议是一款轻量级的物联网通信协议,可以实现低功耗、高可靠性、高扩展性等特点,特别适用于物联网场景的设备间通信。 OneNet是中国移动推出的物联网云平台,提供设备管理、数据存储和可视化展示等功能,支持多种通信协议,包括MQTT。基于STM32ESP8266,我们可以通过MQTT协议将设备数据上传至OneNet云平台,实现对设备状态的监控和远程控制。 具体实现步骤包括: 1. 在STM32ESP8266中分别实现MQTT协议的相关功能,如连接服务器、发布订阅消息、接收数据等。 2. 接入OneNet云平台,创建设备和数据流,并获取设备ID和API Key。 3. 在STM32中发送设备数据到ESP8266ESP8266通过MQTT协议将数据上传到OneNet云平台,并记录上传数据的时间戳。 4. 在OneNet云平台中可以实现对设备数据的监控、历史数据查询、报警设置等功能。同时,也可以通过API接口实现数据的远程控制。 总之,基于STM32ESP8266的MQTT协议上云OneNet,是一种方便快捷、低成本高效的物联网应用方案。通过实现设备与互联网的连接,可以实现智能化控制、远程监控等功能,提高工作效率和生活品质。 ### 回答3: STM32ESP8266都是常用的嵌入式单片机,而MQTT是一种轻量级的消息传输协议,通常被用于物联网设备间的通信。而OneNet是国内比较知名的物联网云平台,它提供开发者友好的接口以及强大的数据管理功能,方便开发者快速构建物联网应用。在使用STM32ESP8266进行物联网开发上,MQTT协议和OneNet的结合能够为开发带来很多便利。 首先讲一下STM32ESP8266的配合。在嵌入式系统中,STM32通常作为主控制器,用于控制各种传感器以及执行设备控制操作。而ESP8266则可以作为一种无线模块,用于与网络进行通信。在物联网应用中,ESP8266作为WiFi模块,可以将STM32采集到的数据或进行的控制操作通过WiFi连接发送到数据云平台上,用于实时数据监控或设备远程控制等。 而MQTT协议可以帮助我们快速实现消息传输和设备控制。MQTT协议相较于HTTP等传统网络协议来说,它的传输速度更快、开销更小,且支持低功耗的设备。比如在家庭物联网系统中,我们可以将一些传感器(比如温度、湿度、烟雾检测等)通过STM32采集到,然后通过ESP8266模块发送到OneNet。这样就可以实现实时的数据监控和远程控制等功能了。 最后,OneNet平台是国内较为知名的物联网云平台,支持MQTT协议,提供了丰富的接口和SDK,可以帮助开发者快速构建物联网应用。在使用MQTT协议与OneNet平台结合时,我们只需要在设备端运用MQTT协议,将采集到的数据发送到OneNet平台上,然后在云平台上进行数据存储、处理和分析等操作,从而实现对设备的远程监控和控制。 总的来说,STM32ESP8266的配合,MQTT协议的应用以及OneNet平台的支持,可以为物联网设备的快速开发和应用提供很大的帮助。未来,随着物联网的普及和发展,这一领域的应用前景将会更加广阔。
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值