Loading...
 

HackSense

Áttekintés

Az ötletet más hackerspace-ektől vettük át, például a bécsi Metalab (https://metalab.at/wiki/MetaSense/Projektinfo) és a luxembourgi Syn2cat (https://www.hackerspace.lu/wiki/OpenDuino) is üzemeltet hasonlót. A dolog lényege, hogy weben elérhető legyen, nyitva van-e éppen a hackerspace, azaz például (kulccsal nem rendelkező) érdeklődőknek érdemes-e benéznie.

A jelenleg alkalmazott v0.1 megoldás egy, az ajtótól balra, a falon elhelyezett fekete dobozban manifesztálódik, melyen egy piros és egy zöld gomb található, értelemszerűen érkezéskor a zöld, távozáskor a piros gomb megnyomása javallott. Az aktuális állapotot megfelelő színű LED-ek is jelzik.

Image


Frontend

Két LED és két nyomógomb, közvetlenül az UTP aljzatra rákötve. A bekötési sorrend megegyezik az Ethernet patchkábelével.

Image

Az alkalmazott RJ45 kifejtő biz-basz megfaszult, mivel nem volt kedvem kidebuggolni a 8 darab egyszínű kábelt, kicseréltem egy másikra, ami a kezembe akadt. Ez azonban valami teljesen lehetetlen színkiosztást használ, ezért inkább a pin-funkció relációkat dokumentálom:
PinFunkció
1vörös LED katód
2vörös LED anód
3zöld LED katód
4zöld goNb
5zöld goNb
6zöld LED anód
7vörös gonb
8vörös gonb


Freeduino

Tápellátását a WRT54GL-től kapja, a feladata a gombnyomások státuszváltásokká alakítása, a WRT54GL-lel RS232-n keresztül kommunikál. Bootloadere standard Arduino, a rajta futó firmware forrása elérhető GitHub-on.

WRT54GL

OpenWRT Backfire-t futtató router, /dev/ttyS1 soros portjára van kötve a Freeduino. Ezen 9600 bps sebességgel, 8 bites byte-okkal, 1 stopbittel, paritásbit nélkül folyik az RS232 kommunikáció. A protokoll egyszerű, egybyte-os csomagokban történik.

IrányHexASCIIJelentés
FD->WRT0x40@küldd vissza az állapotot
WRT->FD0x40@az állapot: zárva
WRT->FD0x41Aaz állapot: nyitva
FD->WRT0x42Búj állapot: zárva
FD->WRT0x43Cúj állapot: nyitva

A kommunikációt a WRT oldaláról egy egyszerű, C-ben írt program végzi, amely bootoláskor elindul, majd folyamatosan fut. A szerverrel való kommunikációhoz egy shell scriptet hívogat, amely wget-tel éri el a HTTP szervert. A forrás elérhető GitHub-on.

Szerveroldal

A szerveroldalon a kéréseket a REST API fogadja, melynek forráskódja elérhető GitHub-on. A hitelesítés HMAC-SHA256 kriptográfiai hashfügvénnyel történik, a visszajátszásos támadások ellen egyszer használatos UUID véd.

Nyilvános REST API

https://vsza.hu/hacksense

Hacksense for iPhone

Ha valaki úton van
Hacksense For iPhone

Hacksense for Android

Egy minimális widget
Hacksense For Android

Vizualizáció

Rajzol egy spirált a nyitvatartási adatokból: http://vsza.hu/senspiral/

Upcoming Events

No records to display