51单片机与ESP8266轻松上手Onenet(三)--温度上传onenet平台

这篇具有很好参考价值的文章主要介绍了51单片机与ESP8266轻松上手Onenet(三)--温度上传onenet平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  51单片机与ESP8266快速上手物联网系列将一步步介绍89C51单片机将采集到的DS18B20的温度数据通过ESP8266 WIFI模块实时上传到onenet云平台这样一个案例。

      前面我们硬件对ESP8266模块刷入OneNET的AT固件(51单片机与ESP8266轻松上手Onenet(一)--Onetnet MQTT 固件烧录),并对于OneNET-MQTT ESP8266 AT指令天测试(51单片机与ESP8266轻松上手Onenet(二)--onenet AT指令测试)。

       今天我们修改已有的DS18B20数码测温案例(案例程序下载地址见DS18B20测温与数码管显示),实现DS18B20检测的温度的实时上传到onenet云平台。今天内容如下:

       

                                    本编内容如下:                                 

                                    1 硬件电路连接                                 

                                    2 程序的编写

                                    2.1串口驱动程序

                                    2.2AT指令函数                            

                                    3 测试                                        

                                                                              

1.硬件电路连接

         硬件主要自己设计的单片机开发板、USB转串口工具和ESP8266。单片机开发板上继承了温度传感器DS18B20、数码管单片机采用5V供电,没有3.3V电源,ESP8266需要3.3V供电,不能直接接在单片机开发板的电源输出。而USB转串口工具支持5V和3.3V供电,所以这里采用USB转串口工具给开发板和ESP8266供电,可以保证串口通信单片机和ESO8266参考地一致。硬件接线如下:

USB转串口工具5V-----接开发板上电源输出VCC

USB转串口工具GND----接开发板上电源输出GND

ESP8266的3.3V-----USB转串口工具3.3V

ESP8266的GND-----接开发板上电源输出GND

ESP8266的RX-------接开发板上单片机的P3.1引脚

       因为这里单片机不处理ESP8266发送的信息,所以ESP8266的TX和单片机的P3.0不连接了。

51单片机与ESP8266轻松上手Onenet(三)--温度上传onenet平台

2.程序的编写

2.1串口通信程序

      因为ESP8266与单片机直接进行串口通信,并且ESP8266要接受单片机发送的数据,也就是单片机要发送数据至ESO8266。所以这里要编写串口的驱动程序与串口发送字符串函数。注意,ESP8266的通信波特率为115200,这里单片机的波特率也设置为115200。而一般15单片机都是采用定时器作为波特率发生器,最大波特率只有57600.而目前大多数51单片机都是STC****RC系列增强型单片机,支持定时器2.这里要采用定时器2实现115200的波特率。实现方法参考(STC89C52RC串口通信波特率115200实现方法)。这里贴出115200波特率的串口初始化程序和中断处理处理函数,把两个函数放到main.c中,并在主函数调用Uart_Init( ) 即可实现串口的通信功能。

void Uart_Init( )   // 串口初始化

{

SCON= 0x50;//串口方式设置为工作方式1

TH2=0xFF;           

         TL2=0xFD;   //波特率:115200 晶振=11.0592MHz 

         RCAP2H=0xFF;   

         RCAP2L=0xFD; //16位自动再装入值 

        TCLK=1;   

        RCLK=1;   

       C_T2=0;   

       EXEN2=0; //波特率发生器工作方式

       TR2=1 ; //定时器2开始

       ES=1; //打开串行接收中断

EA=1; //打开总中断

}

void Uart_Isr() interrupt 4

{

    if (RI)

    {

        RI = 0;             //Clear receive interrupt flag

      

    }

    if (TI)

    {

        TI = 0;             //Clear transmit interrupt flag

       busy = 0;

    }

}

   

2.2AT指令函数

    上一节已经测试ESP8266的WIFI配置指令、onenet连接指令和数据上传指令。这些指令以字符串的方式通过串口发送给单片机,而且每条指令结束都以\r\n结束。这就需要编写一个字符串发送函数,如下所示:

void SendData(BYTE dat)

{

    while (busy);           //Wait for the completion of the previous data is

    busy = 1;

    SBUF = ACC;             //Send data to UART buffer

}

void SendString(char *s,char len)

{

 // unsigned char len=26;

    while (len--)              //Check the end of the string

    {

        SendData(*s++);     //Send current char and increment string ptr

    }

}

调用主函数完成串口初始化,就可以进行WIFI模块的配置和onenet连接了。如下图所示,注意WIFI联网配置,延时个几秒钟,等待WiFi连接成功,再连接onenet平台。同样onenet平台连接指令发送之后,等待一段时间,在执行下面程序。

51单片机与ESP8266轻松上手Onenet(三)--温度上传onenet平台

云平台连接成功以后,就可以主程序while循环中,调用下面的SendDataToOneNet(tmp);函数将数据发送至onenet平台。

void  SendDataToOneNet(float temp_int)

