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.
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.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:
Pin | Funkció | ||
1 | vörös LED katód | ||
2 | vörös LED anód | ||
3 | zöld LED katód | ||
4 | zöld goNb | ||
5 | zöld goNb | ||
6 | zöld LED anód | ||
7 | vörös gonb | ||
8 | vö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ány | Hex | ASCII | Jelentés |
FD->WRT | 0x40 | @ | küldd vissza az állapotot |
WRT->FD | 0x40 | @ | az állapot: zárva |
WRT->FD | 0x41 | A | az állapot: nyitva |
FD->WRT | 0x42 | B | új állapot: zárva |
FD->WRT | 0x43 | C | ú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/hacksenseHacksense for iPhone
Ha valaki úton vanHacksense For iPhone
Hacksense for Android
Egy minimális widgetHacksense For Android