Skip to content

Latest commit

 

History

History

blinds

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Blinds

In our house, blinds are directly plugged in a Controllino. It means that physical buttons are inputs of the Controllino.

Hence, blinds are fully controlled by the blinds.ino Arduino program, that lands in the Controllino. It sets a simple automata to control the motor of the blinds. The code is largely documented, so enjoy!

It also supports a remote control over TCP. It sets up a TCP server and a specific but very basic binary protocol to control the blinds. It assumes the Controllino is wired by RJ45 to a router with a DHCP server. Thus, the Controllino IP is assigned dynamically by DHCP. The blinds.ino program uses the by DHCP. The blinds.ino program uses the Telnet port (23) to receive data (because why not 🤷‍♂️).

Example of raw usage with netcat:

$ printf '%b\t%b' '\x02' '\x04' | nc 192.168.1.42 23 -v
#                  ^~~~   ^~~~       ^~~~~~~~~~~~ ^~
#                  |      |          |            |
#                  |      |          |            the port
#                  |      |          the IP
#                  |      the action
#                  the subject

Hopefully, there is a Rust program to control the blinds! Please, welcome blinds. Here is a basic usage, but check its documentation to learn more.

$ blinds --address 192.168.1.42:23 --subject livingroom --action closing