Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wifi 使用ESP8266向Thingspeak发送数据_Wifi_Iot_Esp8266_Arduino Esp8266 - Fatal编程技术网

Wifi 使用ESP8266向Thingspeak发送数据

Wifi 使用ESP8266向Thingspeak发送数据,wifi,iot,esp8266,arduino-esp8266,Wifi,Iot,Esp8266,Arduino Esp8266,我正在尝试使用ESP8266向Thingspeak发送数据。我正在使用从internet下载的代码,但仍然无法连接到WiFi #包括 #定义RX2 #定义TX 3 字符串AP=“角斗士”//改变我 字符串PASS=“1212ftth”//改变我 字符串API=“PDRVGWQZWF6J25LR”;//改变我 String HOST=“api.thingspeak.com”; 字符串端口=“80”; 字符串field=“field1”; int countTrueCommand; int coun

我正在尝试使用ESP8266向Thingspeak发送数据。我正在使用从internet下载的代码,但仍然无法连接到WiFi

#包括
#定义RX2
#定义TX 3
字符串AP=“角斗士”//改变我
字符串PASS=“1212ftth”//改变我
字符串API=“PDRVGWQZWF6J25LR”;//改变我
String HOST=“api.thingspeak.com”;
字符串端口=“80”;
字符串field=“field1”;
int countTrueCommand;
int countTimeCommand;
布尔值=false;
int-valSensor=1;
软件串行esp8266(接收、发送);
无效设置(){
Serial.begin(9600);
esp8266.开始(115200);
sendCommand(“AT”,5,“OK”);
sendCommand(“AT+CWMODE=1”,5,“正常”);
sendCommand(“AT+CWJAP=\”“+AP+”\,\”“+PASS+”\,20,“OK”);
}
void循环(){
valSensor=getSensorData();
String getData=“获取/更新?api_key=“+api+”&“+field+”=”+字符串(valSensor);
sendCommand(“AT+CIPMUX=1”,5,“正常”);
sendCommand(“AT+CIPSTART=0,\“TCP\”,\“+HOST+”,“+PORT,15,OK”);
sendCommand(“AT+CIPSEND=0,”+String(getData.length()+4),4,“>”;
esp8266.println(获取数据);
延迟(1500);
countTrueCommand++;
sendCommand(“AT+CIPCLOSE=0”,5,“OK”);
}
int getSensorData(){
返回随机数(1000);//替换为
}
void sendCommand(字符串命令,int maxTime,char readReplay[])){
串行打印(countTrueCommand);
Serial.print(“.at命令=>”);
串行打印(命令);
连续打印(“”);
while(countTimeCommand<(maxTime*1)){
esp8266.println(命令);//at+cipsend
如果(esp8266.find(readReplay)){
发现=真;
打破
}
countTimeCommand++;
}
if(find==true){
序列号。打印号(“OYI”);
countTrueCommand++;
countTimeCommand=0;
}
if(found==false){
Serial.println(“失败”);
countTrueCommand=0;
countTimeCommand=0;
}
发现=错误;
}

我检查了我的电路好几次,一切都在正确的地方。有谁能告诉我问题出在哪里,或者告诉我连接Thingspeak的更好方法吗?

您应该使用ESP直接连接Thingspeak。您不应该使用AT命令

请看一下中的示例。ESP8266上有一节。如果必须使用AT命令,我建议查看中的示例。也有一些示例用于直接连接而不使用库中的AT命令