WiFiボードESP-Wroom-02
写真奥から、
GND | GND |
IO0 | 10kΩ抵抗経由で3.3V |
IO2 | 未接続 |
EN | 10kΩ抵抗経由で3.3V |
RST | 10kΩ抵抗経由で3.3V |
TXD | ArduinoのRx |
RXD | ArduinoのTx |
3V3 | 3.3V |
SSID MeoBankSD_pbl パスワード Wikiのパスワードと同じ
#include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); // RX, TX bool recvFind( String target, uint32_t timeout=1000 ); String recvString( String target, uint32_t timeout=1000 ); void clear_rx(); const unsigned long newBAUD=57600; unsigned long bauds[]= { 300,1200,2400,4800,9600,14400, 19200,28800,31250,38400,57600,115200 }; void setup() { int i; int flag; unsigned char c; Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } Serial.println("Goodnight moon!"); flag = 0; for( i=0; i<12; i++ ){ Serial.println( "Trying "+String(bauds[i])+" BAUD" ); mySerial.begin( bauds[i] ); clear_rx(); mySerial.println("AT+UART_DEF="+String(newBAUD)+",8,1,0,0"); if( recvFind( "OK" ) ){ flag = 1; break; } } clear_rx(); if( !flag ){ Serial.println( "?????" ); } else { clear_rx(); Serial.println( "BAUD="+String(newBAUD) ); } mySerial.begin( newBAUD ); clear_rx(); delay( 100 ); mySerial.println( "AT" ); } void clear_rx() { while( mySerial.available() ){ mySerial.read(); } } bool recvFind( String target, uint32_t timeout=1000 ) { String data; char a; unsigned long start = millis(); while (millis() - start < timeout) { while(mySerial.available() > 0) { a = mySerial.read(); if(a == '\0') continue; data += a; } if (data.indexOf(target) != -1) { return true; } } return false; } void loop() { // run over and over char buf[128]; int i, j; if (mySerial.available()) { Serial.write(mySerial.read()); } if (Serial.available()) { mySerial.write(mySerial.read()); } }