这两天因为一个项目遗留问题,又玩了玩C51。做的是用ESP8266连接OneNet进行联网控制。
在淘宝购买的wifi模块,店家给的资料也实在是多,工具也很齐全。
首先wifi模块和C51是利用串口通信的,这就需要了解串口通信的知识。差不多一年前,我自己学过C51的一些基础知识,但是毕竟一年没有动了,有些生疏,也幸好的是,刚学完单片机这门课程,对串口通信的认识更加的深入了,所以回过头来看这些资料,感觉很轻松。
TXD(Transmit Data) 发送数据
RXD(Receive Data) 接受数据
值得注意的是,TXD、RXD在串口通信的时候需要外加参考电平。
下面是一些关于ESP8266的知识点。
ESP8266集成了AT指令,让我们开发起来更加的方便了许多。
AT\r\n //响应ok
Station模式。这个模式下ESP8266可以加入其他路由器的网络
AP模式,这个模式下ESP8266就相当于一个路由器,其他设备可以加入到这个模式中
Station+AP模式
在这里我用的Station模式。注意(更改模式后,需要发送指令AT+RST\r\n
重启模块使其生效)
AT+CWMODE=1\r\n //选择Station模式
AT+CWMODE=2\r\n //选择AP模式
AT+CWMODE=3\r\n //选择Station+AP模式
AT+CWJAP\r\n //查看当前可用wifi
AT+CWJAP="ssid","pwd"\r\n //ssid是WiFi名称,pwd是WiFi密码,此条指令可以帮助esp8266连接wifi
AT+CIPMUX=0\r\n 选择单路连接模式
AT+CIPSTART="TCP","host",port\r\n //host是你将要连接服务器的域名,port是端口号,与服务器建立TCP连接
AT+CIPMODE=1\r\n //选择透传模式
AT+CIPSEND\r\n //响应>,便可以向服务器发送HTTP数据报
下面是几条,调试的过程会用到的指令。
AT+CWQAP\r\n //退出与路由器的连接
+++ //返回指令模式,此条指令用在已经AT+CIPSEND后面,可以辅助下面的指令断开与服务器的连接,注意没有换行
AT+CIPCLOSE\r\n //断开与服务器的连接
陆续发送以上几条指令,不报错,就可以和服务器建立连接了。