I have a Wifi Kit 8 and would like to use SoftwareSerial to read data from a sensor. Unfortunately I get
no data from the sensor (although it works on another ESP8266) therefore I experimented a bit with the examples from the EspSoftwareSerial-Lib. Unfortunately I can’t get a SoftwareSerial to run. Even simple examples like “onewiretest” don’t work. Can someone help me with that? Do I have to pay attention to anything special? I connected GPIO 12 (D6) to 14 (SCL) and used the following code from the example:
#include <ESP8266WiFi.h>
#include “SoftwareSerial.h”SoftwareSerial swSer1;
SoftwareSerial swSer2;void setup() {
delay(2000);
Serial.begin(115200);
Serial.println(PSTR("\nOne Wire Half Duplex Serial Tester"));
swSer1.begin(115200, SWSERIAL_8N1, 12, 12, false, 256);
// high speed half duplex, turn off interrupts during tx
swSer1.enableIntTx(false);
swSer2.begin(115200, SWSERIAL_8N1, 14, 14, false, 256);
// high speed half duplex, turn off interrupts during tx
swSer2.enableIntTx(false);
}void loop() {
Serial.println(PSTR("\n\nTesting on swSer1"));
Serial.print(PSTR(“Enter something to send using swSer1.”));
checkSwSerial(&swSer1);Serial.println(PSTR("\n\nTesting on swSer2"));
Serial.print(PSTR(“Enter something to send using swSer2.”));
checkSwSerial(&swSer2);}
void checkSwSerial(SoftwareSerial* ss) {
byte ch;
while (!Serial.available());
ss->enableTx(true);
while (Serial.available()) {
ch = Serial.read();
ss->write(ch);
}
ss->enableTx(false);
// wait 1 second for the reply from SOftwareSerial if any
delay(1000);
if (ss->available()) {
Serial.print(PSTR("\nResult:"));
while (ss->available()) {
ch = (byte)ss->read();
Serial.print(ch < 0x10 ? PSTR(" 0") : PSTR(" "));
Serial.print(ch, HEX);
}
Serial.println();
}
}