Нет описания

vad7 0e4bb3d141 checks NRF24 hardware faults 2 лет назад
Distr dd7fcfc0ac upd 2 лет назад
Pics 9e69335060 auto turn on 5V 2 лет назад
lib 0e4bb3d141 checks NRF24 hardware faults 2 лет назад
LICENSE f8022a63eb Initial commit 2 лет назад
README.md ad74ab25e6 added SBatch cmd (remote controller), optimization 2 лет назад
application.fam 4978e53f30 first 2 лет назад
descript.txt 0dbf1a1fc0 new "Set" cmd, added Kitchen Vent.txt 2 лет назад
nrf24batch.c 0e4bb3d141 checks NRF24 hardware faults 2 лет назад
nrf24batch.h 3ff2f5e812 show battery current 2 лет назад
nrf24batch_10px.png 4978e53f30 first 2 лет назад

README.md

nRF24-Batch

Flipper Zero application for nRF24L01 external board. Sends batch commands.

Приложение для Flipper Zero, предназначено для отправки пакетных команд на удаленные устройства, использующие радио nRF24L01.

Можно использовать для настройки или чтения данных с удаленного устройства. На удаленной стороне требуется поддержка, ссылка на код для микроконтроллера AVR ниже.

Сначала выбирается файл настройки с описанием команд.
Можно отредактировать адрес и номер канала.
Затем стрелками влево или вправо выбирается нужный режим:

  • Пакетное чтение (Read Batch),
  • Чтение по одной команде (Read cmd),
  • Пакетная запись (Write Batch),
  • Пакетная отправка (Set),
  • Режим прослушивания адреса (Listen).

    Есть два вида команд: запрос-ответ и запись.
    Запрос-ответ (Read) - отправка пакета, переключение на прием и отображение на экране, что получили.
    Запись (Write) - фактически отправка пакетов подряд с нужными данными.
    Пакетная отправка (Set) - режим пульта, отправка пакетов сразу из списка без вопросов и без преварительного пакета "Write start".
    Режим прослушивания (Listen) - если в файле присутствует строка "Listen: <адрес>=<поле 1>,<поле 2>,...", где "поле.." название поля. Адрес пожно менять - долго нажать Ok.

    Формат пакета для отправки (payload) задается в виде размера полей структуры в байтах, например, так "Payload struct: 2,1,1", что означает структуру из 3 полей: 2 байта, 1 байт, 1 байт.
    Полученный в ответ пакет (такой же длины как и отправленный) состоит из одного значения (остаток пакета не используется), размерность по умолчанию 1 байт (int8), при необходимости, она задается числом после '*' после имени команды.

    Перед отправкой пакета, он заполняется сначала по шаблону по умолчанию "R default" для запроса чтения, "W default" - для записи.
    Поля разделены - ','. Для "W default" есть специальный маркер 'n', говорящий какое поле будет заполняться значением после '=' из команды "WBatch".
    Можно использовать константы по их имени, они задаются в файле в формате "имя=число", число либо десятичное или шестнадцатеричное с префиксом 0x.
    Затем берутся заполненные значения полей из самой команды ("R:" или "W:").
    Если в конце строки с командой чтения символ '#', то считанное значение будет показано в шестнадцатеричном виде.

    Пакеты чтения "RBatch:", записи "WBatch:", отправки "SBatch:" состоят из списка имен команд "R:" или "W:"("S:"), соответственно, перечисленных через ";".
    "S:" то же самое, что и "W:", только пакет "Write start" отправлен не будет

    Отправка пакета для записи - длительно нажать Ok в списке и подтвердить.
    Перед пакетом команд для записи отправляется пакет "Write start", если эта строка присутствует в файле настроек.

    Значение команды для записи можно редактировать - Ok на списке команд, стрелки - +/- и переход по цифрам, завершить - Назад, вставка цифры - Ok, удаление цифры - длительный Ok.
    Из списка команд в пакетах чтения и записи команды можно убирать - для этого нужно долго нажать на кнопку влево и подтвердить.
    Это нужно, например, чтобы убирать те команды в сохраненном пакете для чтения, для которых нет команды записи.

    Пример файл CO2_mini
    Для устройства на Attiny44A, которое отправляет данные с датчика CO2 на контроллеры, управляющие вентиляцией или проветриватели: https://github.com/vad7/CO2-mini

    Структура файла настроек:





Mini board for Flipper Zero to connect nRF24l01:



Gerber for mini board with 5V - 3.3V converter LM1117-3.3
Easyeda source