EdigE
← ЛЕНТА

Обычный LED научили слать пакеты и слушать ответ

Для такого разговора двум платам не нужны фотодиоды, объективы и отдельный ИК-приёмник. Между двумя ESP32 достаточно направить друг на друга два обычных LED: каждый светодиод в своей паузе превращается в датчик света. Передача и приём идут последовательными фазами, поэтому светодиод не пытается одновременно светить и измерять собственное излучение.

Световая пауза становится линией связи

PacketLED собирает этот физический трюк в библиотеку пакетной связи. На каждом узле LED с последовательным резистором включён между двумя GPIO. Один вывод управляет током при передаче. Для приёма микроконтроллер сначала создаёт на диоде обратное смещение, затем отпускает анод в высокоимпедансный режим. Свет порождает фототок, тот разряжает ёмкость перехода, а вход ADC1 считывает изменившийся потенциал. Светодиод здесь работает как очень медленный, малочувствительный фотодиод, зато уже припаян к плате и подключён к тем же ножкам MCU.

Световая пауза становится линией связи

Библиотека кодирует поток Manchester-кодом и передаёт его на 256, 512 либо 1024 бит/с. Приёмник сопоставляет две половины бита, что помогает отстроиться от постоянной засветки и медленного мерцания. Выше располагается LX.25: кадр содержит до 64 байт полезных данных и CRC-16/X.25; ответный узел возвращает ACK, отправитель делает до трёх попыток, а повторно пришедшие кадры подавляются. Из мигающего индикатора получается канал с привычной дисциплиной пакетного радио.

Метры требуют оптики, а не магии

Цена этой дисциплины хорошо видна по временной шкале. Автор указывает для максимальной скорости 593 ms на кадр с 64-байтной нагрузкой и ещё 93 ms на ACK. Это подходит для команды, идентификатора, ключевого материала или редкого телеметрического события. Потоковый интерфейс, обновление прошивки и быстрый обмен датчиков упираются в преамбулу, подтверждения, ожидание и повторные кадры гораздо раньше, чем в номинальные 1024 бит/с.

Метры требуют оптики, а не магии

На узкоугольных прозрачных красных LED с углом 20° разработчик сообщает о доставке пакетов на 2.5 m при 1024 бит/с; на 90 cm он получил около 715 бит/с полезного потока при обмене 64-байтными кадрами в обе стороны. Рассеянные красные LED в тех же опытах дали лишь сантиметры: примерно 3 cm на 1024 бит/с, до 8 cm на 256 бит/с. Диаграмма направленности, ток LED, сопротивление, взаимное наведение, длина проводов и внешнее освещение формируют канал сильнее, чем логика протокола. Метры остаются авторским результатом, без независимой лабораторной репликации.