libp2p-lora-transport позволяет узлам Libp2p общаться по Лоре. Вы можете использовать его в качестве «протокола», где узлы Libp2p с прикрепленным мостом Lora могут позволить уполномоченным сверстникам читать/записывать данные с/на мост Лора. Например, это может быть использовано, чтобы позволить узлам LIBP2P сообщать датчики датчика в шлюз Лоравана. Другая возможность - позволить нескольким различным узлам Libp2p для передачи данных через узел Libp2p с прикрепленным мостом Лора.
Вам понадобится действительная установка C, GO 1.13+ и установленные библиотеки Wirewpi.
Следующее оборудование было протестировано:
arduinobridgeincludesrc/draginoИспользуя Arduino Mega + Dragino Lora GPS Shield, эскиз под названием «Мост Лора» развернут в Arduino. Этот эскиз отвечает за две вещи:
Хост Libp2p с прямым соединением с серийным интерфейсом Arduino регистрирует обработчик моста, который подключается к Arduino. Этот обработчик моста создает два канала, один для написания данных в серийный интерфейс, один для чтения данных из серийного интерфейса. Затем запускается goroutine, который вытащит данные с канала записи и вписывает их в последовательный интерфейс. Если данные не доступны для написания, мы посмотрим, можно ли считать какие -либо данные с серийного интерфейса. Если мы можем, мы читаем данные и отправляем их через канал чтения. Если никто не ждет, чтобы получить с канала, данные просто отброшены.
Мост гарантирует, что все сообщения, исходящие от последовательного интерфейса, были должным образом отформатированы (обернуты в носители ^ ), если сообщения нет, они также отброшены.
Есть два режима работы:
В этой реализации абсолютно не предусмотрена безопасность. Данные обрабатываются как есть, и если эти данные находятся в ясном контексте, то данные будут передаваться по радио LORA в ClareText для тех, чьи прослушивание Snoop On. Это означает, что если вы хотите, чтобы данные были частными, проходя через этот мост, вы должны зашифровать его. Если использовать этот мост в качестве транспорта (режим не протокола), тогда рекомендуется использовать частный рой Libp2p, поскольку он обеспечивает достаточно хороший базовый уровень безопасности, без необходимости вручную шифровать данные, проходящие через мост. При использовании моста в режиме протокола это означает, что вам нужно будет зашифровать сообщения вручную.
В режиме протокола любой авторизованный одноранговый может читать/записывать данные через мост, поэтому убедитесь, что вы разрешаете только определенным коллегам.
Последовательный интерфейс на Arduino используется, чтобы позволить нашим узлам Libp2p доступ к модулю LORA. В любое время данные отправляются из Arduino в узло Libp2p, сообщения обернуты в ^ . Например, если мы хотим отправить сообщение в другой узел Lora, который говорит, hello мы должны отправить ^hello^ . Контроль моста Лора выполняется с помощью одноражных «контрольных символов». Текущие управляющие символы:
1 - режим переключения отладкиВесь код не Firmata лицензирован в AGPLV3