NEWS
slave aufbauen - Bluetooth verbindung
-
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- ist es Sinnvoll einen 2 Pi als Slave aufzubauen um eine größere Abdeckung zu haben, bzw. ist das überhaupt möglich
- oder ist es besser einen Bluetooth Stick zu verwenden ? wenn ja evtl. eine Empfehlung ?
- 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.
-
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
-
@Homoran
Danke schonmal für deine Hilfe, evtl. hat ja jemand noch Erfahrungswerte für mich -
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)
-
@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 ...