Progress Report
I started work on this today, having done some research on all this.
[x] Received the Adafruit Huzzah ESP8266 breakout board and an FTDI serial cable to program it
[x] Downloaded CoolTerm, Arduino, the related board description, the ArduinoJson library and the SPIFFS download plugin
[x] Soldered the headers on the ESP and the wiring for both the Velleman VMA321 USB charging board and the 3.7V LI-PO battery
[x] Figured out out to program/flash in the native NodeMCU Lua that was originally on there
[x] Figured out how to replace that with Arduino code, to pack a SPIFFS folderset and to get that on there, too
[x] Forked a repository which is almost like this, modifying it for my own needs
[x] Booted it up in configuration mode, connected to the hotspot it spun up, connected to the configuration page and modified the settings
[x] Booted it up in standard mode and it successfully did a GET request to the http://octopi.local/api/version
page, throwing the apikey in doing so and registering the response in the serial console I used for debugging
[ ] Do an end-to-end test before assembling inside the BRB
[ ] Write a new endpoint for the pause
feature into OctoPrint or edit the existing Arduino code to POST a body instead of GET'ing a page
Features:
- 3.7V Li-PO battery for mobility
- Mini-USB connector for charging, (will probably work for wireless charging with my Duracell charging pad)
- Everything will likely fit inside the BRB as printed/assembled earlier
- Configuration pin for spinning up a hotspot, serving a webpage for editing the configuration
- Goes into "deep sleep" mode to conserve power
- Upon connecting the contacts, it should wake up, connect to wi-fi, make the api call and then go back to sleep, having indicated success with the onboard LED
Oddities
- Although an older iPad could see the hotspot spun up, the new MacBook could not
- Still trying to wrap my head around working with Arduino single-board computers