Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. slave aufbauen - Bluetooth verbindung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    slave aufbauen - Bluetooth verbindung

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      patrick039212 last edited by

      Hallo,

      ich habe mir mit G-TAG und dem Radar2 Adapter eine Anwesenheitserkennung gebastelt, funktioniert soweit alles perfekt bis auf die Bluetooth Verbindung.
      Leider verliere ich in 2 Räumen (aufgrund der Distanz) die Verbindung zum PI, meine Fragen wären nun

      1. ist es Sinnvoll einen 2 Pi als Slave aufzubauen um eine größere Abdeckung zu haben, bzw. ist das überhaupt möglich
      2. oder ist es besser einen Bluetooth Stick zu verwenden ? wenn ja evtl. eine Empfehlung ?
      3. ich habe hier noch einen Beacon rumliegen, kann ich diesen mit IOBroker verbinden um evtl. Szenen starten zu können ?

      Danke für eure Hilfe.

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @patrick039212 last edited by

        @patrick039212

        Ob ein Stick eine bessere Abdeckung bietet kann ich nicht wirklich glauben.
        aus 2 Geräten ein Mesh zu bauen wird nicht (so einfach, wenn überhaupt) funktionieren
        Natürlich kannst du 2 Instanzen parallel laufen haben, musst dann aber per script eine ODER Verknüpfung basteln, ob zu sehen, ob der Tag in der reichweite des einen ODER des anderen ist.

        BLE hat eine sehr geringe Reichweite, ich denke das waren max. 10m

        P C 2 Replies Last reply Reply Quote 0
        • P
          patrick039212 @Homoran last edited by

          @Homoran
          Danke schonmal für deine Hilfe, evtl. hat ja jemand noch Erfahrungswerte für mich 🙂

          1 Reply Last reply Reply Quote 0
          • C
            charakterkopf @Homoran last edited by

            Mehr als 10Meter schaffe ich auch nicht.
            A) Kannst du den Raspberry besser platzieren?
            B) Ich habe das selbe Problem und habe deshalb einen kleinen Raspberry Zero W zur Anwesenheitserkennung sehr zentral in der Wohnung hängen.

            Zusammen mit einem Python Script wird die Anwesenheit zuverlässig per MQTT an Iobroker (Im Keller) gemeldet.

            vielleicht hilft es weiter, Ich weiss nicht wie fit du in Python bist:

            #!/usr/bin/python
            import time
            import paho.mqtt.client as paho
            import json
            import subprocess
            import bluetooth
            
            #Config
            mqtt_username=""
            mqtt_password=""
            mqtt_server="192.168.0.2"
            mqtt_port=1885
            mqtt_subscribe="/bl-ping/remote"
            
            mqtt_publish1="/bl-ping/gtag_red"
            mqtt_publish2="/bl-ping/gtag_green"
            mqtt_publish3="/bl-ping/gtag_orange"
            
            #Start
            gtag_red=0
            gtag_green=0
            gtag_orange=0
            
            #Nach X Minuten abwesenheit senden:
            anzahl=2
            
            time.sleep(60)
            
            
            def on_subscribe(client, userdata, mid, granted_qos):
                print("Subscribed: "+str(mid)+" "+str(granted_qos))
            
            def on_message(client, userdata, msg):
                print(msg.topic+" "+str(msg.qos)+" "+str(msg.payload))
            
            client = paho.Client(client_id="bl-ping", clean_session=True, userdata=None, protocol=paho.MQTTv31)
            client.on_subscribe = on_subscribe
            client.on_message = on_message
            client.username_pw_set(mqtt_username, mqtt_password)
            client.connect(mqtt_server, mqtt_port,60)
            client.subscribe(mqtt_subscribe, qos=1)
            
            
            print ("In/Out Board")
            
            while True:
               client.loop_start()
               print ("Scanning " + time.strftime("%a, %d %b %Y %H:%M:%S"))
               #BLE
               cmd = "blescan -t 5 >daten.txt"
               pid = subprocess.call(cmd, shell=True)
              
              
               #gtag RED
               if '7c:2f:82:ea:f5:40' in open('daten.txt').read():
                client.publish(mqtt_publish1, "1", qos=1)
                print ("Gtag red in")
                gtag_red=0
               else:
                 if gtag_red > anzahl:
                  client.publish(mqtt_publish1, "0", qos=1)
                  print ("Gtag red out")
                  gtag_red=3
                 else:
                  gtag_red = gtag_red + 1
                  
            	#gtag green
               if '7c:2f:80:ea:f6:c3' in open('daten.txt').read():
                client.publish(mqtt_publish2, '1', qos=1)
                print ("Gtag green in")
                gtag_green=0
               else:
                 if gtag_green > anzahl:
                  client.publish(mqtt_publish2, '0', qos=1)
                  print ("Gtag green out")
                  gtag_green=3
                 else:
                  gtag_green = gtag_green + 1
                  
            	#gtag orange
               if '7c:2f:80:ea:f4:f9' in open('daten.txt').read():
                client.publish(mqtt_publish3, '1', qos=1)
                print ("Gtag orange in")
                gtag_orange=0
               else:
                 if gtag_orange > anzahl:
                  client.publish(mqtt_publish3, '0', qos=1)
                  print ("Gtag orange out")
                  gtag_orange=3
                 else:
                  gtag_orange = gtag_orange + 1
            
            
               time.sleep(60)
            
            
            
            
            P 1 Reply Last reply Reply Quote 0
            • P
              patrick039212 @charakterkopf last edited by patrick039212

              @charakterkopf
              Danke für die Antwort, leider kann ich meinen PI nicht zentraler positionieren da er ansonsten sichtbar stören würde... bzw. wären dann zu viele Wände dazwischen...

              Python habe ich mich so gut wie gar nicht noch beschäftigt...

              Aber theoretisch müsste es ja wie @Homoran gesagt hat, funktionieren wenn ich einen Slave aufbaue, dort eine 2. Instanz von radar2 am laufen habe und in Blockly eine "ODER" Abfrage einbaue ...

              Plan C. ich überprüfe erst die Anwesenheit in Verbindung ob die Eingangstüre geöffnet wurde... dann muss man gezwungenermaßen bei meinem PI vorbei ...

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              771
              Online

              31.8k
              Users

              79.9k
              Topics

              1.3m
              Posts

              bluetooth
              3
              5
              425
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo