Fork from Nidayand version.
Updates:
2019.04.23 (v 1.5.1)Updated version working with ArduinoJson 6
2019.04.23 (v 1.5.1)Customizable pin for motor connection
2019.04.23 (v 1.5.1)Added a customizable button (not required) for clean config during startup, or to bring roller completely opened/closed
WebSocket based version of motor-on-roller-blind. I.e. there is no need of an MQTT server but MQTT is supported as well - you can control it with WebSockets and/or with MQTT messages.
3d parts for printing are available on Thingiverse.com: "motor on a roller blind"
- A tiny webserver is setup on the esp8266 that will serve one page to the client
- Upon powering on the first time WIFI credentials, a hostname and - optional - MQTT server details is to be configured. Connect your computer to a new WIFI hotspot named BlindsConnectAP. Password = nidayand
- Connect to your normal WIFI with your client and go to the IP address of the device - or if you have an mDNS supported device (e.g. iOS, OSX or have Bonjour installed) you can go to http://{hostname}.local. If you don't know the IP-address of the device check your router for the leases (or check the serial console in the Arduino IDE or check the
/raw/esp8266/register
MQTT message if you are using an MQTT server) - As the webpage is loaded it will connect through a websocket directly to the device to progress updates and to control the device. If any other client connects the updates will be in sync.
- Go to the Settings page to calibrate the motor with the start and end positions of the roller blind. Follow the instructions on the page
#MQTT
- When it connects to WIFI and MQTT it will send a "register" message to topic
/raw/esp8266/register
with a payload containing chip-id and IP-address - A message to
/raw/esp8266/[chip-id]/in
will steer the blind according to the "payload actions" below - Updates from the device will be sent to topic
/raw/esp8266/[chip-id]/out
Simply do not enter any string in the MQTT server form field upon WIFI configuration of the device (step 3 above)
##Payload options
(start)
- (calibrate) Sets the current position as top position(max)
- (calibrate) Sets the current position as max position. Setstart
before you definemax
asmax
is a relative position tostart
(0)
- (manual mode) Will stop the curtain(-1)
- (manual mode) Will open the curtain. Requires(0)
to stop the motor(1)
- (manual mode) Will close the curtain. Requires(0)
to stop the motor0-100
- (auto mode) A number between 0-100 to set % of opened blind. Requires calibration before use. E.g.50
will open it to 50%