esp8266php服务器,ESP8266实现http请求访问远程服务器以前⽤esp8266进⾏了通常的tcp链接,如今须要作⼀个能够直接访问远程服务器的项⽬,所以,研究了⼀下如何⽤esp8266实现http协议,因为⽹上的资料很杂,并且好像都没有说的很清楚。这⾥作出⼀个总结,关于以前的命令见下⾯的⽹址。html
因为http协议处在tcp/ip协议的应⽤层,tcp协议⼯做在传输层,只须要在tcp传输层中按照http协议中的数据格式,发送数据就能够完成http传输数据。http协议数据以下所⽰:服务器
GET /mix/76.html?name=kelvin&password=123456 HTTP/1.1
Host: www.fishbay
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/56.0.2924.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
app
所以只要在tcp发送的时候按照这个格式,便可完成http传输。tcp
http协议的步骤以下所⽰:函数
AT+RST
AT+CWMODE=3//设置格式
AT+RST
AT+CWJAP="xxxxx","xxxx"//帐号和密码
AT+CIPSTART="TCP","www.baidu",80
AT+CIPSEND=46
这个命令会检测到知⾜了46个字符以后,进⾏统⼀发送。htm在线代码运行器
本次我采⽤AP+STA的模式实现,⽤esp远程访问我本⾝建的服务器,采⽤GET命令。(以后须要研究POST)。
采⽤STM32f103C8T6,的串⼝2来驱动ESP8266,采⽤串⼝1做为调试串⼝。运⾏的信息能够及时的在串⼝1回传到电脑。
1.⾸先进⾏相关模块的初始化,包括串⼝1 2 和LED.
2.检测模块是否在线,若是在线,那么开始进⾏GET操做,总体的GET⽅式采⽤上⾯介绍的⽅式。
3.开始给ESP8266发送对应的命令,操做进⾏链接服务器。具体的介绍参照上⾯的介绍,或者参照ESP83266的数据⼿册。
4.最终能够看到获取的信息,服务器也提⽰访问成功。
⽬前这个程序 有⼀个问题 ,就是每次访问的时候,只能访问⼀次,第⼆次服务器会切断联系,解决的⽅法是,把每次与服务器链接的那⼀段代码,也放到while循环内部,每次就会从新创建链接。这样就能够不断的访问这个⽹址。也能够将整个访问流程写成⼀个函数,每次传⼊⼀个⽹址进⾏GET访问,以后返回⽹址返回的东西便可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。