AccessControlExperiment
Door Entry System
This page documents the technical progress in building a new access control system for the rampART social centre.
The system is now fully working with all the desired features although it has not yet been given a pulic launch and there is much testing and optimising yet to do.
Asterisk box
Hardware
miniITX case with external 12volt DC power supply
fanless VIA EDEN 533mhz motherboard
IDE to CF card adapter with 64mb card installed (holds bootable image)
usb memory stick (meant to hold config files)
X100P PCI card (not actually needed for this project)
Software
Astlinux distro
Note: I had to use an old version as the newest version are slightly to big to fit on a 64MB card.
Numbers
Pimp My Number VoipFone
Door opener
Hardware
Computer
Old Pentium 100mhz toshiba laptop
Notes
On button is on the left side near the front. No way to make it auto switch on after an accidental power down. You have to press the button - very annoying.
To get into the bios hold down ESC while turning on then press F1.
Operating System
Currently install with freeBSD 4.11 which is really old, so old that the packages folders for ports on the office reposistory no longer seem to be there. Asterisk is not fully support with no zaptel drivers available until version 5. It's all very frustrating, freeBSD doesn't even have cURL ! However, we can live with that, we'll just forget doing anything to clever on this box and do authentification etc within asterisk.
You can login to the console with root. If you ssh in remotely you have to use cleverclogs as username. Then to get root type 'su -' and then root password.
Network and other stuff is configured in /etc/rc.conf.
To stop the machine, as root type 'halt' and wait for it to say system halted or something then turn off. If you shut down badly it will check its file system when it next starts which will take a while. To reboot, as root type reboot :P
lighttpd should be running when the box is booted. To stop it type /usr/local/etc/rc.d/lighttpd.sh stop To start type /usr/local/etc/rc.d/lighttpd.sh start To restart type /usr/local/etc/rc.d/lighttpd.sh restart
Configuration file is /usr/local/etc/lighttpd.conf
Access log file and error log files are in /var/log/lighttpd/
The user running the web server is www. Server root is /usr/local/www/data
To install a package do pkg_add package.tgz
Interface
8 channel parallel port relay controller card purchased from ebay for 20 pounds.
May change this for homemade relay system as we only need two output currently and the 8 channel card would make a great light sequencer.
Software
Getting the hardware interface working was a pain in the butt as it seems freeBSD implements annoying security nonsense which linux doesn't bother with when it comes to direct access to the i/o ports. The result of this was that it was difficult to find a bit of code that worked with freeBSD but eventually I came across a program for brain washing people with flashing lights and a modified version of that does the trick.
See http://www.hackcanada.com/homegrown/wetware/brainwave/meskalin/meskalin.html
I've successfully executed this simple shell command via the web using a cgi script.
I'd like to be able to pass parameters to the command from the webpage but I've not managed that yet.
Authorisation
CallerID time time checks take place in the asterisk dialplan using the gotoiftime functions. It is currently a bit messy and complicated to add new users but I might use a database in future.