Configurare receptor BLE
1. Tasmota
Documentația este disponibilă aici: https://tasmota.github.io/docs/
Modulul este programat cu Tasmota BLE, la pornire (atâta timp cât nu este configurată o rețea WIFI, sau dacă nu se poate conecta la rețeaua WIFI configurată anterior) creează o rețea WIFI cu numele Tasmota_xxxx la care trebuie sa ne conectăm.
După conectare (cu un telefon, laptop, etc.) ne direcționează automat către pagina de configurare a rețelei WIFI locale. Alegem rețeaua dorită și introducem parola.
Modulul afișează pentru scurt timp adresa IP primită apoi se resetează. Dupa 10-20 secunde ne putem conecta la adresa IP afișată mai devreme.
Meniul principal Tasmota arată așa:
Accesăm opțiunea Configuration și ni se afișează următorul meniu:
Accesăm meniul Configure BLE și activăm opțiunea Enable Bluetooth.
Devices Seen vor fi afișate ulterior, pe măsură ce va recepționa mesajele BLE. Am ascuns parțial adresa MAC a dispozitivelor găsite în imagine.
Mergem înapoi la meniul Configuration și apoi la meniul Configure Other
Alegem un nume la Device Name și la Friendly Name, de exemplu "BLE living" și salvăm.
Ne întoarcem la meniul principal și intrăm pe Console.
Introducem următoarele comenzi, pe rând, apoi apăsăm tasta Enter:
Configurăm ora locală și momentul schimbării între ora de vară și ora de iarnă
Backlog0 Timezone 99; TimeStd 0,0,10,1,4,120; TimeDst 0,0,3,1,3,180
Implementăm o regulă ce va fi rulată la fiecare pornire Tasmota:
rule1 on system#boot do backlog mi32option0 0; mi32option1 1; mi32option2 1; mi32option5 0; mi32option6 1 endon
Activăm regula pentru a fi executată automat
rule1 1
Ne întoarcem la meniul principal și ar trebui sa apară afisați primii senzori descoperiți, dacă nu sunt afișați executăm un Restart. (ultimii 3 bytes / 6 caractere din adresa MAC au fost îndepărtați)
Acum putem accesa meniul Configuration > Configure MQTT
Am ales ca server MQTT adresa IP 192.168.1.100 unde este deja instalat serverul MQTT.
Portul a rămas 1883, cel standard, deoarece conexiunea se realizează în rețeaua internă.
Numele clientului a rămas cel standard deoarece trebuie să fie unic la fiecare dispozitiv ce se conectează prin MQTT. DVES_%06X înseamnă că acesta va fi DVES_ urmat 3 bytes unici din adresa MAC a modulului ESP.
La User și password introducem ce am configurat în serverul MQTT.
Noi preferăm topic unic sau pe funcții așa că modulele nostre transmit pe ble/loc informațiile. Mai avem configurați și ble/hol , ble/etaj deci topicul va fi living în acest caz iar comunicarea se va face prin ble/living/... cu acest modul.
Partea bună este că recepția tuturor mesajelor BLE are loc pe topicul ble/tasmota_ble/tele/ATCxxxxxx și pot fi mai ușor repartizați pe încăperi din Node Red sau utilizați direct ca atare întrucât sunt toți la un loc.
2. Home Assistant (ESPHome)
În Home Assistant navigăm la ESPHome (iconița albastră pe bara din stânga) și apăsăm pe butonul verde NEW DEVICE.
Ne apare meniul pentru un dispozitiv nou și îi dăm un nume, de exemplu BLE living apoi apăsăm NEXT
Alegem SKIP THIS STEP
Rămâne bifat Use recommended settings și alegem ESP32 ca dispozitiv
Suntem anunțați că este gata configurarea inițială, ni se afișează și cheia de criptare API Home Assistant. Alegem SKIP.
Dispozitivul apare acum în meniul ESPHome, alegem EDIT și modificăm fișierul după cum urmează:
esphome: name: ble-living friendly_name: BLE living esp32: board: esp32dev framework: type: esp-idf # <- atentie, aici se modifica din arduino în esp-idf ! # Enable logging logger: baud_rate: 0 # <- aceasta linie se adauga pentru a opri logarea pe portul serial, consuma prea multe resurse de timp # Enable Home Assistant API api: encryption: key: "lkj523l609dsgflkj2l5kj0s90525jlkjgs0d9t0435=" # <- aici lasam codul din ESPHome, nu modificam, cheia din stanga este doar un exemplu ota: - platform: esphome password: "938kk5jh34k5jh34kj5h3k4jh5k34jh5" # <- si aici lasam codul din ESPHome, nu modificam, cheia din stanga este doar un exemplu wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Ble-Living Fallback Hotspot" password: "IX2l34kj23lT" # <- si aici lasam codul initial din ESPHome, cheia din stanga este doar un exemplu captive_portal: # DOAR DE AICI IN JOS ADAUGAM! esp32_ble_tracker: scan_parameters: active: True bluetooth_proxy: active: True sensor: - platform: pvvx_mithermometer mac_address: a4:c1:38:xx:xx:xx # aici adaugam ultimii 3 bytes din adresa MAC a senzorului nostru temperature: name: "Living temperatură" humidity: name: "Living umiditate" battery_level: name: "Living baterie" battery_voltage: name: "Living tensiune baterie" signal_strength: name: "Living semnal"
Apăsăm acum pe SAVE și INSTALL.
Pentru că trebuie să transmitem fișierul de update la Tasmota alegem Manual download, altfel pe viitor alegem Wirelessly.
Alegem OTA format (Previously Legacy) și salvăm fișierul local.
Navigăm la adresa IP a dispozitivului Tasmota (vezi mai sus) și alegem Firmware Upgrade din meniu.
Apăsăm Choose File, alegem fisierul descărcat mai devreme (ble-living.ota.bin și apoi apăsăm Start upgrade.
Modulul își face update, repornește și apare ONLINE în pagina ESPHome din Home Assistant. De asemenea veți avea disponibile și datele de la senzorii Xiaomi configurați: