BLE
Этот модуль содержит функции работы с Bluetooth Low Energy Advertisements.
Поддерживается прием и передача пакетов типа Eddystone UID, URL, TLM, а также iBeacon.
b = bt.service.beacon.eddystone_uid(mac, tx_power, namespace, instance)
Создать пакет типа Eddystone UID.
Агрументы:
- mac: адрес передача; строка, получаемая, например, командой cpu.getmac(2, 1).
- tx_power: число; мощность передатчика.
- namespace: строка.
- instance: строка.
Возвращает: объект Beacon.
b = bt.service.beacon.eddystone_url(mac, tx_power, url)
Создать пакет типа Eddystone URL.
Агрументы:
- mac: адрес передача; строка, получаемая, например, командой cpu.getmac(2, 1).
- tx_power: число; мощность передатчика.
- url: строка; передаваемый URL.
Возвращает: объект Beacon.
b = bt.service.beacon.eddystone_tlm(mac, tx_power, mv, deg)
Создать пакет типа Eddystone TLM.
Агрументы:
- mac: адрес передача; строка, получаемая, например, командой cpu.getmac(2, 1).
- tx_power: число; мощность передатчика.
- mv: число; напряжение в милливольтах.
- deg: число; температура в градусах.
Возвращает: объект Beacon.
bt.service.beacon.eddystone_tlm_update(beacon, mv, deg)
Обновить значения в пакете Eddystone TLM
Агрументы:
- beacon: объект beacon.
- mv: число; напряжение в милливольтах.
- deg: число; температура в градусах.
Возвращает: ничего или исключение.
b = bt.service.beacon.ibeacon(mac, tx_power, uuid, major, minor)
Создать пакет типа iBeacon.
Агрументы:
- mac: адрес передача; строка, получаемая, например, командой cpu.getmac(2, 1).
- tx_power: число; мощность передатчика.
- uuid: число.
- major: число.
Возвращает: объект Beacon.
Beacon:start()
Запустить передачу
Beacon:stop()
Остановить передачу
Пример:
mac = cpu.getmac(2, 1)
tx_power = -59 -- измеряемая мощность (Tx Power)
b1 = bt.service.beacon.eddystone_uid(mac, tx_power, "3F3B51B60B88EF9949E5", "CF484185AE0B")
b2 = bt.service.beacon.eddystone_url(mac, tx_power, "https://open-dev.ru")
b3 = bt.service.beacon.eddystone_tlm(mac, tx_power, 3220, 26)
b4 = bt.service.beacon.ibeacon(mac, tx_power, "00112233445566778899AABBCCDDEEFF", 100, 1)
b1:start()
b2:start()
b3:start()
b4:start()
bt.attach(mode)
Включить BT приемник
Агрументы:
- mode: число; режим. Поддерживается только bt.mode.BLE Возвращает: ничего.
bt.scan.start(cb)
Запустить режим сканирования с отправкой результатов в callback.
Пример:
bt.attach(bt.mode.BLE)
bt.scan.start(function(data)
if (data.type == bt.frameType.EddystoneUID) then print(data.type, data.namespace, data.instance) end
if (data.type == bt.frameType.EddystoneURL) then print(data.type, data.url) end
if (data.type == bt.frameType.EddystoneTLM) then print(data.type, data.version, data.battery, data.temperature, data.advCount, data.timeSinceBoot) end
if (data.type == bt.frameType.EddystoneUID) then print(data.type, data.ibeacon_major, data.ibeacon_minor, data.ibeacon_uuid) end
end)
bt.scan.stop()
Остановить режим сканирования.