+ Antworten
Seite 1 von 8 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 76
  1. #1
    Registriert seit
    Jan 2016
    Ort
    Lüneburg
    Beiträge
    162

    Lightbulb Raspberry Pi als iBeacon Scanner für Schlüsselbunddongle

    Moin zusammen,

    nach einer ganzen Weile habe ich es nun geschafft meinen RaspPi meinen Schlüsselbunddongle zu scannen und demnach einen Status an IP-Symcon via Webhook zu senden.

    ##Meine Hardware##



    Hier meine Anleitung dazu

    1. Zur Installation des iBeacon bin ich der Anleitung unter https://learn.adafruit.com/downloads...spberry-pi.pdf gefolgt. WICHTIG: Nur einschließlich Schritt 1 im zweiten Absatz abarbeiten (1. Check for your USB Module)

    Danach müsst ihr das Modul noch starten. Dazu folgenden Befehl eingeben

    Code:
    /tools/hciconfig hci0 up
    2. via SSH auf dem RaspPi

    Code:
    sudo apt-get install screen
    nach der Installation

    Code:
    screen
    Code:
    tools/hcitool lescan
    Screen verlassen mit STRG + A + D

    3. nötigen Scripte erstellen (z.B. im Homeverzeichnis)

    ibeacon_scan.sh

    PHP-Code:
    #!/bin/bash
    # iBeacon Scan by lahlor based on Radius Networks RAW data convert

    while read -t 10 line
      
    do
        
    count=$[count 1]
        if [ 
    "$capturing]; then
          
    if [[ $line =~ ^[0-9a-fA-F]{2}\ [0-9a-fA-F] ]]; then
            packet
    ="$packet $line"
          
    else
            if [[ 
    $packet =~ ^043E2A0201\ .{26}\ 0201\ .{14}\ 0215 ]]; then
              UUID
    =`echo $packet | sed 's/^.\{69\}\(.\{47\}\).*$/\1/'`
              
    UUID=`echo $UUID | sed -e 's/\ //g' -e 's/^\(.\{8\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.\{12\}\)$/\1-\2-\3-\4-\5/'`
            echo 
    $UUID
            fi
            capturing
    =""
            
    packet=""
          
    fi
        fi
            
    if [ ! "$capturing]; then
                
    if [[ $line =~ ^\> ]]; then
                    packet
    =`echo $line | sed 's/^>.\(.*$\)/\1/'`
                    
    capturing=1
                fi
            fi
    if [[ $count == "20" ]]; then
    exit
    fi
      done 
    Führt das Script einmal aus, während der Dongle erreichbar ist. Gebt dazu folgendes ein

    Code:
    sudo /home/pi/ibeacon/bluez-5.35/tools/hcidump --raw | /home/pi/ibeacon_scan.sh
    Ihr solltet die UUID des Dongles angezeigt bekommen. Kopiert diesen irgendwohin, da er im nächsten Script eingetragen werden muss.

    presence.sh

    PHP-Code:
    #!/bin/bash
    # iBeacon Presence Check by lahlor

    is_beacon_in_range () {

    while 
    read -t 10 line
    do
       if [[ `
    echo $line | grep "XXXXXXXXXXXXXXXXXXXXXXXXXXX"` ]]; then
     
    echo 1
    exit
    fi
     done 
    echo 0
    }

    result=$(is_beacon_in_range)
    #echo $result
    if [ $result -eq 1 ];then
    #echo "is 1"
     
    sudo wget -- -q http://127.0.0.1:3777/hook/ibeacon?Status=1 1>/dev/null &
    else
    #echo "is not 1"
    sudo wget -- -q http://127.0.0.1:3777/hook/ibeacon?Status=0 1>/dev/null &
    fi 
    unter XXXXXXXX tragt ihr eure UUID des Dongles ein. Die IP für der IP-Symcon kann ebenfalls geändert werden, wenn 127.0.0.1 nicht richtig sein sollte.

    4. IP-Symcon Anpassung

    Erstellt ein Dummy Modul (iBeacon). Darunter eine Boolean Variable (Profil ~Presence) und ein Script "Hook".
    In dem Script kommt folgendes rein

    PHP-Code:
    <?
    error_reporting
    (0);
    //IPS_LogMessage("WebHook GET", print_r($_GET, false));
    //IPS_LogMessage("WebHook POST", print_r($_POST, false));
    //IPS_LogMessage("WebHook IPS", print_r($_IPS, false));
    if ($_GET['Status'] == 1)
    {
    SetValue(17794 /*[iBeacon\Lars]*/true);
    }
    if (
    $_GET['Status'] == 0)
    {
    SetValue(17794 /*[iBeacon\Lars]*/false);
    }

    ?>
    Denkt dran, die Objekt ID im Script mit der Booelan Variable abzugleichen.

    Als letztes müsst ihr noch unter den Kern Instanzen > WebHook das Script verknüpfen.

    Name:  Untitled.png
Hits: 2744
Größe:  47.5 KB

    6. Script automatisch laufen lassen

    Code:
    sudo crontab -e
    folgendes einfügen (bitte auf die Pfade zu den Scripten achten und ggf. anpassen)

    Code:
    * * * * * sudo timeout 15 /home/pi/ibeacon/bluez-5.35/tools/hcidump --raw | /home/pi/ibeacon_scan.sh | /home/pi/presence.sh >/dev/null 2>&1
    Nun sollte sich der Status in IPS automatisch alle ~ 1 Minute aktualisieren. Wird der Dongle nicht mehr vom RaspPi erreicht, wird der Status auf Abwesend gestellt. Ist der Dongle erreichbar, ist der Status Anwesend. Darauf aufbauend, kann man weitere Scripte erstellen, die das Licht ein und ausschalten.

    Viel Spaß!
    Sollte es Probleme geben, einfach melden.
    Geändert von lahlor (12.03.16 um 18:53 Uhr)
    Gruß
    Lars

  2. #2
    Registriert seit
    Feb 2011
    Beiträge
    534

    Danke Dir Lars,

    mein Bluetooth USB-Stick, V4.0, Klasse 1 ist bereit sunterwegs. Das wollte ich auch nocht testen was du hier gezeigt hast. Hätte ich so niemals allein hinbekommen. DANKE ! Welchen Dongle nutzt du ?

    Frage: Könnte man hier 2..3 Raspis im Haus verteilen oder mal ganz dumm gesagt in jedem Raum einen installieren und die Bewegung damit erfassen anhand der Empfangsstärke des "Schlüsselbundes" / AppleWatch am Arm ?! Laut der Beschreibung die du hier als PDF verlinkt hast, sieht man am ende beim iPhone Screenshot ja eine Entfernungsanzeige. Kann sich dein Dongle am Schlüsselbund an mehreren Raspis anmelden / bekannt machen, womit man auswerden kann in welchem Raum er sich befindet ?! So hätte man auch eine bessere Art von einem Präsenzmelder und könnte sicher coole Scenarien bauen.

    Oder sollte man wenn man ein Handy oder AppleWatch nutzt lieber SymconBTP nutzen ?

    Gruß
    Christian
    Geändert von thezepter (06.03.16 um 21:16 Uhr)
    IPS 5.0 @ Synology Docker DS916+ / RaspBerryMatic / ipsView / Sonos / PhilipsHue / Z-Wave / IP-Cams / Ubiquity / Amazon Echo

  3. #3
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,078

    Abend Christian!

    Ja, man kann das machen was du vor hast Wurde auch schon an anderer Stelle mal beschrieben
    >> Oben rechts im Forum in die Suche mal "hcitool" eingeben und du siehst die anderen Thread

    Aber schön zusammengefasst von Lars

    Ob man jetzt diesen Weg nimmt oder über Geofency...Geschmackssache Eigentlich ist die Variante hier von Lars schon gut. Wollte das auch immer mal testen.

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Horoskop, HostMonitor, IPSInformations, Muellabfuhr, PJLink, RSS, TankerkoenigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  4. #4
    Registriert seit
    Feb 2011
    Beiträge
    534

    Danke ! Ich schau mir das mal an. Es gitb einfach zu viele geile Projekte die man alle am besten gleich umsetzen will
    IPS 5.0 @ Synology Docker DS916+ / RaspBerryMatic / ipsView / Sonos / PhilipsHue / Z-Wave / IP-Cams / Ubiquity / Amazon Echo

  5. #5
    Registriert seit
    Feb 2011
    Ort
    Darmstadt 64297
    Beiträge
    1,989

    Danke für deine Anleitung....

    Wollte es mal schnell testen, aber der Befehl screen führt ins leere ?

    Ok habe rausgefunden, das screen ein Zusatz ist, welches mit :

    PHP-Code:
    sudo apt-get install screen 

    installiert werden muss ;-)


    Aber was ich nicht verstehe :

    WICHTIG: Nur einschließlich Schritt 2 abarbeiten

    Aber dann hat man ja nur das gepackte bluez da liegen ? Wie soll man damit den was anfangen ?

    Was scannt die ibeacon_scan.sh den ? Steht da schon eine BT ID drin, wo man anpassen muss ?
    Geändert von drapple (07.03.16 um 08:22 Uhr)
    HomeMatic, Raspberry PI 2, PI-Beacon, Poskey 56, Apple, iPhone 6, Dampfen ;-) Plex, Rasplex, IP-Cams, iPad.....

  6. #6
    Registriert seit
    Aug 2012
    Ort
    Nordenham
    Beiträge
    507

    Hört sich interessant an.

    Was für ein Schlüsselanhänger ist das? Hast du ein Bild oder Link?


    Danke
    Lars

    ---------------------------------------------
    www.einfach-schlicht.de

  7. #7
    Registriert seit
    Jan 2016
    Ort
    Lüneburg
    Beiträge
    162

    Zitat Zitat von drapple Beitrag anzeigen
    Danke für deine Anleitung....

    Wollte es mal schnell testen, aber der Befehl screen führt ins leere ?

    Ok habe rausgefunden, das screen ein Zusatz ist, welches mit :

    PHP-Code:
    sudo apt-get install screen 

    installiert werden muss ;-)


    Aber was ich nicht verstehe :

    WICHTIG: Nur einschließlich Schritt 2 abarbeiten

    Aber dann hat man ja nur das gepackte bluez da liegen ? Wie soll man damit den was anfangen ?

    Was scannt die ibeacon_scan.sh den ? Steht da schon eine BT ID drin, wo man anpassen muss ?

    Hi Drapple. Danke für den Hinweis. Habe es oben angepasst. Schritt 2 lässt du am Besten auch aus und machst nur bis Schritt 1 ABER IM ZWEITEN ABSCHNITT Hab mich gerade selbst gewundert.

    1. Zur Installation des iBeacon bin ich der Anleitung unter https://learn.adafruit.com/downloads...spberry-pi.pdf gefolgt. WICHTIG: Nur einschließlich Schritt 1 im zweiten Absatz abarbeiten (1. Check for your USB Module)

    Danach müsst ihr das Modul noch starten. Dazu folgenden Befehl eingeben

    /tools/hciconfig hci0 up
    Das Script ibeacon_scan.sh wertet den Output des Programms hcidump aus. Wenn du deinen Dongle in der Nähe hast, kannst du mal /tools/hcidump --raw eingeben. Alles was du da siehst, wandelt das Script um und gibt dir nur noch die UUID der Dongle zurück. Du musst dir dann die UUID merken, die du angezeigt bekommst und nur im zweiten Script eintragen. Sonst nirgendwo.
    Gruß
    Lars

  8. #8
    Registriert seit
    Jan 2016
    Ort
    Lüneburg
    Beiträge
    162

    Zitat Zitat von sallos Beitrag anzeigen
    Hört sich interessant an.

    Was für ein Schlüsselanhänger ist das? Hast du ein Bild oder Link?


    Danke
    Ich habe gerade diesen im Einsatz http://www.idealo.de/preisvergleich/...g-gigaset.html Habe den aber nur genommen, da ich sehr sicher war, dass er erkannt wird. Werde mir vielleicht auch mal einen günstigen von Amazon zulegen (~4€) und dann mal testen, ob die auch gut erkannt werden.
    Gruß
    Lars

  9. #9
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,078

    Moin Lars!

    Warum willst du extra Anhänger verwenden und nicht einfach das Handy? Unter uns gibt es vmtl. wenig bis keine Personen, die ihr Handy nicht immer dabei haben, wenn sie das Haus verlassen?!

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Horoskop, HostMonitor, IPSInformations, Muellabfuhr, PJLink, RSS, TankerkoenigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  10. #10
    Registriert seit
    Jan 2016
    Ort
    Lüneburg
    Beiträge
    162

    Moin Chris,

    das kann ich dir einfach erklären. Wenn ich aus dem Haus gehe bzw. nach Hause komme habe ich zu 100% einen Schlüssel dabei. Mein Handy kann durchaus mal im Auto oder auch zu Hause liegen bleiben (kommt zwar sehr selten vor aber kann mir mal passieren ).
    Zusätzlich will ich den Dongle ggf. für den Hund/Katze zur Anwesendheitskontrolle nutzen (noch unklar wegen der Größe, Strahlung und Wasserdichtigkeit).
    Ebenfalls soll er als Scherheit dienen, wenn ich im Sommer im Garten sitze und ab Uhrzeit X die Automatisierung startet (Rolladen runter, Alarmanlage an etc...) und mein Handy im Haus liegt. Klar ich kann auch mal den Dongle vergessen, aber da kommt meine Sicherheitsdenke wieder in Spiel, dass ich meinen Schlüsselbund immer dabei habe, wenn ich das Haus verlasse
    Einer der wichtigsten Punkte ist aber der Akku meines Handys. Der ist gerne mal leer und die Batterie des Dongles soll laut Hersteller bis zu einem Jahr halten.
    Gruß
    Lars

Ähnliche Themen

  1. Der PI-ibeacon mit über 30-40m Reichweite, perfekt für Anwesenheitserkennung !
    Von drapple im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 62
    Letzter Beitrag: 21.03.16, 19:55
  2. Suche für Android eine Gefency APP mit ibeacon Support
    Von drapple im Forum Mobile (iOS/Android)
    Antworten: 3
    Letzter Beitrag: 01.02.16, 20:55
  3. Raspberry PI als Klingellösung
    Von SmartHomeSchweiz im Forum Bastel-Ecke
    Antworten: 7
    Letzter Beitrag: 25.11.15, 22:40
  4. Kerberos.io - Raspberry als Überwachungskamera auch für IP-Symcon interessant
    Von Net-Crawler im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 1
    Letzter Beitrag: 12.06.15, 18:31
  5. Schrittmotor Ansteuerung für den Bau eines 3D Scanner ???
    Von mr_cg im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 9
    Letzter Beitrag: 14.04.13, 17:23