基于天问51-Core自制开发WIFI模块连接MQTT&巴法云平台-微信小程序显示温度数据

这篇具有很好参考价值的文章主要介绍了基于天问51-Core自制开发WIFI模块连接MQTT&巴法云平台-微信小程序显示温度数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目 录

一、摘要

二、项目准备材料

三、硬件总体设计

四、软件代码设计

五、整体测试联调

六、效果展示

一、摘要

本项目基于天问51-Core最小系统开发,自行设计PCB电路,主要包括DHT11、ESP8266、OLED三个主要外设模块。此项目实现的三大功能:1、基本功能:单片机将DHT11获取的温湿度数据通过OLED屏显示 2、进阶功能:利用WIFI模块将DHT11温湿度数据上传到云平台 3、高级功能:实现微信小程序网络请求接收云平台温度数据,并下发命令控制单片机

二、项目准备材料

此项目开发需要准备的材料包含硬件和软件。硬件部分:天问51-Core核心板、STC_Link下载线、OLED0.96寸屏、ESP-01S模块、DHT11模块。软件部分:Keil编程软件、STC—ISP串口调试助手、嘉立创EDA开发工具。

三、硬件总体设计

此项目的硬件部分利用立创EDA进行设计PCB电路,目前嘉立创打板已经不能薅羊毛了,此项目的PCB尺寸为99.5*74,大佬5块板共20元,也可以接受。PCB上大都采用DIP双列直插封装,方便焊接。ESP8266接串口4(P02、P03),OLED屏采用四针的IIC接口(P25-SCL、P24-SDA),DHT11接P07口,单线协议传输。

巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档

电路原理图

巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档

PCB效果图

四、软件代码设计

软件代码部分是项目的核心内容之一,也是最繁杂的环节。硬件设计好之后,软件代码要根据硬件接口去进行编写。

OLED使用IIC通信协议驱动点亮,起初的时候也是没有一次点亮,调试了一会,要注意字库取模的选取,列行式-共阴极。此外,OLED只供电而没有正确的IIC协议驱动是不会亮的。

DHT11温湿度模块单线协议读取数据,网上有很多开源的例子,大家可以去找移植进代码里。

最后就是ESP8266,WIFI模块是基于AT指令的,实现串口转WIFI透传数据,关于AT指令这里不多做讲解。WIFI与单片机的串口4相连,首先要进行串口的初始化,波特率选115200,还会用到定时器(定时器超时接收判断)

巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档

WIFI模块连接EMQ MQTT云平台

巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档
巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档

其中代码在设计的时候考虑到效率的问题,采用时间片轮的程序设计架构。利用定时器T0中断划分三个时间片。当定时时间为100ms时,OLED屏刷新;当定时时间为1000ms时,上传温度数据到云平台;当定时时间为2000ms时,DHT11读取温湿度数据。如此各个任务在不同的情况下执行,结构更为合理。

五、整体测试联调

软件部分设计完成,接下来就是整体调试看现象。不得不说,写代码半小时,调试得大半天。整个的调试问题百漏,而且有些BUG难以发现。程序在运行的时候,发现WIFI模块一直连不上云平台,调试了好久,最后终于成功了。AT指令在发送的时候,要设置好延时等待时间,而且AT指令前后要间隔好时间,对每次模组返回的消息进行判断,这里我用的是定时器超时接收,设定标志位,当串口4接收到数据产生中断,定时器中断里标志位置1定时到2s时,认为没有数据返回,开始进行字符串判断。

巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档
巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档

串口调试信息

六、效果展示

整体的效果如下:

巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档
巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档
巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档
巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档
巴法云mqtt,物联网通信,单片机,51单片机,硬件工程,物联网,Powered by 金山文档

整个项目大概效果就是这样,功能基本实现,略有瑕疵,下发命令这个地方还有一点问题,我后续会进一步完善,大家如果还有什么问题,可以进一步探讨,感谢大家的支持。文章来源地址https://www.toymoban.com/news/detail-738558.html

