NodeMCU to HC-12 433mhz Transceiver
Posted:
Sat Apr 01, 2017 6:25 pm
by ionu
I am trying to send a simple msg from an arduino+HC-12 to a NodeMcu V1.0 a2-e + HC-12. Nothing happens. Any suggestions please?
My code for both is:
Code: Select all#include <SoftwareSerial.h>
SoftwareSerial mySerial(7,8 ); //RX, TX
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() {
if(Serial.available() > 0){//Read from serial monitor and send over HC-12
String input = Serial.readString();
mySerial.println(input);
}
if(mySerial.available() > 1){//Read from HC-12 and send to serial monitor
String input = mySerial.readString();
Serial.println(input);
}
delay(2000);
}
Schmatics
Re: NodeMCU to HC-12 433mhz Transceiver
Posted:
Mon Apr 03, 2017 10:02 am
by daniel_ezsbc
Since you put this in the newbie section I'll try to explain why it won't ever work (reliably). You have an HC12 receiver connected to the UART pins of the ESP8266 without any means of ensuring that you don't send junk to the ESP8266. By junk I include noise from the rf when you are not transmitting. How do you guarantee that the signal you send to the ESP8266 is high (the required default for the UART input) when there's no data on the readio channel? How do you guarantee that the radio channel doesn't break the bit timing of the data that you send? What happens to the ESP8266 when noise changes a valid command to an unrecognised command?
What is the default baud rate of the ESP8266? Are you sure its 9600 bps? The HC-12 is half-duplex, the ESP8266 is full-duplex so some things are going to get lost at least some of the time.
To have a chance of making this work you should begin by removing the radios between the Arduino and the ESP8266 and get that working so that you know you are speaking to the ESP8266 in the correct way. Then you can remove the ESP8266 and put the radios back with an arduino in place of the 8266 and see that the radio link works. Then you can attach the ESP8266 to the arduino and debug that setup.
It's the easiest to write the code for the Arduino and HC-12 directly on the ESP8266 and completely bypass the HC-12.
Re: NodeMCU to HC-12 433mhz Transceiver
Posted:
Wed Apr 05, 2017 1:40 pm
by ionu
Ok I think I see what you are saying.
One cannot interface directly from the ESP8266 to the HC-12. I have tested communication with x2 Arduino and HC-12 setups and they work. Was hoping to use the ESP8266 mcu part to avoid using the Arduino but it appears you are indicating that one would need an Arduino between the NodeMcu and the HC-12 for this to work?
Thanks for your reply
Re: NodeMCU to HC-12 433mhz Transceiver
Posted:
Fri Apr 07, 2017 1:45 pm
by MildaGenius
Today successfully tested connection between Arduino Uno + HC12 and NodeMCU + HC12.
If you use the same code, you have wrong connection on NodeMCU side. For your connecting, you must change pins to 13, 15 in your code.
Check this:
http://www.esp8266.com/viewtopic.php?f=32&t=6602