Projects/SpaceNotifier: Difference between revisions

From Hackerspace Amersfoort
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(14 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 admin@$ipaddr $scriptname $arg1
match_max 100000
# Look for passwod prompt
expect "*?assword:*"
# Send password aka  $password
send -- "$password\r"
# send blank line (\r) to make sure we get back to gui
send -- "\r"
send -- "$scriptname $arg1\r"
send -- "exit\r"
expect eof


== Outline ==
App for announcing the space status.


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

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