Projects/SpaceNotifier: Difference between revisions

From Hackerspace Amersfoort
Jump to navigation Jump to search
No edit summary
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Project
{{Project
|name=SpaceNotifier
|name=SpaceNotifier
|URL=http://hier
|start=2011/05/15
|contact=User:AK47
|URL=https://github.com/bitlair/SpaceNotifier
|info=Space Notifier apje
|contact=AK47
|status=Alpha
|info=Space Notifier
|status=Abandoned
|end=
}}
}}
App for notifing of the space status


== sshlogin.exp
See: https://bitlair.nl/Projects/Spacestate
#!/usr/bin/expect -f
# Expect script to supply root/admin password for remote ssh server
# and execute command.
# This script needs three argument to(s) connect to remote server:
# password = Password of remote UNIX server, for root user.
# ipaddr = IP Addreess of remote UNIX server, no hostname
# scriptname = Path to remote script which will execute on remote server
# For example:
#  ./sshlogin.exp password 192.168.1.11 who
# ------------------------------------------------------------------------
# Copyright (c) 2004 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# ----------------------------------------------------------------------
# set Variables
set password [lrange $argv 0 0]
set ipaddr [lrange $argv 1 1]
set scriptname [lrange $argv 2 2]
set arg1 [lrange $argv 3 3]
set timeout -1
# now connect to remote UNIX box (ipaddr) with given script to execute
spawn ssh -p 22 -o "PubkeyAuthentication no" admin@$ipaddr
match_max 100000
expect "*?assword:*"
send -- "$password\r"
expect "*ProCurve*"
send -- "sh stations\r"
expect "*ProCurve*"
send -- "exit\r"
expect eof


== space_state.sh ==
== Outline ==
#!/bin/bash
App for announcing the space status.
USERS=`./sshlogin.exp <PASSWORD> 192.168.88.2 | grep -c Bitlair`
 
STATE=`cat /tmp/spacestate 2>/dev/null`
* Based upon associatied clients on one or more accesspoints.
if [ $USERS -gt 0 ]; then
* Only known mac addresses can open or close the space.
    if [ "$STATE" != "open" ]; then
* PHP-CLI based, database via PDO (MySQL etc)
        echo "WE MOETEN OPEN"
* Supported AP's currently:
        echo "open" > /tmp/spacestate
** HP ProCurve AP530 (via HTTP)
    fi
** MikroTik RouterOS (via SNMP)
fi
* Check the GitHub-url for the code :)
if [ $USERS -lt 1 ]; then
 
    if [ "$STATE" != "dicht" ]; then
== Power switchting based on status ==
        echo "WE MOETEN DICHT"
We are currently switching the following devices based on space-status:
        echo "dicht" > /tmp/spacestate
 
    fi
* Cisco IP phones
fi
* Trollibox
* LED-board

Latest revision as of 22:21, 8 February 2018


Project SpaceNotifier
Name SpaceNotifier
Start 2011/05/15
End
Contact AK47
Website https://github.com/bitlair/SpaceNotifier
Information Space Notifier
Status Abandoned


See: https://bitlair.nl/Projects/Spacestate

Outline

App for announcing the space status.

  • Based upon associatied clients on one or more accesspoints.
  • Only known mac addresses can open or close the space.
  • PHP-CLI based, database via PDO (MySQL etc)
  • Supported AP's currently:
    • HP ProCurve AP530 (via HTTP)
    • MikroTik RouterOS (via SNMP)
  • Check the GitHub-url for the code :)

Power switchting based on status

We are currently switching the following devices based on space-status:

  • Cisco IP phones
  • Trollibox
  • LED-board