All information about the project can be found on github, but for convenience, here are some details.
- Single NodeMCU device can control many curtain motors (assuming all of them are wired with this NodeMCU device), and these motors can be added/configured via the web interface;
- Ability to send raw commands to RS-485 (optionally appended with the generated CRC16) from the web interface (RS-485 tab);
- The motor address may be assigned using web interface (RS-485 tab), so no other hardware/software is required to initialize the motors;
The following features are derived from the platform on which project is based:
- Wi-Fi connection (such as setting up an access point, or using an existing Wi-Fi network) can be set up via the web interface;
- NodeMCU device hosts HTTP server locally, no third-party services are used and no Internet access is required;
- There is a built-in IDE for editing the software via the web interface (you can hack the software at runtime to add new features);
- Responsive Web UI (usable from smartphones);
- NodeMCU version agnostic (software can work on NodeMCU 22.214.171.124 - 3.0.0).
Web interface overview:
NodeMCU to RS-485 interface
This device allows NodeMCU hardware (implemented on any of the chips: ESP8266, ESP8285 and ESP32) to communicate with devices over RS-485 interface. The RS-485 interface is implemented using the SP3485 chip, as it can be powered by 3.3V (as required by ESP-01). Here is the schematic diagram (if using the simplest ESP-01 module and an existing 5V power supply):