BLE-to-UART scanner, which continuously receives BLE advertisements and delivers them to a host connected via UART-to-USB adapter.
%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR;
subgraph Controller
Firmware["Wireless SoC\nFirmware"]
UartInterface["UART to USB"]
USBD["USB"]
end
subgraph Host
USBH["USB"]
UART["UART\ndevice\ndriver"]
adv2uart("adv2uart.py\nPython\nprogram/library")
end
Firmware --- UartInterface --- USBD --- USBH --- UART --- adv2uart
The following Wireless SoC solutions are implemented:
Check related README documents for further details on each implementation.
Common characteristics:
- robust datalink with CRC16 for error detection while transitting data;
- the firmware scans BLE PHY 1M advertisements and Coded PHY S8 advertisements (125kbps BLE Long Range mode) concurrently;
- white-list and black-list for 64 MAC addresses;
- LEDs to monitor the advertising processing;
- Compared to implementations based on variants of the Hayes/AT command set, this software employs a very compact bidirectional protocol to optimize UART traffic;
- the BLE device can be fully controlled by the hosts via commands;
- Available commands can be extended.
This software allows experimenting BLE Long Range with a Windows PC or through a wide set of hosts supporting the USB-to-UART interface.