使用php控制esp8266,ESP8266怎么通过网络控制?

现在介绍一下使用esp8266模块串口发送AT指令的方式通过http方式GET、POST请求,发送温湿度到服务器并存入数据库。

首先我们需要搭建一个ESP8266的服务器。这里我使用PHP搭建。一、服务器搭建

1、装phpstudy软件。打开网站根目录。我在网站根目录下新建了一个zhsx的文件夹,里面存放PHP的文件。一个有两个php文件,conn.php(用来连接数据库的)和mcu.php(用来接收数据的)。

2、conn.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

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

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

AT

OK

AT+CWMODE=3

OK

AT+RST

OK

CLOSED

ets Jan  8 2013,rst cause:1, boot mode:(3,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, boot mode:(3,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//获取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.2j PHP/5.4.45

Content-Length: 331

Connection: close

Content-Type: text/html; charset=iso-8859-1

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

就这个能行吗?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值