Jag hittade inget bra kodlås som uppfyllde mina krav så jag använde ett trasigt Bewator kodlås och en ESP8266 för en femtilapp så fick jag till nåt som jag tyckte dög och vill dela med mig här.
Bakgrunden är ett alternativboende där de som bor får hemtjänstbesök flera gånger per dygn. Jag har ingen lust att dela ut nycklar utan ville ha ett kodlås med olika personliga koder med tider där de fungerar över dygnet. Klart att man också vill kunna öppna på avstånd och kunna ställa upp låset på dagtid och ditt och datt är ju också bra....
Ambitionsnivån höjdes rejält under projekttiden och scope creep var ett faktum.
Men jag tycker nog att det föll ut bra till sist.
Nån som vill bygga ett okej kodlås och det här hjälper så är det bara bra.
Länk till projektet: https://hackaday.io/project/201971-another-code-lock
Lite om features då:

Code Lock with ESP8266

Hardware needed:
Wemos D1 Mini (ESP8266)
Some kind of electric lock.
A connected matrix keypad with digits 0 through 9, size 3x4.
The matrix is connected to pins D1 through D7:
D1 to D4 are connected to the rows.
D5 to D7 are connected to the columns.
A relay board to control the lock connected to D8.
Optional reed switch to detect unlocked/locked/door opened/closed connected to D0.
Additionally, a 5V power supply is required, such as from a USB charger.

Features:
WiFi connectivity.
Admin web page.
MQTT connectivity for automations with Home Assistant or similar.
Supports 8 multiple individual codes, consisting of the digits 0 through 9, with a maximum length of 8 digits.
Different codes can be valid at specific hours of the day.
Unlock the lock using the keypad by entering a valid code, or
unlock from admin page, or unlock from MQTT.
If "AlwaysOpen" is set, the lock will be unlocked all the time.
Automatically connects to an MQTT broker if one is configured.
Unlock and set AlwaysOpen from MQTT.
The program updates an MQTT server/topic with activity, including timestamps, who unlocked the door, commands published from MQTT and admin page, and input from the keypad.
Optional detection when the lock is in the unlocked state using a reed switch connected to D8. (Switch is assumed closed when the door is locked.)
You can detect if the door is opened/closed instead, if there is trouble detecting the locked/unlocked state of your lock.
Serial interface enabled in USB, 9600 baud.

Wi-Fi Connectivity:
Configure initial Wi-Fi settings via a simple Access Point (AP) and a web page.
WiFi Settings are stored in non volatile memory.

Password-Protected Admin Web Page:
The admin page features:
A button to manually unlock the door.
A button to permanently put the lock in always-unlocked mode".
Managing codes, their validity periods, and comments.
There is a button to delete configuration file if needed which at reboot will create the default config file.
Configuring the MQTT broker (address, username, password, topic).
If you have multiple doors, door name and MQTT topic can be set for ease of identification.
Changing the admin password for the admin page.

Configuration Storage:
Configuration is saved in a JSON file on a non-volatile partition, ensuring it persists across reboots or firmware uploads.
A default configuration is created if no valid configuration file exists or if it becomes corrupted.

Default Settings:
Default code #1: 12345678
Default admin web page password: adminpass
Default door/lock name: Door

Known issues:
Some unidentified bugs in admin page when adding or changing codes or settings;
Always refresh and only edit and save one code/section at a time, and if it doesn't work to save the first time, retry.)
No https encryption on web page.
No TLS encryption for MQTT connection.
TBD: Setting correct time zone from admin page.
 
  • Skärmdump av webbgränssnitt för kodlåsinställningar med kodlistor, giltighetsperioder, MQTT-inställningar och lösenord.
  • Ett modifierat Bewator kodlås med ESP8266-chip, omringat av elektriska komponenter och kablar, på en arbetsbänk.
    Inloggade ser högupplösta bilder
    Skapa konto
    Gratis och tar endast 30 sekunder
Redigerat:
  • Gilla
cpalm och 2 till
  • Laddar…
Snyggt!
Jag har löst det med ett Danalock V3, då är allting färdigt från start, och användarna kan komma in med mobilen som nyckel.
Men bygga själv har ju alltid sin charm 🙃
 
Hannuse Hannuse skrev:
Snyggt!
Jag har löst det med ett Danalock V3, då är allting färdigt från start, och användarna kan komma in med mobilen som nyckel.
Men bygga själv har ju alltid sin charm 🙃
Ja, jag är ju lite sugen på att bygga med både RFID som nyckel och min favvo, ett lås som kan läsa QR-koder i en mobil, QR-koder som genereras i mobilen och bara är giltiga några sekunder för passage/upplås i vissa lås och tider.
En snygg 2FA i min smak.
 
Attitudeswe
Snyggt, men alla med wifi lösenordet kan ju sätta upp en egen mqtt broker som säger åt låset att öppna sig?
 
Attitudeswe Attitudeswe skrev:
Snyggt, men alla med wifi lösenordet kan ju sätta upp en egen mqtt broker som säger åt låset att öppna sig?
Men alla har väl segmenterade nät?
Men om man nu kanske inte har hunnit sätta upp det? Jaa, då måste ju en antagonist allraminst spoofa IP för den riktiga mqtt brokern, och veta användare och lösen till den riktiga mqtt-servern. Och då kanske man kan tycka att det kan finnas större problem om den mqttbrokern används till annat.
Men jag implementerade inte heller https eller mqtt över TLS utan förlitar mig på WiFikrypteringen. Så verkligen inte läge att skydda familjejuvelerna bakom den här lösningen...... :-D
 
P Puffen Ingarö skrev:
Men alla har väl segmenterade nät?
Men om man nu kanske inte har hunnit sätta upp det? Jaa, då måste ju en antagonist allraminst spoofa IP för den riktiga mqtt brokern, och veta användare och lösen till den riktiga mqtt-servern. Och då kanske man kan tycka att det kan finnas större problem om den mqttbrokern används till annat.
Men jag implementerade inte heller https eller mqtt över TLS utan förlitar mig på WiFikrypteringen. Så verkligen inte läge att skydda familjejuvelerna bakom den här lösningen...... :-D
Ja, precis.
Och ser det ut som hemma hos mig så finns det lång mer effektiva sätt att ta sig in.
Knacka en ruta kräver ytterst begränsade kunskaper om kryptering, och då är man inne på några sekunder.
Så jag ser dörrlåset som en symbolisk sak.
Men det beror naturligvis på boendesituation och hur man själv tänker.
 
  • Gilla
Puffen Ingarö
  • Laddar…
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.