Project: SpaceStateSwitch | |
---|---|
Naam | SpaceStateSwitch |
Door | RickDeckardt |
Status | Afgerond |
Madskillz | madhacks |
Doel / Omschrijving | |
Een coole schakelaar die de spacestate twittert/irc/etc met rudimentaire api | |
Alle Projecten - Project Toevoegen |
Hardware
De SpaceStateSwitch hangt aan de tweede poort (eth1) van het access point. Bij inschakeling van de schakelaar verbindt deze de rx+- aan de tx-+ van de ethernetpoort.
Software
Het Access Point draait linux, hierop draait cron en die draait iedere minuut een script genaamd statecheck.sh Die kijkt middels ethtool of eth1 link heeft.
Pseudocode van het statecheck.sh script:
IF connection_state_eth1 eq connected AND laststate eq closed; curl http://user@pass:host/spacestate/setstate.php?state=open IF curl_success; set laststate open IF connection_state_eth1 eq disconnected AND laststate eq open; curl http://user@pass:host/spacestate/setstate.php?state=closed IF curl_success; set laststate closed
'API'-mogelijkheid voor externe apps
- http://hack42.nl/spacestate/state (kan de text open of closed bevatten, handig voor apps) - http://hack42.nl/spacestate/state.time (bevat de time van de laatste state-change, handig voor apps) - http://hack42.nl/spacestate/state.csv (bevat date,time,state per regel, handig voor bouwen van graphs)
Tweets
De koppeling naar twitter wordt vanuit het setstate.php script gedaan: Het phpscript twittert de spacestate op @hack42 en past de volgende lokale files aan: - http://hack42.nl/spacestate/index.html
Koppeling naar IRC
Op irc://irc.hack42.nl/#hack42 draait een gozerbot met rss-feed plugin Een van de rss-feeds die hij volgt is die van http;//twitter.com/hack42, elke minuut kijkt hij naar nieuwe tweets van hack42 en bij een nieuwe tweet blaft hij deze het irckanaal in.