|
1 year ago | |
---|---|---|
CreateFont | 1 year ago | |
FlutterClients | 1 year ago | |
MasterDemo | 1 year ago | |
NodeMCU | 1 year ago | |
NodeMCU-ESP32 | 1 year ago | |
NodeMCU_Neopixel.jpg | 1 year ago | |
README.md | 1 year ago |
Title:SmoothLampScroller Date:2019/12/16 Author:KQ Keywords: NodeMCU,ESP8266,ESP32,NeoPixel,WS2812
This is the repository for https://www.hacknology.de/projekt/2019/nodemcu_neopixel/.
This document describes the contents of the diverse directories of the project and how they are meant to be used & relate to each other.
Language skills required for this project: Basic Lua (>= V5.1)
Other useful skills: A basic understanding of the NodeMCU environment (https://nodemcu.readthedocs.io/en/master/, https://nodemcu.readthedocs.io/en/dev-esp32/).
You will need the nodemcu-tool (V3.0.2 or better if avail.) installed. Make yourself comfortable with its commands for uploading & terminal modes!
See https://github.com/andidittrich/NodeMCU-Tool for reference.
##1. Hardware The basic boards used are of type ‘NodeMCU’ (featuring an ESP8266) or ‘NodeMCU-ESP32’ (well, obvious ;-).
NodeMCU: Output for the WS2812/Neopixel stuff is on D4. Don’t forget a level shifter for the conversion from 3,3V to 5V as required by the LED strip!
NodeMCU-ESP32: Output are D4 and D5, even more may be made available - up to a total of 8 - within source. All outputs are driven simultaneously (sort of ...).
Board sources differ in minor aspects only but cannot be interchanged freely as some APIs have been modified or are simply not available on a platform (namely Bluetooth that is).
##2. CreateFont directory:
You need to have Lua (preferably a 5.1 version) installed on your PC to run the ‘create_np_lampfont’ Lua program.
From the ‘font_7x9.c’ template, a font binary ‘np_codes.bin’ will be generated.
This binary has to be uploaded to the NodeMCU file system as it will be used by the actual runtime application.
##3. NodeMCU directory (ESP8266)
The runtime application consists of two modules, ‘NMKQ0db.lua’ containing main etc. & ‘lampcodes.lua’ which provides some lamp related stuff utilities.
Both files habe to be uploaded to the NodeMCU file system.
On a NodeSwarm device, the ‘.settings’ file will also be required upon boot (which is why it should be uploaded as well).
You may rename the ‘NMKQ0db.lc’ (the compiled Lua program) to ‘nowifi.lc’ which would permit for a boot w/o Wifi startup.
(Safer! :)
##4. NodeMCU-ESP32 directory
The runtime application is contained within the ‘NMKQ02c.lua’ module which has to uploaded to a NodeMCU/ESP32 board (where it transforms magically into an lc-file ...).
On a NodeSwarm device, the ‘.settings’ file will also be required upon boot (which is why it should be uploaded as well).
You may rename the ‘NMKQ02c.lc’ to ‘nowifi.lc’ which permits for a boot w/o Wifi startup (as on a NodeSwarm device there still will be a BLE/Gatts-Server ready to serve client requests).
For convenience, the ‘.nodemcutool’ settings file has also be supplied (to be used within current PC directory).
##5. MasterDemo This sample client application may be used on a PC to send messages to NodeSwarm (UDP multicast) clients. It requires a Lua installation (tested w/ V5.1) on a Linux PC.
##6. FlutterClients
For convenience, a WLAN- and a BLE-Client for Android have been provided. Don’t forget to enable WLAN or Bluetooth&GPS respectively, as there will be no separate warning within App.
Dart-Sources may be provided upon request (a warning though: these are really awkward testing grounds ...).