OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8150|回复: 3

esp8266模块通过AT指令请求进行HTTP请求发送数据到服务器

[复制链接]

16

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-5-31
在线时间
21 小时
发表于 2019-3-27 10:22:47 | 显示全部楼层 |阅读模式
现在介绍一下使用esp8266模块串口发送AT指令的方式通过http方式GET、POST请求,发送温湿度到服务器并存入数据库。
首先我们需要搭建一个ESP8266的服务器。这里我使用PHP搭建。一、服务器搭建
1、装phpstudy软件。打开网站根目录。我在网站根目录下新建了一个zhsx的文件夹,里面存放PHP的文件。一个有两个php文件,conn.php(用来连接数据库的)和mcu.php(用来接收数据的)。
2、conn.php代码
<?php   
header("Content-type:text/html;charset=utf-8");
$conn = mysql_connect("localhost", "root","root");  
if (!$conn) {   
    die('连接数据库失败' . mysql_error());   
}
mysql_select_db("yonghu",$conn);
// header("Content-type: text/html; charset=utf-8");
?>
3、mcu.php
<?php
       header("Content-type:text/html;charset=utf-8");
        include 'conn.php'; //连接数据库
        $temp=$_GET['wendu'];
        $humi=$_GET['shidu'];
        echo $temp,$humi;
        $sql="INSERT INTO sensor VALUES('',$temp','$humi')";
        $result=mysql_query($sql);
        if ($result) {
                echo"success";
        }
        else
        {
                echo "error";
        }
?>
4、测试服务器,我的电脑的IP地址是:192.168.0.106。由于我没有建数据表,所以出错了。
http://192.168.0.106:9096/zhsx/mcu.php?wendu=11&shidu=55
1.png

二、ESP8266模块进行AT指令测试。注意每个指令都要加回车,发送才成功

AT
OK
AT+CWMODE=3
OK

AT+RST


OK
CLOSED


ets Jan  8 2013,rst cause:1, boot mode3,7)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

ready

WIFI CONNECTED

WIFI GOT IP

AT+CIFSR

+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"86:f3:eb:90:d3:bd"
+CIFSR:STAIP,"192.168.0.105"
+CIFSR:STAMAC,"84:f3:eb:90:d3:bd"

OK

AT+CWJAP="305_43E811","012345678"

WIFI DISCONNECT

WIFI CONNECTED

WIFI GOT IP


OK

AT+CIPSTART="TCP","192.168.0.106",9096

CONNECT

OK

AT+CIPMODE=1


OK

AT+CIPSEND


OK

>
HTTP/1.1 400 Bad Request
Date: Mon, 15 Oct 2018 05:16:24 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
Content-Length: 331
Connection: close
Content-Type: text/html; charset=iso-8859-1

1155error

各个指令的含义


AT//测试模块是否正常,返回OK表示正常
OK

AT+CWMODE=3//设置WiFi的模式,//STA+AP模式

OK

AT+RST//重启WiFi

OK
//这是重启后返回来的数据
ets Jan  8 2013,rst cause:1, bootmode3,7)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
  SPI Speed      :40MHz
  SPI Mode       IO
  SPI Flash Size & Map:8Mbit(512KB+512KB)
jump to run user1 @ 1000

ready

WIFI CONNECTED

WIFI GOT IP

AT+CIFSR//获取IP地址

+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"86:f3:eb:90:d3:bd"
+CIFSR:STAIP,"192.168.0.105"
+CIFSR:STAMAC,"84:f3:eb:90:d3:bd"

OK

AT+CWJAP="your_ssid","your_pwd"////ssid:305_43E8:空,"AT+CWJAP=\"your_ssid\",\"your_pwd\"\r\n",

WIFI DISCONNECT

WIFI CONNECTED

WIFI GOT IP


OK

AT+CIPSTART="TCP","192.168.0.106",9096//连接HTTP服务器192.168.0.106,9096  //9096是服务器的端口号

CONNECT

OK

AT+CIPMODE=1  //透传模式
OK
AT+CIPSEND//发送数据的指令
OK

>//表示可以发送数据  用GET的方式发送数据的,内容为:GET/zhsx/mcu.php?wendu=11&shidu=55 如果想用POST的方式,POST /zhsx/mcu.php?wendu=11&shidu=55 只需要把GET改为POST。然后在MCU.PHP中的$_GET改为$_POST即可。
以下内容为服务器反馈回来的。
HTTP/1.1 400 Bad Request
Date: Mon, 15 Oct 2018 05:16:24 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2jPHP/5.4.45
Content-Length: 331
Connection: close
Content-Type: text/html; charset=iso-8859-1

1155error//这是你想要的数据。

附上调试截图
2.png     3.png     4.png



本帖到此结束




联合创造 物联之术 科技共享
https://LCWL.taobao.com/
http://www.nnhpiot.com/
Q:2824881988
群:796
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

153

主题

310

帖子

0

精华

高级会员

Rank: 4

积分
673
金钱
673
注册时间
2019-3-26
在线时间
18 小时
发表于 2019-3-27 15:14:41 | 显示全部楼层
http://www.iis7.com/c/90/
回复 支持 反对

使用道具 举报

16

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-5-31
在线时间
21 小时
 楼主| 发表于 2019-4-10 19:07:37 | 显示全部楼层

感谢大佬
联合创造 物联之术 科技共享
https://LCWL.taobao.com/
http://www.nnhpiot.com/
Q:2824881988
群:796
回复 支持 反对

使用道具 举报

6

主题

17

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-10-17
在线时间
16 小时
发表于 2019-10-31 14:36:20 | 显示全部楼层
你这最后的回复是 400 Bad Request
数据根本没有传上去啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-1-19 08:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表