# 51-MCU-networked-control-IO-port
通过esp8266和免费的云服务器基于mqtt协议进行信息的交互,并通过UART传至51单片机上,进而对继电器和oled显示屏做出操作
首先是云服务平台的选取,在此我选择了一个更小众但是比较简单的云服务平台:巴法云;后续可以将这段主要代码进行修改移植到任何支持mqtt的云服务平台上,在此过程中,我曾用mqtt.fx这款APP进行服务器的调试,直至可以正常连接达到想要的效果。
对esp8266的操作我刷了安信可官方提供的支持mqtt的AT固件,并事先通过串口助手和AT指令进行调试,使其能够连接到指定云服务器并进行信息交换,另外在调试过程中我发现AT指令就是由串口发送一个个的字符,最后加上回车来操作esp8266,这也为后来我程序的书写提供了帮助,具体表现为:首先发送AT,测试连接和芯片是否正常,之后让其进入AP模式,连接手机热点,并通过刚刷入的mqtt固件中的一些特殊的AT指令,可以让其连接至指定云服务器并订阅主题收发消息。在调试过程中,我发现esp8266在掉电重启之后并不会自动连接上云服务器,但可以自动连接手机热点,这说明mqtt连接的三条AT指令是需要单片机通过串口重新发送一遍的。这点在程序中也有体现。
对51单片机的操作是让其初始化时通过串口发送三条AT指令操作esp8266连接至云服务器,并处理收到的数据,操作其他IO口接入的模块作出反应,这也是我写程序的大体思路。
对0.96寸oled液晶显示屏,此模块是通过IIC来进行数据交互的,文件中是商家提供的驱动代码,我也直接使用了,经测试其中的显示图形代码DRAWBMP()函数好像有些问题,后续我可能会重写显示图形代码,商家提供的完整资料也已上传。
对继电器的操作就是接一个IO口和电源正负,实现接线测试其是否能正常吸合断开,后直接接入单片机。
还加入了一个按键来手动控制继电器的IO口。
代码中按键部分是用定时器扫描的,包括开始时单片机发送三条AT指令其中间隔的一些时间都是通过定时器来实现的。
代码最终实现的功能是在云服务平台上发送数字1继电器吸合并且oled显示;发送0则断开并相应变化。若需移植此段代码只需将发送AT指令部分改为自己的云服务器信息,并对esp8266进行重新配置即可,也可在串口接收云服务信息模块作出改进使其能分辨更复杂的信息。
本人目前大二,利用寒假学习了51单片机,本来是想做智能家居的,但过程中蓝牙模块坏了,并且时间不足就只能进行到此。
如有疏漏,感谢指正!
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
通过esp8266和免费的云服务器基于mqtt协议进行信息的交互,并通过UART传至51单片机上,进而对继电器和oled显示屏做出操作.zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
通过esp8266和免费的云服务器基于mqtt协议进行信息的交互,并通过UART传至51单片机上,进而对继电器和oled显示屏做出操作.zip (49个子文件)
Archie1000
picture
IMG_20220215_171210.jpg 3.38MB
IMG_20220215_171227.jpg 3.64MB
IMG_20220215_171234.jpg 3.58MB
IMG_20220213_212315.jpg 3.89MB
IMG_20220215_171219.jpg 3.83MB
IMG_20220215_171240.jpg 3.3MB
智能家居控制
智能家电控制.uvopt 9KB
key.c 699B
智能家电控制.uvgui.32660 90KB
oled.c 8KB
Objects
智能家电控制.hex 19KB
key.__i 113B
uart.obj 4KB
delay.obj 903B
智能家电控制.lnp 219B
uart.__i 116B
智能家电控制 43KB
oled.__i 116B
智能家电控制.build_log.htm 1KB
oled.obj 28KB
main.obj 12KB
key.obj 4KB
uart.h 148B
bmp.h 9KB
key.h 133B
oled.h 3KB
Listings
智能家电控制.m51 34KB
delay.lst 1KB
main.lst 4KB
oled.lst 16KB
key.lst 2KB
uart.lst 2KB
oledfont.h 14KB
delay.h 83B
uart.c 357B
delay.c 152B
main.c 2KB
智能家电控制.uvproj 16KB
0.96oled部分资料
Gb2312.PTL 18KB
PCtoLCD2002.INI 422B
rtl60.bpl 661KB
readme2002.txt 4KB
notice.txt 2KB
asc.ptl 130B
PCtoLCD2002.exe 303KB
vcl60.bpl 1.26MB
06-中景园电子0.96寸OLED使用文档新手必看V2.0.pdf 1.61MB
_index.txt 2B
README.md 3KB
共 49 条
- 1
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功