I'm working for an IoT startup that is currently prototyping with Moteinos. The idea is a home base unit + Moteino outside the home. Anyways, we needed a low-cost WiFi unit that would interface well with a Moteino. So I've spent quite some time working out most of the kinks and can proudly say that I have a fully functioning base unit! To my knowledge, everything works like a normal Moteino should, minus implementation (different function names and different way of calling them). I tried using the ESP8266-Arduino library at first, but it was too messy trying to use that and Hardware SPI on the ESP8266.
Originally I started out by using the esp-link project, but have removed several features and modified a few others to my liking. Mainly I changed the logging to a websockets implementation and took out pin configuration, tcp, uart swap. It's also running the latest version of esphttpd and has some modifications to various libraries here and there.
One of the major things I got working was OTA firmware updating. Right now the process goes: you compile your FW, use a program to convert it to a .bin file, then upload it through the web console, which copies it to SPI flash. Then you hit begin and it begins the process. It may be a bit buggy because SPI flash must be written to/from in 32 bit chunks, and I haven't thoroughly tested it. Also, this has all been cropped out from the project I'm working on so there may be a few orphaned things in there that need to be cleaned up.
But anyways, feel free to check it out. Any and all feedback, comments, suggestions, bugs are appreciated! I'm fairly busy most of the time, but I should be able to help here and there if people have issues.
I know a couple bugs are out there. Mainly to do with firmware flashing and reading/writing to spi flash. So maybe someone smarter than me can take a look. Also, I've implemented tx and rx queues which may not be necessary but they were helpful in debugging the OTA functions.
Compiled with non-RTOS SDK v.1.4.
https://github.com/someburner/esp-rfm69
I've also included a basic .ino that is loaded on the Moteino and just sends a test message every 10 seconds or so. And below are the screenshots of what you should see outputted.
https://github.com/someburner/esp-rfm69 ... ndTest.ino
Screenshots: (Rssi value is like it is because I didn't have an antenna attached for this!)
https://github.com/someburner/esp-rfm69/blob/master/doc/screen1.jpg
https://github.com/someburner/esp-rfm69/blob/master/doc/txrxex.jpg
For anyone who hasn't worked with these modules or similar, they basically give you the ability to transmit data much further than WiFi. For instance, using the RFM69HW, Line-Of-Sight transmissions of up to around 1.5 miles were reached. And for its sister LoRa equivalent, LOS range was almost 25 miles! Of course, transmission rate is much, much lower. But all in all, pretty damn good for the range and power requirements. All for about $4 or $5 (or $13 for LoRa). Great for getting signal to/from hard to reach spots.