到了这里,关于基于天问51-Core自制开发WIFI模块连接MQTT&巴法云平台-微信小程序显示温度数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 自制ESP8266 WIFI模块 ESP-01/阻抗匹配、射频天线高频电路学习笔记 射频模块天线匹配思路总结

    1 引言 存在决定意识。野火的指南者开发板板载ESP8266模块,一次比赛使用过ESP-01,并且这次比赛总结大会上老师说高集成度才算有技术含量,萌生了自制一个WIFI模块的想法,算是大学四年的心愿。春招在一次电话技术面试中坐了40min牢,被教训:做项目要把每个地方搞懂,否

    2024年02月16日
    浏览(36)
  • 基于天问block编译环境下ASRPRO语音芯片程序编写教程(三)串口通信,多线程模块,ADC篇

    本篇教程将基于天问block内的官方范例代码讲解如何编写ASRPRO语音芯片程序以实现串口通信多线程模块编程和ADC数据读入功能。 ASRPRO语音芯片具有3组可用串口(UART1对应PA2,PA3,UART2对应PA5,PA6,UART0 对应PB5,PB6),同时 UART0 默认是APSRPRO语音芯片的 程序烧录口 ,故在使用时不会

    2023年04月10日
    浏览(39)
  • 基于51单片机的自制秒表

            基于LCD1602显示屏的自制秒表,可完成计时,暂停,继续,清零功能 1.1、实现功能 输入参数为延时时间长度,单位为毫秒,用于短暂延时 1.2、设计原理 从STC-ISP 中生成的延时1ms的代码修改得到的延时任意时间的函数 1.3、代码实现 2.1、实现功能 检测四个独立按键

    2024年02月09日
    浏览(33)
  • 【物联网开发】-微信小程序之MQTT连接,基于MQTT实现设备-服务器-小程序的消息传输

    想要开发微信小程序,首先要有一些基础知识:html、cs、js、json等,小程序中要用到的知识框架大体相同,一个页面包括js、json、wxml、wxss格式的文件。 由于本人此前从未接触过小程序开发,本篇文章将会以新手小白的角度一步步剖析如何使用微信小程序通过MQTT服务器连接设

    2023年04月24日
    浏览(40)
  • STM32通过esp8266连接WiFi接入MQTT服务器

    上文我们讲到如何搭建本地MQTT服务器http://t.csdn.cn/aHNcO,现在介绍如何通过stm32连接MQTT 一.首先我们初始化esp8266这里我们使用的是USART4与其通信代码如下 二.通过数据间隔时间来判断是否是一串数据如果间隔时间大于30ms则判定为不是一串数据,接收缓冲器清零。 代码如下!

    2024年02月07日
    浏览(43)
  • 基于uni-app的WiFi设备连接和命令交互——硬件开发指南

    在本篇文章中,我们将介绍如何使用uni-app框架实现通过WiFi连接设备并进行命令交互的硬件开发。为了方便理解和实践,我们将提供相应的源代码示例。 硬件准备 在开始之前,确保你已经准备好以下硬件设备: 一个支持WiFi连接的设备(如ESP8266或ESP32等)。 一个手机或电脑作

    2024年02月05日
    浏览(171)
  • 手机连接WIFI模块测试(WIFI模块工作在AP模式下)

    本例程WIFI模块采用E103-W05模块(兼容ESP8266指令),手机APP采用通用版测试APP网络调试精灵,在安卓的应用商店可以下载(不行的话去网页下一个),不支持苹果手机。 wifi模块工作在AP模式(无线接入点模式)下,此时WIFI模块就相当于一个无线路由器,手机就相当于一个STA设

    2024年02月09日
    浏览(31)
  • 在天问block环境下LU-ASR01与51单片机的基础运用

    目录 一、LU-ASR01模块 二、天问block软件下载安装 三、 在天问block新建第一个项目 四、天问block生成与编译  五、51单片机代码 六、问题总结 如图1: a、LU-ASR01有八个I/O口,为IO1-IO8,其中IO1-IO6可以作为PWM信号输出口和普通I/O口使用,IO7、IO8只能作为普通I/O口使用,不能输出

    2024年02月04日
    浏览(33)
  • STM32-连接wifi模块(esp8266)

    目录 1. ESP8266模块介绍 1.1. 系统结构图 1.2. 功能介绍  1.3. AT指令说明  2. STM32连接ESP8266 3. ESP8266示例 3.1. ESP8266透传模式  3.2. ESP8266上传数据例程 乐鑫智能互联平台——ESP8266 拥有高性能无线 SOC,是一个完整且自成体系的 WiFi 网络解决方案,能够独立运行,也可以作为 slave 搭

    2024年01月16日
    浏览(58)
  • esp8266模块--MQTT协议连接服务器实现数据接收和发送+源码

    首先推荐中国移动的代码,我觉得中国移动的代码更为合理:(但是有一些其他的模块在里面) OneNET开发板代码、资料--2020-09-27--标准板、Mini板bug修复 - 开发板专区 - OneNET设备云论坛 (10086.cn) 以及这位b站up做的视频:(wifi模块在p9节) 【挽救小白第一季】STM32+8266+小程序智能

    2024年02月08日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包