BLE Advertisements Repeater into Ethernet TCP/IP
Проект в начальной разработке...
Чип CH32V208W.
Demo-board от WCH - CH32V208WBU6-EVT-R0:
CH32V208W принимает BLE-рекламу и отправляет в TCP/IP сокет.
- Принимаются все типы BLE-реклам, включая "LE Long Range" (CODED PHY).
- Обеспечивает прием более 60 реклам в секунду.
- Используется DHCP.
- Порт сервера TCP/IP сокета устройства - 1000.
Передача принятых фреймов BLE-реклам стартует при соединении с сокетом устройства (порт с номером 1000). Фреймы передаются друг за дургом.
N байта | Информация |
---|---|
0 | размер структуры данных BLE рекламы |
1 | [0:3] GAP Advertising Report Event Types, [4:7] GAP Address type |
2 | [0:3] primary PHY, [4:7] secondary PHY |
3 | RSSI |
4..9 | MAC |
10.. | структура данных BLE рекламы |
Первый байт, с номером 0, равен размеру всего фрейма минус 10.
ID | GAP Advertising Report Event Types |
---|---|
0x00 | Connectable undirected advertisement |
0x01 | Connectable directed advertisement |
0x02 | Scannable undirected advertisement |
0x03 | Non-Connectable undirected advertisement |
0x04 | Scan Response |
0x05 | Extend Connectable directed report type |
0x06 | Extend Scannable undirected report type |
0x07 | Extend Non-Connectable and Non-Scannable undirected report type |
0x08 | Extend Connectable undirected report type |
0x09 | Extend Scannable directed report type |
0x0A | Extend Non-Connectable and Non-Scannable directed report type |
0x0B | Eextend Scan Response report type |
ID | GAP Address type |
---|---|
0x00 | Public address |
0x01 | Static address |
0x02 | Generate Non-Resolvable Private Address |
0x03 | Generate Resolvable Private Address |
ID | Primary/Secondary PHY |
---|---|
0x01 | 1M |
0x02 | 2M |
0x03 | Coded |
Производит соединение с устройством WCHBLE2ETH и распечатывает приемный поток.
Параметром задается IP адрес или URL устройства WCHBLE2ETH в сети.
Пример:
python3 adv2eth.py 192.168.2.134
Лог:
Press 'ESC' to exit
Connecting to 192.168.2.134 ...
00 11 bb a4c138565870 02010612161a1870585638c1a42d0663125c091cab0e
00 11 b6 a4c138565870 02010612161a1870585638c1a42d0663125c091cab0e
00 11 ac 1c90ffdc0cc6 020106030201a2141601a201d3496059d9146eded9e4d956127b7b6f
23 11 cc 1b18fbd1b5d6 1eff0600010920068c32d352e9e632c900aef72af1f0e7d8ebb185b080ed38
00 11 b7 381f8dd93b3a 020106030201a2141601a201ca55525ec10fca3811cab285e0b6b66c
32 11 cb 60419a85a1b6 0303f3fe
08 33 af a4c138ae3ebf 0201060e16d2fc40002c01470202f70393140b095448535f414533454246
00 11 d0 381f8dd93cb6 020106030201a2141601a2016db2d52cd37c86fa958e84fb795ead4e
...
Для сборки проекта используйте импорт в MounRiver Studio.