{

  char buf[50];

  memset(buf, 0, sizeof(buf));

  sprintf(buf, "AT+IOTSEND=1,temperature,%.2f\r\n", temp_int);

  SendString(buf,32);

}

        至此,程序修改完毕。下面进行测试。

3.测试

       编译将程序下载到单片机,同时打开onenet平台,可以看到当前温度实时上传到云平台,运行视频所示。完整代码工程,请发送公众号消息单片机ESP8266获取下载连接。

  51单片机与ESP8266快速上手物联网系列将一步步介绍89C51单片机将采集到的DS18B20的温度数据通过ESP8266 WIFI模块实时上传到onenet云平台这样一个案例。

51单片机与ESP8266轻松上手Onenet(三)--温度上传onenet平台文章来源地址https://www.toymoban.com/news/detail-407939.html

到了这里,关于51单片机与ESP8266轻松上手Onenet(三)--温度上传onenet平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP8266-01s入门:上报和下发数据控制单片机 AT指令讲解和上云 烧录AT固件与OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信单片机前置任务)

    本项目教程总共分为四节 1.创建OneNET新版MQTT设备:为微信小程序与单片机通信打基础(微信小程序通信单片机前置任务) 2.(当前文章)ESP8266-01s入门:烧录AT固件与OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信单片机前置任务) 3.物联网实践教程:微信小程序结合

    2024年02月04日
    浏览(57)
  • (pc端)/单片机连接ESP8266

    硬件:ESP8266模块,USB转TTL 连接方式 : esp8266的TX接转串口的RX,RX接TX 安装阿信可的esp8266调试工具 [ESP8266网络调试工具]ESP8266网络调试工具 提取码:djsz AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电

    2024年02月09日
    浏览(45)
  • 单片机项目分享 单片机(stm32)远程智能宠物喂养系统 - 物联网 esp8266

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(67)
  • 单片机开发---ESP32-S3模块上手

    想起来之前做的半成品单片机游戏机,又想继续做一个,不过之前那个单片机驱动屏幕速率太低,已经无法改进了。所以这次斥巨资购买了一款顶配的ESP32S开发板,做个简单的游戏机,没问题。 完整介绍链接 这花花绿绿的介绍,看着让人甚是喜欢呢。 参考乐鑫官网的方式,

    2024年01月23日
    浏览(44)
  • STM32+esp8266实现单片机与服务器的WiFi通信

             源码已上传至gitee: stm32: 一些stm32模块使用经验记录 - Gitee.com https://gitee.com/lrf1125962926/stm32/tree/esp8266wifi%E9%80%9A%E4%BF%A1/         本实验采用STM32F1系列+esp8266 01s模块,采用HAL库开发。主控芯片哪个系列和型号都可以,只要有两个串口(UART或者USART,以下统称串口)

    2024年02月07日
    浏览(61)
  • 微信小程序可自定义单片机温湿度阈值(基于esp32c3+onenet+微信小程序)

    ​ 前段时间有个粉丝问我能不能出一个微信小程序调节阈值的教程,我就下班之余在原来的基础上改进一下,因为是修改阈值,这里我就用继电器控制风扇、温度达到一定阈值控制风扇启动来做例子。这个成功了,其他阈值修改都是依样画葫芦啦。 ​ 之前博客 :基于物联网

    2024年02月07日
    浏览(45)
  • 嵌入式项目分享 单片机(stm32)远程智能宠物喂养系统 - 物联网 esp8266

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月21日
    浏览(168)
  • 单片机设计_语音识别分类智能垃圾桶(STM32 ESP8266 LD3320)

    想要更多项目私wo!!!         离线语音识别识别垃圾种类并且垃圾桶自动翻盖: 说出唤醒词“垃圾桶”后,再说一句垃圾名称,语音识别模块端识别到相应,便会将结果通过串口发送到STM32端,STM32端接着会发送打开相应垃圾桶盖的指令,6s后,垃圾桶盖自动关闭。

    2024年02月06日
    浏览(53)
  • 【上位机与下位机通信】使用WIFI模块ESP8266连接单片机与上位机通信

    承接上文WIFI上位机部分:【上位机】通过WIFI上位机与网络调试助手通信绘制曲线,现阶段实现了STM32单片机与ESP8266WIFI模块作为下位机与WIFI上位机通信。 ATK-ESP8266 是 ALIENTEK 推出的一款高性能的 UART-WiFi(串口-无线)模块,此处使用的是正点原子团队自主开发的ATK-ESP-01模块。

    2024年02月05日
    浏览(176)
  • 毕业设计 单片机语音识别分类智能垃圾桶(STM32 ESP8266 LD3320)

    离线语音识别识别垃圾种类并且垃圾桶自动翻盖: 说出唤醒词“垃圾桶”后,再说一句垃圾名称,语音识别模块端识别到相应,便会将结果通过串口发送到STM32端,STM32端接着会发送打开相应垃圾桶盖的指令,6s后,垃圾桶盖自动关闭。其中翻盖功能是通过STM32端控制舵

    2024年04月26日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包