I'm using Arduino Nano and ESP8266.
When I setup like the picture and connect Arduino Nano to PC by USB: enter image description here
The ESP8266 properly works. (Arduino Nano is just used as a bridge)
I print and read from serial with a C# program, it correctly works.
What I send from C# program:
AT+CWJAP="APN", "Pass"
The message from ESP:
AT+CWJAP="APN", "Pass"
OK
But, when I change the setup as follows:
- Green wire (green wire on picture) to Arduino Digital2 pin
- Red wire (red wire on picture) to Arduino Digital3 pin
- Use Arduino code to read/write serial, instead of C# program
- Create a software serial from code (esp8266 = SoftwareSerial(2, 3))
What I send from SoftwareSerial:
AT+CWJAP="APN", "Pass"
The message from ESP:
AT+CWJAP="APN", "Pass"
ERROR
Do you have any ideas? Why isn't the result on SoftwareSerial identical to Serial?
-
\$\begingroup\$ What does "Green wire to D2" mean precisely? Ditto "Red wire to D3" - if these are components then explain where they are and what they do. \$\endgroup\$Andy aka– Andy aka2015年12月24日 10:51:52 +00:00Commented Dec 24, 2015 at 10:51
-
\$\begingroup\$ The green wire on picture (the wire that I previously connected to RX), and the red wire on picture (the wire that I previously connected to TX). \$\endgroup\$Burak Yavuzalp– Burak Yavuzalp2015年12月24日 10:53:34 +00:00Commented Dec 24, 2015 at 10:53
-
\$\begingroup\$ D2, D3 - are these diodes dude? \$\endgroup\$Andy aka– Andy aka2015年12月24日 10:55:59 +00:00Commented Dec 24, 2015 at 10:55
-
\$\begingroup\$ Arduino Digital2 pin, Arduino Digital3 pin \$\endgroup\$Burak Yavuzalp– Burak Yavuzalp2015年12月24日 10:58:27 +00:00Commented Dec 24, 2015 at 10:58
-
\$\begingroup\$ Totally off topic but have you considered using ESP as the arduino itself? You can use ESP-07 or ESP12 to get more GPIO pins and you can directly program the ESP using Arduino IDE. Here is more info on that topic. \$\endgroup\$Whiskeyjack– Whiskeyjack2015年12月24日 13:23:31 +00:00Commented Dec 24, 2015 at 13:23
1 Answer 1
This is the info taken from arduino website:
The library has the following known limitations:
1) If using multiple software serial ports, only one can receive data at a time.
2) Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
This has not explicitly mentioned the board you are using, but I think these limitations are on hardware level. Changing the software serial pins should most likely take care of this issue.