Dokumentace – Ble.py

Asynchronní komunikace s BLE zařízením pomocí knihovny Bleak

← Zpět na hlavní dokumentaci

1. Základní architektura

Soubor Ble.py umožňuje automatizovanou komunikaci s BLE zařízením. Pravidelně kontroluje řídicí soubory v /home/host/FTP/ramdisk/ a podle nich odesílá příkazy do BLE zařízení. Po obdržení odpovědi uloží textový výsledek do výstupních souborů.

2. BLE adresa a charakteristiky

ADDRESS = "2C:CF:67:EF:1D:0A"
WRITE_CHAR_ID  = "0000FF15-0000-1000-8000-00805F9B34FB"
WRITE_CHAR_ID2 = "0000FF11-0000-1000-8000-00805F9B34FB"

3. Řídicí soubory

Skript reaguje na existenci souborů v RAMdisku:

SouborKódBLE příkazVýstup
S0x53*SSresp.txt
U0x55*UUresp.txt
H0x48*HHresp.txt
R0x52*RRresp.txt
Sreq0x2F*0000000#State.txt
Quit0x51Ukončení skriptu

4. Popis funkcí

notification_handler(sender, data, q)

Ukládá notifikace BLE do fronty.

ReadStateFile()

Načte textový příkaz ze souboru Sreq.

GetWhatScan()

Určí typ příkazu podle existujících souborů.

RemoveWhatScan(WhatScan)

Odstraní řídicí soubor po úspěšném zpracování.

WriteFileResp(RespWrite, WhatScan, q)

Uloží odpověď BLE do správného výstupního souboru.

start_call_ble(ble_address, q)

Spustí asynchronní BLE komunikaci.

stop_call_ble()

Zastaví smyčku komunikace.

Call_ble(ble_address, q)

Hlavní funkce skriptu – zajišťuje připojení, smyčku komunikace, čtení odpovědí, zápis a odpojení zařízení.

5. Tok programu


GetWhatScan()
       ↓
Odeslání BLE příkazu
       ↓
Čtení odpovědi
       ↓
WriteFileResp()
       ↓
RemoveWhatScan()
    

6. Příklad použití

from Ble import start_call_ble
from queue import Queue

q = Queue()
start_call_ble("2C:CF:67:EF:1D:0A", q)

7. Známé problémy a doporučení

8. Závěr

Soubor Ble.py poskytuje plně automatizovanou BLE komunikaci řízenou souborovým systémem. Je vhodný pro průmyslové aplikace, testovací systémy i diagnostiku. Dokumentace obsahuje kompletní popis funkcí, toku programu i výstupů.