- Use arduino to control access to electrically actuated devices
- Electronically actuated device (garage door/door/or anything you want to access)
- WiFi in range
- Arduino as node/client (communicates to network using ESP8266 and WIFIESP arduino lib)
- Arduino runs this MQTT lib
- A master/server that runs mosquitto and a webserver
- Pincode gets sent to topic for door requests (either by pinpad, mqttclient, web interface, rfid device etc)
- Pincode checked against database of allowed users
- Response is sent to the node (allow or deny)
- Relay is actuated and DB is updated
Users added, modified and deleted via webpage in webserver (https://<servername/URL>)
- Update doorsetup.py to reflect doors you want to control
- run
python views.py <admin username> <admin password>
You get to choose what they are! - Stop script then run via systemd (or whaterever process manager you use)
- Populate db via web interface (login usng credentials supplied above above)
Letsencrypt cert needs to be renewed periodically:
- Open port 80 on router to webserver (need to enable ipv6 for fritzbox to allow this then disable as ISP falls apart with IPv6 used)
- run
sudo certbot renew
- Disable access via port 80
# systemclt stop door
- running (from python dir) $ uwsgi --ini uwsgi.py
- Ctrl+C that process after testing api is delivering
# systemctl start door
This seems to work