+ Antworten
Seite 4 von 5 ErsteErste ... 2 3 4 5 LetzteLetzte
Ergebnis 31 bis 40 von 47
  1. #31
    Registriert seit
    Nov 2011
    Beiträge
    316

    Hi,

    Ein fertiges image ist schwierig. Wifi und mqtt daten sind hartkodiert. Da muss man halt mal ran...

    Gesendet von meinem EML-L29 mit Tapatalk
    Software: IP-Symcon V. 5 Unlimited Ubuntu 18.04
    Hardware: Shuttle DS77U3/16GB/1TBSSD
    Virtualisierung: Proxmox V6
    Homematic: Raspberrymatic

  2. #32
    Registriert seit
    Dec 2017
    Ort
    Wolfsburg
    Beiträge
    300

    Zitat Zitat von tommy86 Beitrag anzeigen
    Hallo Allerseits,

    Die Lösungsansätze sind alle sehr interessant. Ich habe seit ca. 1 Jahr auch die Gigaset BT Tags als Anwesenheitserkennung.
    Dazu ist ein Raspberry Zero auf dem Symcon läuft. Der nimmt die Geräte an und schickt die Daten über JSON an das Hauptsystem.
    Das funktioniert soweit auch sehr zuverlässig. Ich möchte allerdings ein paar mehr von den Scannern einsetzten.
    Problem hierbei, kommt ein BT Tag dazu oder wird ausgetauscht muss dies auf jeden Rasp nachgezogen und umprogrammiert werden.

    Den Ansatz von Buzz2912 finde ich am spannensten. So dass alle Variablen an das Hauptsystem geschickt werden.
    Über die MAC Adressen dann Filtern wer da ist.

    Die Geschichte hier finde ich aber noch interessanter. Da hier scheinbar keine Verwaltung auf den Scannern nötig ist. Die Werte werden über MQTT an das Haupsystem geschickt und dort dann ausgewertet.
    http://esp32-server.de/mqtt-ble/

    Hat dies schon mal jemand getestet?
    Ich hab es heute Abend auch mal auf einem ESP32 ausprobiert und den Code etwas angepasst.

    Der Aufbau der MQTT Message ist nun wie folgt:

    bt-scanner/00:11:22:33:44/OFFICE -> RSSI = -60

    Also Topic Name ist konstant "bt-scanner" gefolgt von der MAC, gefolgt vom Scanner Name. Dann kommt der Payload für RSSI.
    So kann ich zu jeder Macadresse mir die RSSI von jedem Scanner abholen. Müsste nur schauen, wie ich das in Symcon abgebildet bekomme.

    Übrigens muss man bei den MQTT Messages aufpassen, dass man nicht bei die 128 byte Größe kommt. Entweder das Limit in der Header Datei erhöhen oder die messages splitten. Der Code macht dies leider noch nicht. Wenn viele Geräte im Haus sind und das JSON groß wird, ist das Limit fix erreicht...
    Geändert von someone (24.04.20 um 23:15 Uhr)
    IPS #stable# Unlimited / Docker / Synology DS218+ / Raspberrymatic als Synology VM

  3. #33
    Registriert seit
    Jul 2009
    Ort
    Bremen
    Beiträge
    709

    Würde mir jemand verraten, welches ESP Board dafür gut geeignet ist und wie die Reichweite mit WiFi und BT in der Praxis so ist ? Bei meinem Zero hatte ich immer erhebliche Einbußen der BT Reichweite bei aktiviertem WiFi.

  4. #34
    Registriert seit
    Nov 2011
    Beiträge
    316

    Hi,

    Tomw
    Ich hab die "esp32 devkit v4" von azdelivery. Aber es tut jeder esp32 mit bt und wifi

    Someone
    Gute idee mit dem aufbau der messages. Wenn du magst stelle ich meine symcon Schnipsel hier bereit, dann hat man einen anfang


    Gesendet von meinem EML-L29 mit Tapatalk
    Geändert von kris (27.04.20 um 06:15 Uhr)
    Software: IP-Symcon V. 5 Unlimited Ubuntu 18.04
    Hardware: Shuttle DS77U3/16GB/1TBSSD
    Virtualisierung: Proxmox V6
    Homematic: Raspberrymatic

  5. #35
    Registriert seit
    Sep 2010
    Ort
    Bamberg
    Beiträge
    546

    wäre ne echt schöne Sache wenn sich hier was tut :-)
    Leider kenn ich mich mit ESP32 Programmierung nicht wirklich aus.
    Software drauf flashen ist da schon das höchste
    Homematic, Homematic IP, SONOS, Amazon Echo, XIAOMI Robosauger, WORX Mähroboter, IPSView, SynologyNAS, Symcon auf Docker

  6. #36
    Registriert seit
    Dec 2006
    Ort
    Friedberg (Hessen)
    Beiträge
    1,757

    Zitat Zitat von someone Beitrag anzeigen
    Ich hab es heute Abend auch mal auf einem ESP32 ausprobiert und den Code etwas angepasst.

    Der Aufbau der MQTT Message ist nun wie folgt:

    bt-scanner/00:11:22:33:44/OFFICE -> RSSI = -60...
    @someone:
    Dein ESP32-Code würde mich interessieren.
    Könntest du den mal posten?
    Viele Grüße Rainer
    Windows 10,IPS V 5.3 + Testsysteme -- FHZ -- PiVCCU3 -- Phillips Hue --1-Wire, Anwesendheits-Tracker, ESP-Easy und viele, viele Spielereien , I-View, Rasperry 3, Zero, Tinkerboard, Nello, Nuki

  7. #37
    Registriert seit
    Dec 2017
    Ort
    Wolfsburg
    Beiträge
    300

    Kann ich gerne machen. Ich denke am WE bin ich wieder am Rechner, wo ich den aktuellen Code habe.
    IPS #stable# Unlimited / Docker / Synology DS218+ / Raspberrymatic als Synology VM

  8. #38
    Registriert seit
    Dec 2017
    Ort
    Wolfsburg
    Beiträge
    300

    So... anbei mal mein angepasster Code.
    Basis ist wie gesagt der von MQTT Bluetooth Anwesenheitserkennung Raum präsenzmelder - ich bin kein C Experte! Außerdem verwende ich hier viel "String Schieberei", was auf dem Arduino mit Teufelswerk gleichzusetzen ist (Stings fressen Speicher).

    Der Code funktioniert jedoch bei mir und sendet pro Gerät in einer eigenen Queue die RSSI Werte.

    --> bt-scanner/00:11:22:33:44/OFFICE -> RSSI = -60

    Bitte die MQTT Server Werte und WIFI Werte setzen. Auch diese Werte könnt ihr nach Euren Vorstellungen setzen:

    #define MQTT_Name "bt-scanner"
    #define MQTT_SCANNER "OFFICE"

    Ihr werdet im MQTT Configurator viele Einträge bekommen. Wundert Euch nicht, wieviele Geräte bei Euch bzw. Nachbarn so entdeckt werden. Mapped daher am beste nur die wirklich benötigten Devices.

    Leider wechselt Apple (aus Datenschutzgründen?) ständig die MAC Adresse. D.h. ein Tracking von Apple Geräten ist nicht möglich, außerdem habt ihr dadurch nochmal eine Vielzahl von Geräten im MQTT Configurator.

    Code:
    #include <WiFi.h>
    #include <WiFiClient.h>
    #include <PubSubClient.h>
    #include <BLEDevice.h>
    #include <BLEScan.h>
    #include <BLEAddress.h>
    
    // MQTT Zugangsdaten
    #define MQTT_server "mqtt.home"
    #define MQTT_port 1883
    #define MQTT_User "MQTT_USER"
    #define MQTT_Pass "MQTT_PASSWORD"
    #define MQTT_Name "bt-scanner"
    #define MQTT_SCANNER "OFFICE"
    #define QoS 0
    #define BUFFER_MQTT_SIZE 
    
    //const char* MQTT_SCANNER = "OFFICE";
    const char* ssid = "SSID"; // WLAN Zugangsdaten Eintragen
    const char* password = "WIFI_PASSWORD";
    
    int scanTime = 10; //sek. iBeacon Suchzeit und MQTT Berichtinterval
    BLEScan* pBLEScan ;
    
    // --------------- MQTT Variablen ---------------------------------------
    WiFiClient wclient;
    PubSubClient mqtt(wclient);
    
    void setup()
    {
      Serial.begin(115200);
    
      // --------------------- WiFi ---------------------------------------------
      WiFi.mode(WIFI_STA);   ;
      WiFi.begin(ssid, password);
      int timout = 0;
      while (WiFi.status() != WL_CONNECTED)
      {
        delay(500);
        Serial.print("O");
        timout++;
        if  (timout > 20) // Wenn Anmeldung nicht möglich
        {
          Serial.println("");
          Serial.println("Wlan verbindung fehlt");
          ESP.restart(); // ESP32 neu starten
        }
      }
      Serial.println("");
      Serial.print("IP Addresse: ");
      Serial.println(WiFi.localIP());
    
      // ---------------------- MQTT ---------------------------------------------------
      mqtt.setServer(MQTT_server, MQTT_port); // MQTT Port einstellen
      if (mqtt.connect(MQTT_Name, MQTT_User, MQTT_Pass))
      {
        Serial.println("Mit MQTT verbunden");
        //mqtt.publish("hallo", MQTT_Name); // im Topic hallo Präsenzmelder Name schreiben
      }
    
      Serial.println("Starte BLE Scanner");
      BLEDevice::init("");
      pBLEScan = BLEDevice::getScan();
      pBLEScan->setActiveScan(true);   // Aktives Bluetooth Scannen
      pBLEScan->setInterval(100);
      pBLEScan->setWindow(99);
    }
    
    void loop()
    {
      int j;
      
      BLEScanResults foundDevices = pBLEScan->start(scanTime); // BLE Scanen
    
      for (j = 0; j < foundDevices.getCount(); j++) // Alle Gefundene Bluetooth Device durchgehen
      {
        char buf[128];
        strcpy(buf, MQTT_Name);
        strcat(buf, "/");
        strcat(buf, foundDevices.getDevice(j).getAddress().toString().c_str());
        strcat(buf, "/");
        strcat(buf, MQTT_SCANNER);
        strcat(buf, "/RSSI");
        if (!mqtt.publish(buf , String(foundDevices.getDevice(j).getRSSI()).c_str())) {
          Serial.println("Could not send MQTT");
        }
      } 
      pBLEScan->clearResults();
    
      delay(100);
      if (WiFi.status() != WL_CONNECTED)  ESP.restart(); 
      if (mqtt.connected())
      {
        mqtt.loop();
      }
      else
      {
        Serial.println("MQTT Verbindung fehlerhaft!");
        mqtt.connect(MQTT_Name, MQTT_User, MQTT_Pass);
      }
    }
    Geändert von someone (10.05.20 um 16:11 Uhr)
    IPS #stable# Unlimited / Docker / Synology DS218+ / Raspberrymatic als Synology VM

  9. #39
    Registriert seit
    Feb 2009
    Beiträge
    199

    mal eine kleine Frage: ist das, was in diesem Thread und einigen weiteren mit dem Tag „BLE+Scanner“ versucht wird zu realisieren, nicht die Funktion von einem „BLE Gateway“? Z.B. dem G1 von Minew

    Die Hardware zum Erfassen von BLE scheint sehr preiswert zu sein, aber im Internet findet man wenig fertige Lösungen, weil scheinbar jeder vorraussetzt, dass gerne gebastelt wird.

  10. #40
    Registriert seit
    Sep 2010
    Ort
    Bamberg
    Beiträge
    546

    Das hört sich interessant an. Aber wie bekommt man das in Symcon?

    Gesendet von meinem VOG-L29 mit Tapatalk
    Homematic, Homematic IP, SONOS, Amazon Echo, XIAOMI Robosauger, WORX Mähroboter, IPSView, SynologyNAS, Symcon auf Docker

Ähnliche Themen

  1. Raspberry Pi als iBeacon Scanner für Schlüsselbunddongle
    Von lahlor im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 77
    Letzter Beitrag: 08.11.19, 19:33
  2. Gigaset G-TAg als Anwesenheitskontrolle
    Von tommy86 im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 0
    Letzter Beitrag: 29.10.19, 10:17
  3. Win10 Beacon Scanner -> IPS
    Von sallos im Forum Projekt Showcase
    Antworten: 5
    Letzter Beitrag: 25.06.18, 21:43
  4. Raspberry Pi + Python + MQTT + BLE = BTL Scanner
    Von drapple im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 4
    Letzter Beitrag: 06.03.18, 19:20