Arduino unoのスケッチ
Arduino unoのスケッチは以下となります。
以下のスケッチにおいて、「SSID」「パスワード」「パソコンIPアドレス」「ポート」を
実際の環境に合わせて設定する必要があります。
//ESP-WROOM-02 TEST
void setup()
{
Serial.begin(115200);
while (!Serial)
{
; // wait for serial port to connect. Needed for Leonardo only
}
delay(100);
Serial.println("AT+CWMODE=1\r\n");
while (recvFind("OK",500)==false){Serial.println("NG\r\n");}
Serial.println("AT+CWJAP=\"SSID\",\"password\"\r\n");
while (recvFind("OK",5000)==false){Serial.println("NG\r\n");}
Serial.println("AT+CIPSTART=\"TCP\",\"パソコンIPアドレス\",ポート\r\n");
while (recvFind("OK",500)==false){Serial.println("NG\r\n");}
Serial.println("AT+CIPMODE=1\r\n");
while (recvFind("OK",500)==false){Serial.println("NG\r\n");}
Serial.println("AT+CIPSEND\r\n");
while (recvFind("OK",500)==false){Serial.println("NG\r\n");}
}
void loop() // run over and over
{
if (Serial.available())
Serial.write(Serial.read());
}
String recvString(String target, uint32_t timeout)
{
String data;
char a;
unsigned long start = millis();
while (millis() - start < timeout) {
while(Serial.available() > 0) {
a = Serial.read();
if(a == '\0') continue;
data += a;
}
if (data.indexOf(target) != -1) {
break;
}
}
return data;
}
bool recvFind(String target, uint32_t timeout)
{
String data_tmp;
data_tmp = recvString(target, timeout);
if (data_tmp.indexOf(target) != -1) {
return true;
}
return false;
}