libp2p-lora-transport permite que os nós LIBP2P se comuniquem com a Lora. Você pode usá -lo como um "protocolo", onde um Libp2p nós com uma ponte Lora anexada pode permitir que os colegas autorizados leiam/grava dados de/para a ponte Lora. Por exemplo, isso pode ser usado para permitir que um LIBP2P nós relatasse dados do sensor a um gateway de Lorawan. Outra possibilidade seria permitir vários nós LIBP2P diferentes para retransmitir dados através de um nó libp2p com uma ponte Lora anexada.
Você precisará de uma instalação C válida, ir 1.13+ e as bibliotecas WiringPI instaladas.
O seguinte hardware foi testado:
arduinobridgeincludesrc/draginoUsando um escudo GPS do Arduino Mega + Dragino Lora, um esboço chamado "Lora Bridge" é implantado no Arduino. Este esboço é responsável por duas coisas:
Um host LIBP2P com uma conexão direta com a interface serial Arduino registra um manipulador de ponte que se conecta ao Arduino. Esse manipulador de ponte cria dois canais, um para escrever dados na interface serial, um para ler dados da interface serial. Um goroutine é lançado, que retirará os dados do canal de gravação e o colocará na interface serial. Se não houver dados disponíveis para escrita, veremos se algum dado pode ser lido na interface serial. Se pudermos, lemos os dados e os enviamos através do canal de leitura. Se ninguém estiver esperando para receber do canal, os dados serão simplesmente descartados.
A ponte garantirá que todas as mensagens que saem da interface serial sejam formatadas corretamente (embrulhadas em cargas ^ ), se as mensagens não forem descartadas.
Existem dois modos de operação:
Não há absolutamente nenhuma segurança fornecida nesta implementação. Os dados são tratados como estão, e se esses dados estiverem no ClearText, os dados serão transmitidos pelo rádio Lora em ClearText para qualquer pessoa cujo escuta bisbilhote. Isso significa que, se você deseja que os dados sejam privados passando por esta ponte, você deve criptografá -los. Se estiver usando esta ponte como um transporte (modo não protocolo), é recomendável usar um enxame privado de libp2p, pois isso fornece uma camada base razoavelmente boa de segurança, sem precisar criptografar manualmente os dados que passam pela ponte. Se usar a ponte no modo de protocolo, isso significa que você precisará criptografar as mensagens manualmente.
No modo de protocolo, qualquer par autorizado pode ler/gravar dados através da ponte; portanto, verifique se você permite apenas acesso específico aos colegas.
A interface serial no Arduino é usada para permitir que nossos nós LIBP2P tenham acesso ao módulo Lora. Sempre que os dados são enviados do Arduino para o nó libp2p, as mensagens são envolvidas em ^ . Por exemplo, devemos desejar enviar uma mensagem para outro nó Lora que diz hello , devemos enviar ^hello^ . Controlar a ponte Lora é feita por meio de uma única letra "Controle caracteres". Os caracteres de controle atuais são:
1 - Modo de depuração de alternânciaTodo o código não firme está licenciado em AGPLV3