1.可以用esp8266开发板,也可以用esp01s,有引脚说明(左)或esp01(右)
ESP8266Node-MCU(ESP-12E)
esp01s接线如下:
esp01接线:
2.代码1:设置连接方式,WiFi账号密码,tcp协议等
#include <SoftwareSerial.h> SoftwareSerial mySerial(2,3); // RX, TX //模拟一个软串口 void setup() { Serial.begin(115200);//设置硬串口波特率 //Serial.println("ESP8266 WIFI Test"); while (!Serial) {//串口是否准备好。 ; } Serial.println("OK"); mySerial.begin(115200);//设置8266的波特率为9600 mySerial.println("READY"); } void loop() { if (mySerial.available())//获取从软串口读取有效的字节数 { Serial.write(mySerial.read());//硬串口写软串口中读取的数据 } if (Serial.available()) {//获取从硬串口读取有效的字节数 mySerial.write(Serial.read());//软串口写硬串口中读取的数据 } }
AT手动联网:
打开串口监视器(右上角放大镜图标)
等待显示“ok
ready”
输入AT 返回ok
输入AT+RST 返回 ok 一长段乱码 ready
输入AT+CWMODE=1 返回ok
输入AT+CWJAP=”SSID“,”password“ 返回ok
查看手机热点中出现名为esp……的设备
连接成果:
每个指令输完后要回车
不能连入热点就反复AT+RST(重启esp)重试这一部分的注意事项有
应该没有人会尝试使用中文的SSID吧……
串口监视器的波特率,程序里面设置的波特率和硬件的波特率应一致,我贴的程序里面波特率是115200
每一句AT指令都要记得加回车,因为回车是终止符,没有检测到回车这个指令就会被判定为没有发完
要把串口监视器的结束符设置为NL&CR
第一次连入一个新的网络需要先按这个步骤配置一次,后面就不用了。
串口通信,烧写程序这些应该不用再废话了吧,如果有小萌新不会的话指路百度经验
————————————————
原文链接:https://blog.csdn.net/Alvarez/article/details/103741643
3.代码2:更改产品ID,设备鉴权信息,要关联的脚本名称等
#include <SoftwareSerial.h> void setup() { Serial.begin(115200);//设置硬串口波特率 while (!Serial) {//串口是否准备好。 ; } do{ Serial.print("AT+CWJAP=\"15402\",\"00000000\"\r\n"); //连接WIFI delay(5000); }while(!Serial.find("OK")); do{ Serial.print("AT+CIPSTART=\"TCP\",\"dtu.heclouds.com\",1811\r\n"); delay(1000); }while(!Serial.find("OK")); do{ Serial.print("AT+CIPMODE=1\r\n"); delay(1000); }while(!Serial.find("OK")); do{ Serial.print("AT+CIPSEND\r\n"); delay(1000); }while(!Serial.find("OK")); Serial.print("*产品ID#设备鉴权信息#要关联的脚本名称*");//产品ID,设备鉴权信息,要关联的脚本名称 delay(500); } void loop() { int a=23; //模拟上传数据 int b=45; //模拟上传数据 delay(2000); Serial.print(String(int(a))+String(int(b))); //发送数据至onenet if(Serial.find("1")){ //接收onenet下发的命令 Serial.print("开始浇水!!!"); }else if(Serial.find("0")){ Serial.print("停止浇水!!!"); } delay(2000); }
4.注意事项:
1.新出厂的ESP8266或者esp01,esp01s自带AT固件,如果你烧录过其他代码那么你就要重新烧录AT固件。
2.烧录时代码1可以用Arduino uno的软串口2,3,此时2连tx,3连rx,3烧录代码2时rx,tx得悬空,就是断开,否则烧录失败。文章来源:https://www.toymoban.com/news/detail-443725.html
3.代码1和代码2都是烧录给Arduino uno的,两次烧录。文章来源地址https://www.toymoban.com/news/detail-443725.html
到了这里,关于Arduino uno 通过esp8266WIFI模块连接onenet平台(TCP协议)(1接线、代码篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!