Doorduino3

From RevSpace
(Redirected from Doorduino)
Jump to: navigation, search
Project Doorduino3
Doorduino3 Project.jpg
Een gestandariseerde deuropener waar we ook reserves van hebben
Status Completed
Contact Sebastius
Last Update 2016-11-23

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.


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

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.

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).

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
GL-Inet + Arduino
Doorduino3 git Doorduino3 software overal uitgerold.
Hack42 iButton ID + SHA  ?? + Arduino Geen, natuurlijk... Doorduino3 fork
AwesomeSpace iButton ID + SHA Raspberry Pi + Arduino Doorduino2 git
Frack iButton ID + SHA Laptop + Arduino Doorduino2 git
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 - gesloten
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
NURDspace Niet-elektronisch Cilinder - - geen plannen voor elektronisch slot