赞
踩
(3)服务器网站(本文选用“贝壳物联”,网址:https://www.bigiot.net/)
手动透传接线说明
ESP8266-01S | USB转串口模块 |
---|---|
VCC | 3V3(注意:透传设置时模块功耗不高,可直接连接使用USB供电) |
GND | GND |
RXD | TXD |
TXD | RXD |
CH_PD | 如果使用ESP8266-01需要接10K上拉,-01s无需接线 |
接线图
检测ESP8266模块是否正常
在串口助手中发送"AT"指令,如果返回“OK”则表示正常启动,否则需要检查下接线是否正确,电源及RXD/TXD是否接反,以及模块单体是否损坏
查询固件版本
使用"AT+GMR"命令查询当前固件版本:
通过命令透传设置
如果固件是V0.9.5.2版本,在串口助手中依次输入以下命令进行透传设置
//设置WiFi应用模式为Station
AT+CWMODE=1
//连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码
AT+CWJAP="SSID","Password"
//连接贝壳物联服务器
AT+CIPSTART="TCP","www.bigiot.net",8181
//设置为透传模式
AT+CIPMODE=1
//进入透传模式
AT+CIPSEND
完成以上命令重启,自动进入透传模式,并连接贝壳物联服务器
如果固件是V1.0+版本,在串口助手中输入以下命令进行透传设置(本文使用的固件刷新方法)
其中,SSID是路由器名称,Password是路由器WiFi密码,其他不需要修改
+++
AT
ATE0
AT+RESTORE
AT+CWMODE=3
//连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码
AT+CWJAP="SSID","Password"
AT+CIPMUX=0
AT+CIPMODE=1
//这块是贝壳物联网站地址,不用修改
AT+SAVETRANSLINK=1,"121.42.180.30",8181,"TCP"
自此,ESP8266透传设置完成,后面连接单片机后就可以进行远程无线点灯控制了
前面介绍了ESP8266模块并完成透传设置,接下来就可以连接STM32单片机进行远程无线点灯控制了,这里以STM32F103C8T6单片机为例说明,其他MCU也是类似的。LED灯使用的是C8T6最小系统板上板载的LED灯,选用其他IO口控制的话修改在代码中修改对应的接口就行了。服务器端选用的是贝壳物联,后面有详细的配置端说明
ESP8266-01S和STM32F103C8T6接线图
ESP8266-01S | STM32F103C8T6 |
---|---|
VCC | 3V3(电流大于500mA,需独立供电) |
GND | GND |
RXD | PA9 |
TXD | PA10 |
CH_PD | ESP8266-01需要接10K上拉,-01s不需要 |
STM32F103C8T6最小系统板
C8T6最小系统板如下图所示,其中控制的板载LED灯管脚就是图中左下角框起来的PC13管脚,如选用其他管脚直接在代码中修改即可
系统框图
基于ESP8266的远程无线控制点灯如下所示,贝壳物联服务器控制点灯按钮操作后,ESP8266-01S接收控制指令并通过串口传输给STM32F103C8T6 MCU,C8T6接收接收到对应指令后再执行点灯/关灯操作
贝壳物联服务器端设置
STM32和ESP8266配置好还只是数传的开始,只是硬件模块搭建好了,若想实现数据远程无线控制,还需要对服务器端进行设置,本文以贝壳物联为例进行说明,网站链接如下:
https://www.bigiot.net/
进入网站首页,点击右上角“注册”、“登录”拥有自己的账号
注册成功后主页面显示如下,注意这里面的 “ID”和“APIKEY” 这两个参数是和你添加智能设备后就有的,不会改变,后面代码中会用到
如果需要添加新的智能设备的话,可以在“智能设备”——“添加设备”中添加
由于本文是实现远程无线点灯操作,所以选择“智能设备”——“设备对话”界面
这个界面可以查看当前在线的设备,然后在命令输入框中输入对应的点灯控制指令“play”,即可以看见板载的LED灯被点亮
如果命令输入框中输入对应的关灯控制指令“stop”,即可以看见板载的LED灯被关闭
下面命令记录是记录了当前所有的操作过程,详细见后面演示视频
如果觉得输入指令太麻烦,也可以选择“设备遥控”面板进行控制,原理是一样的。
这里面已经定义了每个模块对应的控制命令,只要在代码中稍作修改就可以实现功能,如下图框起来的分别是“play”和“stop”指令,其他按钮指令鼠标放上即能看见,点击对应按钮同样可实现远程无线控制功能,具体见后面演示视频
STM32代码下载:(完整代码资源及串口助手见文末链接)
代码打开路径:bigiotSTM32-master\bigiot\Project\STM32F10x_LED\MDK-ARM\Project
其中“DEVICEID”和“APIKEY”就是你网站注册后的数据
/\*以下两个变量必须修改为自己的设备ID及APIKEY,在贝壳物联用户中心添加设备即可获得\*/
char \*DEVICEID = "30017";
char \*APIKEY = "90e6c4964";
服务器网站对应参数截图
远程无线控制指令
if(strncmp(content, "play", 4) == 0) { char new_content[] = "led played"; //do something here.... Led\_On(LED1);//板载LED亮 Led\_On(LED2);//外接LED亮 say(from_id, new_content); } else if(strncmp(content, "stop", 4) == 0) { char new_content[] = "led stoped"; //do something here.... Led\_Off(LED1);//板载LED灭 Led\_Off(LED2);//外接LED灭 say(from_id, new_content); }
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。