Difference between revisions of "Doorduino3"

From RevSpace
Jump to navigation Jump to search
(Software)
m (updated sketch link)
(41 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
   {{Project
 
   {{Project
 
   |Name=Doorduino3
 
   |Name=Doorduino3
   |Status=In progress
+
   |Status=Completed
 
   |Contact=Sebastius
 
   |Contact=Sebastius
 
|Omschrijving=Een gestandariseerde deuropener waar we ook reserves van hebben
 
|Omschrijving=Een gestandariseerde deuropener waar we ook reserves van hebben
 
   }}
 
   }}
 +
 +
== Features ==
 +
 +
Algemeen:
 +
 +
* Meerdere autonome controllers mogelijk
 +
* Centraal beheer van alle deuren
 +
* Bijzonder modulair
 +
* Werkt met (vrijwel?) alle deuropeners
 +
* Behalve custom PCB volledig gebouwd op goedkope off-the-shelf componenten
 +
 +
Controller:
 +
 +
* Sleutelbeheer via SSH
 +
* Deur openen via SSH
 +
* Meerdere deuren per controller
 +
* Logs via syslog, eventueel remote
 +
* Autonoom systeem, blijft werken zonder netwerkverbinding
 +
* Praat via USB-serial met de doorduino('s)
 +
 +
== Overzicht Doorduino's bij Revspace ==
 +
[[Doorduino3-Deuren]]
 +
 +
Doorduino:
 +
 +
* 1 doorduino per deur
 +
* Authenticatie via [[Secure iButton]]
 +
* 24 + 64 bit challenge
 +
* ID-only iButtons worden ondersteund voor als beveiliging je echt niks kan schelen (of als overgangsfase)
 +
* Deuropening via knop (optioneel, moet worden ingeschakeld op controller)
 +
* Arduino is vervangbaar
 +
* Secrets staan niet op de doorduino
 +
* Ca. 10 meter kabel naar de deur is getest
 +
* Aansluitingen via schroefcontacten
 +
* Aansluiting voor iButton-reader met groene en rode LED
  
 
==Idee==
 
==Idee==
Door heel Revspace (en de Verlichting) heen gebruiken we DoorDuino's. Een aantal zijn minder stabiel (met name door de gebruike hostcomputertjes) en geen enkele opstelling is gelijk. Met de komst van de nieuwe Sparkshack is het plan om alle DoorDuino's te standaardiseren. Een goede behuizing, nette boards en een eenduidige constructie.
+
Door heel Revspace (en de Verlichting) heen gebruikten we DoorDuino 2's. Een aantal waren minder stabiel (met name door de gebruike hostcomputertjes) en geen enkele opstelling was gelijk. Met de komst van de nieuwe Sparkshack ontstond het plan om alle DoorDuino's te standaardiseren: een goede behuizing, nette boards en een eenduidige constructie.
  
De software is gelijk aan Doorduino 2, de arduino-code is identiek en pinnummers zijn hetzelfde gebleven.
+
De software is inmiddels een flinke verbetering tov Doorduino 2 (zowel op het linux-ding als op de Arduino's), de hardware is qua componenten gelijk gebleven, behalve dat die componenten nu op een nette PCB worden gesoldeerd in plaats van gaatjesbord.
  
 
==DoorDuino boards==
 
==DoorDuino boards==
Line 17: Line 52:
  
 
===BOM===
 
===BOM===
* Board [https://github.com/revspace/doorduino/tree/master/doorduino2/Board Files], bv via [http://dirtypcbs.com DirtyPCBs.com]
+
* Board [https://github.com/revspace/doorduino/tree/master/doorduino3/Board Files], bv via [http://dirtypcbs.com DirtyPCBs.com]
 
* Arduino Pro Mini (ATmega 328, 5v, 16mhz)
 
* Arduino Pro Mini (ATmega 328, 5v, 16mhz)
 
* IRL540N Mosfet
 
* IRL540N Mosfet
* 1x 150 ohm 0805 resistor
+
* 0805 resistors: 150, 2x 220, 1k, 1k8, 10k
* 2x 220 ohm 0805 resistor
 
* 1x 1k ohm 0805 resistor
 
* 1x 1k8 ohm 0805 resistor
 
* 1x 10k ohm 0805 resistor
 
 
* pinheaders en de vrouwelijke variant ervan
 
* pinheaders en de vrouwelijke variant ervan
 
* 1 of 2 jumpers
 
* 1 of 2 jumpers
Line 61: Line 92:
 
Met de lasercutter snijden we zelf uit 4mm populier-triplex een drager om alle elektronica makkelijk te plaatsen in de kast. Hier rechts is het prototype te zien.
 
Met de lasercutter snijden we zelf uit 4mm populier-triplex een drager om alle elektronica makkelijk te plaatsen in de kast. Hier rechts is het prototype te zien.
  
[[Media:Doorduino3_grondplaat_proto4.svg|Tekening grondplaat proto 4 SVG]]
+
[[File:Doorduino3_grondplaat_proto7.svg|500px]]
  
 
'''Lasersettings/Volgorde:'''
 
'''Lasersettings/Volgorde:'''
Line 70: Line 101:
 
===Boren===
 
===Boren===
 
Hier hier en daar moeten wat gaatjes komen.
 
Hier hier en daar moeten wat gaatjes komen.
 +
 +
== Aansluitingen ==
 +
 +
Gebruik voor de kabels Cat5(E), liefst 24 AWG (26 AWG is dunner).
 +
 +
=== Standaardkabel ===
 +
 +
{|class=wikitable
 +
! Rechtstreeks aangesloten !! Via M14-6 Plugje
 +
|-
 +
|
 +
 +
{|class=wikitable
 +
! GND
 +
| N/C
 +
|-
 +
! GRN
 +
| wit/groen
 +
|-
 +
! RED
 +
| groen
 +
|-
 +
|  
 +
|-
 +
! Str
 +
| wit/bruin + wit/oranje
 +
|-
 +
! 12V (of 5V)
 +
| bruin + oranje
 +
|-
 +
|  
 +
|-
 +
! GND
 +
| wit/blauw
 +
|-
 +
! 1w
 +
| blauw
 +
|}
 +
 +
|
 +
pin 1 = eerste na de notch met de klok mee, kijkend naar gaatjes van plug of soldeerkant van chassisdeel.
 +
{|class=wikitable
 +
! 1
 +
| Str
 +
| wit/bruin + wit/oranje
 +
|-
 +
! 2
 +
| RED
 +
| groen
 +
|-
 +
! 3
 +
| GRN
 +
| wit/groen
 +
|-
 +
! 4
 +
| 12V (of 5V)
 +
| bruin + oranje
 +
|-
 +
! 5
 +
| 1w
 +
| blauw
 +
|-
 +
! 6
 +
| GND
 +
| wit/blauw
 +
|}
 +
pin 6 = center
 +
 +
|}
 +
 +
=== Uitbreidingskabel ===
 +
 +
Dit is een optionele tweede kabel, bedoeld voor een [[knopje X]], een apart bedrade deuropener (bijv. de lineaire actuatoren die we bij de buitendeuren gebruiken), of allebei. De UTP-kabel zoals hier beschreven heeft geen aansluiting voor een knopje.
 +
 +
{|class=wikitable
 +
! M14-5 Plugje
 +
|-
 +
|
 +
 +
pin 1 = eerste na de notch met de klok mee, kijkend naar gaatjes van plug of soldeerkant van chassisdeel.
 +
{|class=wikitable
 +
! 1
 +
| GND
 +
| wit/bruin + wit/blauw
 +
|-
 +
! 2
 +
| GND (BTN)
 +
| NC
 +
|-
 +
! 3
 +
| BTN
 +
| NC
 +
|-
 +
! 4
 +
| 12V
 +
| bruin + oranje + blauw + groen
 +
|-
 +
! 5
 +
| Str
 +
| wit/bruin + wit/blauw
 +
|}
 +
pin 5 = center
 +
 +
|}
 +
 +
=== Onderdelen deurkant ===
 +
 +
* iButton probe/reader http://www.ebay.com/itm/iButton-probe-reader-with-LED-metal-casing-/112052064551
 +
 +
pinout:
 +
* Groen - groene led
 +
* Bruin - rode led
 +
* Wit - 1Wire
 +
* Grijs/Geel - GND
 +
 +
=== Dagschootopener ===
 +
 +
De meeste deuren gebruiken een dagschootopener. Elektrisch gezien is dit gewoon een spoel, die bedraad wordt tussen een permanente 12V of 5V (verschilt per deuropener). Over de spoel moet antiparallel een blusdiode: de indicatie (cathode van de diode) komt dus aan de PLUSkant, in plaats van zoals gebruikelijk aan de MINkant.
 +
 +
Als de opener werkt met 5V in plaats van 12V, heb je een externe 5V-voeding nodig omdat de voltage regulator van de arduino het anders niet trekt:
 +
# Voed 5V op het contact gelabeld 12V, of op het contact gelabeld 5V.
 +
# Verbind 12V met 5V met een draad.
 +
# Gebruik ''niet'' de jumper op "12V RAW enable", zodat de regulator niet wordt gebruikt.
 +
 +
==== Inbouw Dagschootopener ====
 +
 +
[[File:strike_plate_mod01.jpg|200px]]
 +
[[File:strike_plate_mod02.jpg|200px]]
 +
[[File:strike_plate_mod03.jpg|200px]]
 +
[[File:strike_plate_mod04.jpg|200px]]
 +
[[File:strike_plate_mod05.jpg|200px]]
 +
[[File:strike_plate_mod06.jpg|200px]]
 +
[[File:strike_plate_mod07.jpg|200px]]
 +
[[File:strike_plate_mod08.jpg|200px]]
 +
[[File:strike_plate_mod09.jpg|200px]]
 +
[[File:strike_plate_mod10.jpg|200px]]
 +
[[File:strike_plate_mod11.jpg|200px]]
 +
[[File:strike_plate_mod12.jpg|200px]]
 +
 +
==== Fail-Safe Dagschootopener, met paniek knop ====
 +
 +
* +12V naar paniek knop contact 3/4 (intern verbonden met 5/6) or/br
 +
* +12V naar 'open' relay A1
 +
* paniek knop contact 1/2 naar strike+ (wor/wbr) en naar monitoring relay A1 (wgr)
 +
* evt paniek knop contact 7/8 naar monitoring (gr)
 +
* strike- naar open relay contact NC
 +
* GND naar open relay common
 +
* GND naar monitor relay A2
 +
* doorduino strike- naar open relay A2
 +
 +
* monitor ingang +/- naar monitor relay contact Common en NC of NO (todo)
 +
 +
[[File:strike-fail-safe.png|200px]]
 +
 +
=== Motor (bijv. lineaire actuator) ===
 +
 +
De deuren met paniekslot worden geopend door met een lineaire actuator de deurklink te bedienen. De actuator krijgt continu +12V of -12V, en beschikt over ingebouwde eindstops. Een DPDT-relais poolt om:
 +
 +
{|class=wikitable
 +
! EN 50005-nummering !! Omschrijving !! Aansluiting
 +
|-
 +
| A1 || Spoelcontact || +12V<br>diode (&ndash; !)
 +
|-
 +
| A2 || Spoelcontact || Str<br>diode (+ !)
 +
|-
 +
| 11 || Common van eerste pool || Motor +/&ndash;
 +
|-
 +
| 12 || NC van eerste pool || Verbonden aan NO van tweede pool
 +
|-
 +
| 14 || NO van eerste pool || Verbonden aan NC van tweede pool
 +
|-
 +
| 21 || Common van tweede pool || Motor &ndash;/+
 +
|-
 +
| 22 || NC van tweede pool || +12V (bijv. doorgelust aan A1)<br>verbonden aan NO van eerste pool
 +
|-
 +
| 24 || NO van tweede pool || GND<br>verbonden aan NC van eerste pool
 +
|}
 +
 +
Als de motor de verkeerde kant opgaat, gewoon 11 en 21 omwisselen (of GND op 22+14 en +12V op 12+24).
 +
 +
=== EL461 ===
 +
|_______| cable side view
 +
13    1| nrs zoals hieronder
 +
14    2|
 +
 +
|_______| cable side view
 +
|1    7| abloy nrs
 +
|8    14
 +
 +
hackalot:
 +
- zw    2              sol-
 +
+ gy    3              sol+
 +
rd      5              trigger bolt in && bolt out
 +
bl      7              bolt out
 +
ge      8              handle down
 +
gr      10              bolt in
 +
wi      12              key cyl used
 +
zw      13              sabotage
 +
shield  4+6+11+14      sw com
 +
n.c.    1,9            n.c. ?
 +
 +
=== EL520 ===
 +
 +
De Abloy EL520 is een motorslot dat wat complexere aansturing vereist. Op [https://hackalot.nl/Doorduino_EL520 de Hackalot wiki] staat beschreven hoe dit slot ge-reverse-engineered is om hier een Arduino-gebaseerde controller voor te bouwen die met het Doorduino systeem samenwerkt.
 +
 +
==ESD Beveiliging==
 +
* DS9503 is er voor gemaakt en kost minder dan 1 euro :)
 +
Schema moet er wel op aangepast, of de boards moeten gemod. We kijken nog wel even. ESD kost met enige regelmaat een Arduino.
 +
 +
Op [https://hackalot.nl/Doorduino_EL520 de EL520 pagina] is een simpele Doorduino uitgewerkt die een DS9503 gebruikt om tegen ESD te beveiligen.
  
 
==Software==
 
==Software==
* Arduino's: [https://github.com/revspace/doorduino/tree/master/doorduino2 upload de sketch]
+
* Arduino's: [https://github.com/revspace/doorduino/tree/master/arduino/doorduino3 upload de sketch]
 
* Raspberry Pi: <code>git clone https://github.com/revspace/doorduino</code>
 
* Raspberry Pi: <code>git clone https://github.com/revspace/doorduino</code>
** <code>echo deurnaam > ircname.ttyS_123456</code>
+
** <code>echo "dev => '/dev/arduino_123456'," > deurnaam.conf.pl</code>
 
** <code>$EDITOR ibuttons.acl.d/toegangslijst.acl</code>
 
** <code>$EDITOR ibuttons.acl.d/toegangslijst.acl</code>
*** Elke niet-lege regel die niet met een hekje begint moet het volgende formaat hebben: <code>id:secret naam</code>. ID en secret in hexadecimaal (hoofdletterongevoelig), hoeveelheid whitespace tussen eerste en tweede deel maakt niet uit. De naam is de naam van de eigenaar.
+
*** Elke niet-lege regel die niet met een hekje begint moet het volgende formaat hebben: <code>id:secret naam</code>. ID en secret in hexadecimaal (hoofdletterongevoelig), hoeveelheid whitespace tussen eerste en tweede deel maakt niet uit. De naam is de naam van de sleutelhouder.
** Lang leve het serienummer in CP2104 serial-usb-dingen: <code>echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK="ttyS_$attr{serial}"' > /etc/udev/rules.d/99-doorduino.rules</code>
+
** Lang leve het serienummer in CP2104 serial-usb-dingen: <code>echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK="doorduino_$attr{serial}"' > /etc/udev/rules.d/99-doorduino.rules</code>
** <code>crontab -e</code>
+
** systemd unit installeren
*** <code>@reboot screen -dmS doorduino1 sh restartloop.sh /dev/ttyS_123456</code>
 
*** <code>@reboot screen -dmS doorduino2 sh restartloop.sh /dev/ttyS_123457</code>
 
*** <code>@reboot screen -dmS doorduino3 sh restartloop.sh /dev/ttyS_123458</code>
 
 
 
==Assemblage en plaatsing==
 
Hier komt nog een verhaaltje zodra het eerste kastje echt af is.
 
 
 
  
 
== Ter vergelijking ==
 
== Ter vergelijking ==
  
 
{|class=wikitable
 
{|class=wikitable
! Space !! Soort sleutel !! Authenticatiesysteem !! Info !! Source !! Opmerkingen
+
! Space !! Soort sleutel !! Authenticatiesysteem !! Documentatie !! Source !! Opmerkingen
 +
|-
 +
| RevSpace || iButton ID + SHA || Raspberry Pi + Arduino || [https://revspace.nl/Doorduino3 Doorduino3] || [https://github.com/revspace/doorduino git]
 +
|-
 +
| Hackerspace Nijmegen || iButton ID + SHA || ? + Arduino || [https://revspace.nl/Doorduino3 Doorduino3] || [https://github.com/revspace/doorduino git]
 
|-
 
|-
| RevSpace || iButton ID + SHA || Raspberry Pi + Arduino<br>GL-Inet + Arduino || [https://revspace.nl/Doorduino3 Doorduino3] || [https://github.com/revspace/doorduino git] || Nu nog Doorduino2, maar 3 is alleen andere behuizing en pcb-ontwerp
+
| Pixelbar || iButton ID + SHA || ? + Arduino || [https://revspace.nl/Doorduino3 Doorduino3] || [https://github.com/revspace/doorduino git]
 
|-
 
|-
| AwesomeSpace || iButton ID + SHA || ? + Arduino || [https://revspace.nl/Doorduino2 Doorduino2] || [https://github.com/revspace/doorduino git]
+
| Hackalot || iButton ID + SHA || Raspberry Pi + Arduino || [https://revspace.nl/Doorduino3 Doorduino3] || [https://github.com/revspace/doorduino git]
 
|-
 
|-
| Frack || iButton ID + SHA || Laptop + Arduino || [https://revspace.nl/Doorduino2 Doorduino2] || [https://github.com/revspace/doorduino git]
+
| AwesomeSpace || iButton ID + SHA || Raspberry Pi + Arduino || [https://revspace.nl/Doorduino2 Doorduino2] || [https://github.com/revspace/doorduino git]
 
|-
 
|-
| Bitlair || iButton ID + SHA || Arduino || - || - || lock/unlock toggle ipv momentary open
+
| Frack || <s>iButton ID + SHA</s> || <s>Laptop + Arduino</s> || <s>[https://revspace.nl/Doorduino2 Doorduino2]</s> || <s>[https://github.com/revspace/doorduino git]</s> || Sinds verhuizing naar BHP geen elektronisch deursysteem meer
 +
|-
 +
| Hack42 || iButton ID + SHA || ?? + Arduino || Geen, natuurlijk... || Doorduino3 fork ||
 +
|-
 +
| Bitlair || iButton ID + SHA || Arduino || - || [https://github.com/bitlair/bitlair_doorduino git] || lock/unlock toggle ipv momentary open
 
|-
 
|-
 
| ACKspace || iButton ID-only || Arduino || [https://ackspace.nl/wiki/ACKsess ACKsess] || &larr; wiki || Authenticatie van ID-only is gecensureerd in source
 
| ACKspace || iButton ID-only || Arduino || [https://ackspace.nl/wiki/ACKsess ACKsess] || &larr; wiki || Authenticatie van ID-only is gecensureerd in source
 
|-
 
|-
| Sk1llz || iButton ID-only || Proprietair || - || gesloten
+
| Sk1llz || <s>iButton ID-only</s> || <s>Proprietair</s> || - || <s>closed source</s> || Hackerspace opgeheven :(
 
|-
 
|-
 
| TkkrLab || iButton ID-only || Arduino || [https://tkkrlab.nl/wiki/DoorAccess DoorAccess]|| &larr; .tar.bz2 || Ook voor betalingen bij bar
 
| TkkrLab || iButton ID-only || Arduino || [https://tkkrlab.nl/wiki/DoorAccess DoorAccess]|| &larr; .tar.bz2 || Ook voor betalingen bij bar
Line 109: Line 351:
 
|-
 
|-
 
| TechInc || RFID + PIN || Cubieboard + 2x Arduino || [https://wiki.techinc.nl/index.php/Doorbot Doorbot] || [https://github.com/techinc/doorbot git]
 
| TechInc || RFID + PIN || Cubieboard + 2x Arduino || [https://wiki.techinc.nl/index.php/Doorbot Doorbot] || [https://github.com/techinc/doorbot git]
|-
 
| Hack42 || Niet-elektronisch || Cilinder || - || - || elektronisch slot is in ontwerpfase
 
|-
 
| NURDspace || Niet-elektronisch || Cilinder || - || - || geen plannen voor elektronisch slot
 
 
|}
 
|}

Revision as of 19:47, 22 August 2021

Project Doorduino3
Doorduino3 Project.jpg
Een gestandariseerde deuropener waar we ook reserves van hebben
Status Completed
Contact Sebastius
Last Update 2021-08-22

Features

Algemeen:

  • Meerdere autonome controllers mogelijk
  • Centraal beheer van alle deuren
  • Bijzonder modulair
  • Werkt met (vrijwel?) alle deuropeners
  • Behalve custom PCB volledig gebouwd op goedkope off-the-shelf componenten

Controller:

  • Sleutelbeheer via SSH
  • Deur openen via SSH
  • Meerdere deuren per controller
  • Logs via syslog, eventueel remote
  • Autonoom systeem, blijft werken zonder netwerkverbinding
  • Praat via USB-serial met de doorduino('s)

Overzicht Doorduino's bij Revspace

Doorduino3-Deuren

Doorduino:

  • 1 doorduino per deur
  • Authenticatie via Secure iButton
  • 24 + 64 bit challenge
  • ID-only iButtons worden ondersteund voor als beveiliging je echt niks kan schelen (of als overgangsfase)
  • Deuropening via knop (optioneel, moet worden ingeschakeld op controller)
  • Arduino is vervangbaar
  • Secrets staan niet op de doorduino
  • Ca. 10 meter kabel naar de deur is getest
  • Aansluitingen via schroefcontacten
  • Aansluiting voor iButton-reader met groene en rode LED

Idee

Door heel Revspace (en de Verlichting) heen gebruikten we DoorDuino 2's. Een aantal waren minder stabiel (met name door de gebruike hostcomputertjes) en geen enkele opstelling was gelijk. Met de komst van de nieuwe Sparkshack ontstond het plan om alle DoorDuino's te standaardiseren: een goede behuizing, nette boards en een eenduidige constructie.

De software is inmiddels een flinke verbetering tov Doorduino 2 (zowel op het linux-ding als op de Arduino's), de hardware is qua componenten gelijk gebleven, behalve dat die componenten nu op een nette PCB worden gesoldeerd in plaats van gaatjesbord.

DoorDuino boards

Boards

In Eagle is een compact board getekend voor de DoorDuino's van 5x10cm. Hier zijn er een stuk of 20 van besteld, meer dan genoeg voor de hele space en een paar reserve. Het board is ontworpen door Sebastius. Op de print is tevens ruimte voor hacks, patches en fixes.

Bij het 'experimenteer' gedeelte zijn 2 pads VCC en 2 pads GND aanwezig. Pas op dat je de LDO van de Arduino niet overbelast! Je kunt dit probleem eenvoudig omzeilen door zelf een LDO aan de 12v lijn te hangen en te verbinden met VCC. Dan wel even de LDO van de Arduino verwijderen om magische rook te voorkomen.

BOM

  • Board Files, bv via DirtyPCBs.com
  • Arduino Pro Mini (ATmega 328, 5v, 16mhz)
  • IRL540N Mosfet
  • 0805 resistors: 150, 2x 220, 1k, 1k8, 10k
  • pinheaders en de vrouwelijke variant ervan
  • 1 of 2 jumpers
  • screwterminals (printkroonsteen), 16polig

Bouw

Relatief eenvoudig, volg de silkscreen. De SMD weerstanden gaan als volgt (van boven naar beneden, onder de A0 pin)

  • 220
  • 220
  • 150
  • 1k8
  • 1k0
  • en onder de mosfet zit nog een 10k

Daarna even de jumper op 12v RAW ENABLE zetten. De 5v Serial Enable gebruiken we voorlopig niet (ter voorkoming Magische Rook).

Behuizing

BOM

  • Fibox TA241911T (wandbehuizing 24cm x 19cm met transparant deksel)
  • Wandbevestiging
  • Wartels
  • 12v voeding (1 actuator/deur: 2.5A. Voor een enkele Doorduino kun je de voeding inbouwen)
  • Montageplaat (lasercut)
  • Raspberry Pi B+ of 2 (met 4 USB poorten)
  • USB- Serial, bv CP2104
  • KIS33r3 dcdc converter 5v (via AliExpress)
  • kabelbandvoetjes
  • 4x standaard PC standoffs (die bv voor serieel/parallele poorten gebruikt werden) (M3?)
  • 4x M2 standoffs (en schroefjes)

Montageplaat

Dit is prototype 4. Het past nu in de kast.

Met de lasercutter snijden we zelf uit 4mm populier-triplex een drager om alle elektronica makkelijk te plaatsen in de kast. Hier rechts is het prototype te zien.

Doorduino3 grondplaat proto7.svg

Lasersettings/Volgorde:

  • Zwart: Cut, 60%power, Speed 3
  • Blauw: Mark, 20% power, Speed 100
  • Rood: Cut, idem boven

Boren

Hier hier en daar moeten wat gaatjes komen.

Aansluitingen

Gebruik voor de kabels Cat5(E), liefst 24 AWG (26 AWG is dunner).

Standaardkabel

Rechtstreeks aangesloten Via M14-6 Plugje
GND N/C
GRN wit/groen
RED groen
 
Str wit/bruin + wit/oranje
12V (of 5V) bruin + oranje
 
GND wit/blauw
1w blauw

pin 1 = eerste na de notch met de klok mee, kijkend naar gaatjes van plug of soldeerkant van chassisdeel.

1 Str wit/bruin + wit/oranje
2 RED groen
3 GRN wit/groen
4 12V (of 5V) bruin + oranje
5 1w blauw
6 GND wit/blauw

pin 6 = center

Uitbreidingskabel

Dit is een optionele tweede kabel, bedoeld voor een knopje X, een apart bedrade deuropener (bijv. de lineaire actuatoren die we bij de buitendeuren gebruiken), of allebei. De UTP-kabel zoals hier beschreven heeft geen aansluiting voor een knopje.

M14-5 Plugje

pin 1 = eerste na de notch met de klok mee, kijkend naar gaatjes van plug of soldeerkant van chassisdeel.

1 GND wit/bruin + wit/blauw
2 GND (BTN) NC
3 BTN NC
4 12V bruin + oranje + blauw + groen
5 Str wit/bruin + wit/blauw

pin 5 = center

Onderdelen deurkant

pinout:

  • Groen - groene led
  • Bruin - rode led
  • Wit - 1Wire
  • Grijs/Geel - GND

Dagschootopener

De meeste deuren gebruiken een dagschootopener. Elektrisch gezien is dit gewoon een spoel, die bedraad wordt tussen een permanente 12V of 5V (verschilt per deuropener). Over de spoel moet antiparallel een blusdiode: de indicatie (cathode van de diode) komt dus aan de PLUSkant, in plaats van zoals gebruikelijk aan de MINkant.

Als de opener werkt met 5V in plaats van 12V, heb je een externe 5V-voeding nodig omdat de voltage regulator van de arduino het anders niet trekt:

  1. Voed 5V op het contact gelabeld 12V, of op het contact gelabeld 5V.
  2. Verbind 12V met 5V met een draad.
  3. Gebruik niet de jumper op "12V RAW enable", zodat de regulator niet wordt gebruikt.

Inbouw Dagschootopener

Strike plate mod01.jpg Strike plate mod02.jpg Strike plate mod03.jpg Strike plate mod04.jpg Strike plate mod05.jpg Strike plate mod06.jpg Strike plate mod07.jpg Strike plate mod08.jpg Strike plate mod09.jpg Strike plate mod10.jpg Strike plate mod11.jpg Strike plate mod12.jpg

Fail-Safe Dagschootopener, met paniek knop

  • +12V naar paniek knop contact 3/4 (intern verbonden met 5/6) or/br
  • +12V naar 'open' relay A1
  • paniek knop contact 1/2 naar strike+ (wor/wbr) en naar monitoring relay A1 (wgr)
  • evt paniek knop contact 7/8 naar monitoring (gr)
  • strike- naar open relay contact NC
  • GND naar open relay common
  • GND naar monitor relay A2
  • doorduino strike- naar open relay A2
  • monitor ingang +/- naar monitor relay contact Common en NC of NO (todo)

Strike-fail-safe.png

Motor (bijv. lineaire actuator)

De deuren met paniekslot worden geopend door met een lineaire actuator de deurklink te bedienen. De actuator krijgt continu +12V of -12V, en beschikt over ingebouwde eindstops. Een DPDT-relais poolt om:

EN 50005-nummering Omschrijving Aansluiting
A1 Spoelcontact +12V
diode (– !)
A2 Spoelcontact Str
diode (+ !)
11 Common van eerste pool Motor +/–
12 NC van eerste pool Verbonden aan NO van tweede pool
14 NO van eerste pool Verbonden aan NC van tweede pool
21 Common van tweede pool Motor –/+
22 NC van tweede pool +12V (bijv. doorgelust aan A1)
verbonden aan NO van eerste pool
24 NO van tweede pool GND
verbonden aan NC van eerste pool

Als de motor de verkeerde kant opgaat, gewoon 11 en 21 omwisselen (of GND op 22+14 en +12V op 12+24).

EL461

|_______| cable side view
13     1| nrs zoals hieronder
14     2|
|_______| cable side view 
|1     7| abloy nrs
|8     14
hackalot:
- zw    2               sol-
+ gy    3               sol+
rd      5               trigger bolt in && bolt out
bl      7               bolt out
ge      8               handle down
gr      10              bolt in
wi      12              key cyl used
zw      13              sabotage
shield  4+6+11+14       sw com
n.c.    1,9             n.c. ?

EL520

De Abloy EL520 is een motorslot dat wat complexere aansturing vereist. Op de Hackalot wiki staat beschreven hoe dit slot ge-reverse-engineered is om hier een Arduino-gebaseerde controller voor te bouwen die met het Doorduino systeem samenwerkt.

ESD Beveiliging

  • DS9503 is er voor gemaakt en kost minder dan 1 euro :)

Schema moet er wel op aangepast, of de boards moeten gemod. We kijken nog wel even. ESD kost met enige regelmaat een Arduino.

Op de EL520 pagina is een simpele Doorduino uitgewerkt die een DS9503 gebruikt om tegen ESD te beveiligen.

Software

  • Arduino's: upload de sketch
  • Raspberry Pi: git clone https://github.com/revspace/doorduino
    • echo "dev => '/dev/arduino_123456'," > deurnaam.conf.pl
    • $EDITOR ibuttons.acl.d/toegangslijst.acl
      • Elke niet-lege regel die niet met een hekje begint moet het volgende formaat hebben: id:secret naam. ID en secret in hexadecimaal (hoofdletterongevoelig), hoeveelheid whitespace tussen eerste en tweede deel maakt niet uit. De naam is de naam van de sleutelhouder.
    • Lang leve het serienummer in CP2104 serial-usb-dingen: echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK="doorduino_$attr{serial}"' > /etc/udev/rules.d/99-doorduino.rules
    • systemd unit installeren

Ter vergelijking

Space Soort sleutel Authenticatiesysteem Documentatie Source Opmerkingen
RevSpace iButton ID + SHA Raspberry Pi + Arduino Doorduino3 git
Hackerspace Nijmegen iButton ID + SHA ? + Arduino Doorduino3 git
Pixelbar iButton ID + SHA ? + Arduino Doorduino3 git
Hackalot iButton ID + SHA Raspberry Pi + Arduino Doorduino3 git
AwesomeSpace iButton ID + SHA Raspberry Pi + Arduino Doorduino2 git
Frack iButton ID + SHA Laptop + Arduino Doorduino2 git Sinds verhuizing naar BHP geen elektronisch deursysteem meer
Hack42 iButton ID + SHA ?? + Arduino Geen, natuurlijk... Doorduino3 fork
Bitlair iButton ID + SHA Arduino - git lock/unlock toggle ipv momentary open
ACKspace iButton ID-only Arduino ACKsess ← wiki Authenticatie van ID-only is gecensureerd in source
Sk1llz iButton ID-only Proprietair - closed source Hackerspace opgeheven :(
TkkrLab iButton ID-only Arduino DoorAccess ← .tar.bz2 Ook voor betalingen bij bar
Bhack RFID TI MSP430G2553 UnlockBhack -
TechInc RFID + PIN Cubieboard + 2x Arduino Doorbot git