STM32+DHT11+ESP8266问题

永恒的记忆2019 2016-10-08 12:19:59
各位大神,我想问下,在STM32中,怎么写程序把接串口1的温度传感器的数据通过接串口3的wifi模块发射出去。只需说下大体的程序思路就好。谢谢。

模块:STM32F103+ESP8266+DHT11

注:有做过这方面的代码那就更好了,希望能分享下,最近为这个问题都摸不着头脑。
...全文
4354 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fdvgyg 2018-08-12
  • 打赏
  • 举报
回复
最近正好用这个,告诉下思路
1.stm32跟esp8266是通过usart连接的,发送的是AT指令
2.通过AT指令先把它配置连接到自己服务器,(也可以是其他的,比如一些获取天气信息,可以做个简单万年历,一般获取数据都是json)
3.这个服务器是自己的话,得有点网页知识,以我为例,我网站是用的php,当提交带有参数网页,比如单片机提交adianshi.com/?temp=33...这个网址,
<?php
if(isset($_GET['temp']))
{
更新数据库值
}
?>
后台把temp的值存到数据库,在网页前端把这个值显示出来,下面是简单配置
(每条AT指令后均需要添加换行后再发送)
1. 使用串口发送指令printf("AT+CWMODE=1\r\n")设置模块Wi-Fi应用模式为Station模式;
2. 发送指令printf("AT+RST\r\n")重启模块使应用模式更改生效;
3. 发送指令printf("AT+CWJAP=\”ssid\”,\”pwd\”\r\n")连接AP,账号密码改成自己路由器的;
4. 发送指令printf("AT+CIPMUX=0\r\n")设置模块为单路连接模式,模块默认为单路连接模式;
5. 发送指令printf(""AT+CIPSTART=\”TCP\”,\"adianshi.com\”,80")与服务器建立TCP连接,域名前面一定不能加“http://”!;
6. 发送指令printf("AT+CIPMODE=1\r\n")设置模块传输模式为透传模式;
7. 发送指令printf("AT+CIPSENDr\n")开启透传模式向服务器发送数据,模块收到此指令后先换行后返回“>”,每包数据以20ms间隔区分,每包最大2048字节;
8. 然后发送以下内容向服务器发出HTTP请求获网页内容

printf(%s%d\n,"GET http://adianshi.com?temp=",33)
可以把这个值改成传感器值定时更新
9. 然后模块返回你在网页输出内容信息:
10. 20ms后发送指令+++退出透传模式返回指令模式(后面不要换行);
11. 最后发送指令AT+CIPCLOSE断开模块与服务器的TCP连接。
  • 打赏
  • 举报
回复
这个就是先串口1接收到DHT11的数据后保存起来,再用串口3发送给esp8266发送出去不就行了
m502285640 2018-05-09
  • 打赏
  • 举报
回复
并不需要串口接DHT11的吧 dht11的IO口随便选一个都行的吧
hy2003611 2017-02-17
  • 打赏
  • 举报
回复
1、先能过STM32的IO将DHT11的数据正确读到,这个模块用的比较多,网上有很多现成的例程。(你如果用串口1读到了数据,这一步忽略) 2、利用串口3发送透传命令初始化ESP8266,保存并重启。将8266纳入到局域网中,此时8266已成为服务器端。将你的TCP调试助手连上,成为客户端。 2、读数据一般在串口的中断中进行,因此,你可利用串口1的中断直接将读到的数据从串口3发送出去,ESP8266会原封不动的将数据发送给客户端。 好了。
gotopause 2016-11-03
  • 打赏
  • 举报
回复
楼主说的这个东西其实很简单,一般来说,Wifi透传需要先设置wifi模块,wifi模块有自己的AT指令集,你找到wifi模块的AT指令,通过串口将AT指令发送给wifi模块,设置好以后,就可以直接继续通过串口将数据发送出去了。简单来说就是,通过连接的串口发送的数据,以AT开头的会当做wifi指令,不以AT开头的会当做普通数据
qq_34960974 2016-10-31
  • 打赏
  • 举报
回复
lz和我目前想做的东西一样啊,有好东西希望能分享下
ASASD_000 2016-10-31
  • 打赏
  • 举报
回复
UART/USB转其他总线,可定制
https://shop152327642.taobao.com
lbing7 2016-10-15
  • 打赏
  • 举报
回复
LZ要先淡定,一步步来,从能正确使用STM32开始~
will热爱 2016-10-08
  • 打赏
  • 举报
回复
先确保串口1能够读取到正确的数据,在调试串口3通过wifi发送数据能够成功。这样吗?
2022 / 01/ 30: 新版esptool 刷micropython固件指令不是 esptool.py cmd... 而是 esptool cmd... 即可;另外rshell 在 >= python 3.10 的时候出错解决方法可以查看:  已于2022年发布的: 第二章:修复rshell在python3.10出错 免费内容: https://edu.csdn.net/course/detail/29666 micropython语法和python3一样,编写起来非常方便。如果你快速入门单片机玩物联网而且像轻松实现各种功能,那绝力推荐使用micropython。方便易懂易学。 同时如果你懂C语音,也可以用C写好函数并编译进micropython固件里然后进入micropython调用(非必须)。 能通过WIFI联网(2.1章),也能通过sim卡使用2G/3G/4G/5G联网(4.5章)。 为实现语音控制,本教程会教大家使用tensorflow利用神经网络训练自己的语音模型并应用。为实现通过网页控制,本教程会教大家linux(debian10 nginx->uwsgi->python3->postgresql)网站前后台入门。为记录单片机传输过来的数据, 本教程会教大家入门数据库。  本教程会通过通俗易懂的比喻来讲解各种原理与思路,并手把手编写程序来实现各项功能。 本教程micropython版本是 2019年6月发布的1.11; 更多内容请看视频列表。  学习这门课程之前你需要至少掌握: 1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。 本视频使用到的零件与淘宝上大致价格:     1: 超声波传感器(3)     2: MAX9814麦克风放大模块(8)     3: DHT22(15)     4: LED(0.1)     5: 8路5V低电平触发继电器(12)     6: HX1838红外接收模块(2)     7:红外发射管(0.1),HX1838红外接收板(1)     other: 电表, 排线, 面包板(2)*2,ESP32(28)  

3,846

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 无线
社区管理员
  • 无线
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