📄️ Screen driver
The screen driver has been added to overtime and is a little overloaded with functionality. It is the driver that displays stuff in the web browser (on the main screen in the caravan). The driver is split into server and clientYou can also run the client in dev mode using:
📄️ Dyson driver
The dyson fan uses MQTT to communicate. It reads credentials in a (top-level) config.json file:
📄️ Arm driver
The arm driver handles the door opening, the drawer opening and the arm movement for the webcam in the caravan. It communicates with a nodemcu ESP8266 controller (https://www.amazon.co.uk/AZDelivery-NodeMcu-ESP8266-Development-including/dp/B074Q2WM1Y/)
📄️ Smell driver
The smell code just runs directly on controllers (Feather M0) – the code for the controllers can be found at//github.com/tlodge/fmundane-arduino/blob/main/smell/air\freshner\v3.ino
📄️ Window driver
Toggles the opacity of the smart windows. Calls the webserver running on an Arduino controller. Arduino code can be found at:
📄️ Hue driver
The hue driver simply interfaces with the hub hub. It adds credentials to each API call. The supported calls are as follows:
📄️ Nanoleaf driver
This controls the panel of lights under the caravan settee.
📄️ Miniscreen driver
As with the screen driver, but runs on the small HDMI screens. Since they run of Pis, they're not connected to cameras so /api/camera and /api/camera/scan won't work.
📄️ Media driver
This isn't used that often. It plays media out of the Lenovo (or mac's) media player. The preference tends to be to play the media through the browser using the screen\_driver; however if you want to play out the audio through a different device or want to run other media in parallel with media being played on the screen then this is a good choice. It assumed that 'play' is installed (if linux) or afplay (if mac) – though you'll need to manually switch the command that is called dependent on the device. It assumes that the requested media files exist in the top-level media directory (fmundane-engine/media)
📄️ Speech driver
This is the driver that currently runs on the mac and uses its 'say' command line. This is (at the time of writing) still the best quality local real-time speech synthesis engine we have found. Note that this driver is set to autostart on the mac using pm2.
📄️ Speech to text
Experimental driver that listens to a (browser) mic and does speech to text. Works locally and is not too bad (not as accurate as Google's cloud version, but good enough to have fun with. This relies on//github.com/coqui-ai/STT-examples which is installed on the Lenovo, and install instructions can be found in README.md
📄️ Neopixel
Another experimental driver. Kept in as it shows how a feather can be setup to communicate over MQTT and drive neopixels. The (feather) controller code can be found at:
📄️ Reciept driver
There is no node receipt driver code. The code runs off the PI and can be called as follows: