0
ESP8266を使用してUDPパケットを受信し、受信したUDP文字列を使用して特定のLEDを点灯させようとしています。私はUDP文字列を取得し、それをシリアルモニタに表示するArduinoプログラムを作成しました(私はATコマンドを使用したいBTW)。ここで受信パケットからUDP文字列を抽出する(ESP8266)
は、サンプル出力です:
+IPD,6:foobar
+IPD,6:foobar
+IPD,13:foobarhesbbdb
+IPD,13:foobarhesbbdb
問題:
コードIは+IPD,x
せずに文字列のみを抽出するにはどうすればよい
#include <SoftwareSerial.h>
SoftwareSerial softSerial(8, 9); // RX, TX
String line;
void setup()
{
uint32_t baud = 9600;
Serial.begin(baud);
softSerial.begin(baud);
Serial.print("SETUP!! @");
Serial.println(baud);
Serial.setTimeout(10);
softSerial.println("AT+CWJAP=\"***\",\"***\"");
delay(1000);
softSerial.write("\n");
delay(2000);
softSerial.println("AT+CIPSTART=\"UDP\",\"0\",0,5005,2\"\r");
softSerial.write("\n");
}
void loop()
{
while(softSerial.available() > 0)
{
char a = softSerial.read();
if(a == '\0')
continue;
if(a != '\r' && a != '\n' && (a < 32))
continue;
Serial.print(a);
}
while(Serial.available() > 0)
{
char a = Serial.read();
Serial.write(a);
softSerial.write(a);
}
}
。
私はESP8266を使い慣れました。私が間違っていることを教えてください。
ArduinoはCではありません。 – Olaf