All information about the project can be found on github, but for convenience, here are some details.

Features

  • 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 1.5.4.1 - 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):