一、环境
arduino1.8.13
二、接收端显示
自己编写的qt简单界面显示,可接收一次性发送的数据并显示出来
已经打包成exe文件,点击可直接使用,百度网盘链接如下
链接:https://pan.baidu.com/s/1W2GHAdR7lgVFf5RT2DGPcQ
提取码:8kb9
三、特殊说明
esp8266使用波特率9600,可自行调整。
四、上ardunio代码,可直接使用,无其他多余包
#include <SoftwareSerial.h>
SoftwareSerial mySerial(0, 1); //设置模拟串口针脚(RX, TX)
String WiFiSSID = "wzsbthh";//填写路由器名称=======
String WiFiPASSWORD = "abcdefg673";//填写WiFi密码===
//===
//==============================================
int flag = 0;
int lcdflag=0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(flag == 0){
Serial.println("waiting start");
delay(10000);
Serial.print("AT\r\n");
delay(1000);
printmssage();
while(Serial.find("OK"));
//设置WiFi应用模式为兼容模式
Serial.println("choose station mode");
Serial.print("AT+CWMODE=3\r\n");
while(Serial.find("OK"));
delay(2000);
printmssage();
Serial.print("AT+RST\r\n");
while(Serial.find("OK"));
delay(1000);
printmssage();
Serial.print("AT+CIFSR\r\n");
delay(2000);
printmssage();
//连接到无线路由器
Serial.println("connect wireless router");
delay(1000);
Serial.print("AT+CWJAP=\"");
Serial.print(WiFiSSID);
Serial.print("\",\"");
Serial.print(WiFiPASSWORD);
Serial.print("\"\r\n");
delay(20000);//此处需根据路由器连接速度设置delay的时间,可适当加长
while(Serial.find("OK"));
printmssage();
Serial.println("connect bigiot.net and save translink");
Serial.print("AT+CIPSTART=\"TCP\",\"192.168.1.111\",1234\r\n");
while(Serial.find("OK")){lcdflag=1;} //1602lcd显示success
delay(20000);//此处需根据网路连接速度设置delay的时间,可适当加长
printmssage();
Serial.print("AT+CIPMODE=1\r\n");
while(Serial.find("OK"));
printmssage();
Serial.print("AT+CIPSEND\r\n");
while(Serial.find("OK"));
flag=1;
}
senddata();
}
void printmssage(){
if (Serial.available()){
Serial.println(Serial.readStringUntil('\n'));
}
}
void senddata(){
String info = "";
String s1="tem: ";
String s2="humi: ";
String s3="\r\n";
String temp = String(random(10, 40));// 模拟温度
String humi = String(random(40, 90));// 模拟湿度
info = s1+ temp + s2 +humi+s3;
Serial.print(info);
while(Serial.find("OK"));
delay(5000);
info="";
}