September 8th, 2017
After much work, I’ve finished both the receiving end (the part that goes on the garage) and also created the equivalent of a garage door opener that you would clip on your car. The receiving end is an ESP8266(Wemos d1 mini) and a 5v relay.
Remote:
The remote/controller is an ESP32 based hardware stack(called the M5Stack) with an ILI3941 display and 3 buttons to control the different modes. I found the M5Stack after reading the esp32 subreddit for a bit. I reached out to “Jimmy Lai” and inquired about how I could get my hands on one of these prototypes, and he let me know they didn’t yet have a payment page set up but he would send me one and I could pay him later. A few days later it came in the mail and after a few tests, he resent another one because the USB UART chip had failed. After some tweaking with the new one I was able to get the tests to work and I began work on the garage door opener.
Software:
The first step was figuring out a way to have it connect to WiFi and allow it to display the RSSI of certain networks. This took a bit but I eventually got it working and later on even settled for a solution that allowed multiple networks (The WiFiMulti.h Library) so that I didn’t have to manually set the WiFi name and password every time I moved to a new network. Once I got the connection issues figured out, I moved on to the connection to my currently in-place garage door opener. This was a bit more difficult because it had to also act as a WiFi client and connect to the garage door controller but also maintain the ability to run a server. Again, after about an hour of working on that, I settled on a paging system that would allow me to choose multiple functions and would reset each time a new page was selected. Having it reset each time a new page was opened allowed it to change networks without having to fully reset and start up again.
The code is available on GitHub.