I'm trying to interface an ESP8266 with a garage door opener which is connected with two wires to the door opener button. The 12v wire powers the button and also carries a serial uart signal. I need to be able to transmit and receive on this signal line.
I don't think this is related to the One Wire protocol... This is just serial uart data but they've merged power, rx & tx onto the same line.
I'm currently able to read the data using a voltage divider to drop the 12v to 3.3vs, which is then connected to my ESP's RX. But now I need to figure out how to write data back...
I'm getting closer. need to get this circuit built so I can actually test my code.
It sets the initial rolling code value.
With an oscilloscope, logic analyzer, data sheet and by dumping the firmware off of the chips.
I don't follow you. Someone on here certainly has more experience building circuits than I do. The TX line needs to pull the data line low, I'm guessing with a transistor, but I don't know for sure.
All of the data being sent between the opener and the button and vice versa.
Every device connected on the data line (The opener, the button, and not pictured, the second button that I'm using for testing).
Color me confused as well. I just added a Wemos D1 Mini to my garage door openers and interfaced them into Alexa, so now I can say "Alexa open xyzzy". Of course 'xyzzy' isn't the name of the door. It helps to have Alexa Auto in my car.
But, I have absolutely no clue what the OP is asking.
You must have garage door openers that have dry contacts.
Chamberlain/LiftMaster security+2.0 openers (and I assume others) have done away with dry contacts and require an encrypted rolling code to open the door.
I have reverse engineered their algorithm, but I need a one wire uart circuit in order to test.
Why didn't you say so in the first place? This would have answered some of the confused questions. If you had stated your project goal up front others may have already figured it out.
The door obstruction sensors work by dropping the 6V power to 0V for 5ms every 600ms. Easy to replicate in an Arduino or even a 555. But while you may be able to replicate one door open code, if it is a rolling code, how would you predict the next code in the sequence?
A locksmith told me that there were only 32 codes in my Jeep key's rolling code memory, so if the door opener is the same you could just capture codes until you see a repeat.
I do not see why you would need a UART. Instead of Rx just use a GPIO and time the pulses.