Lora-protocol-interface
Este projeto implementa uma versão personalizada do protocolo AODV. É muito mais simples e não completo.
Este programa deve ser executado em uma máquina conectada via porta serial a um módulo Lora. Ele implementa um protocolo ad-hoc multi-hop routing com uma interface gráfica. Além disso, este programa é capaz de descobrir outros nós, enviar e receber mensagens.
Protocolo
Todas as etapas de AODV são implementadas além de:
- Expandindo a pesquisa de anel por rreqs (6.4)
- Rreps gratuitos e Rreps intermediários (6.6.2) e (6.6.3)
- Hello-Messages (6.9)
- Mantendo a conectividade local (6.10)
- Reparos locais (6.12)
- Ações após a reinicialização (6.13)
- Interfaces (6.14)
- Subnetworks
Restrições:
- Max tenta: 3
- Tempo limite rreq: 30s
- Tempo limite ack: 4s - 6s
- Timeout Payload: timeoutack.max * routehopcount
- Lifetime de rota = tempo de exclusão de rota = 3 min = 180 s
- Duração da lista negra = 3 min = 180 s
- Abressen 1-20 (ZB 144 -> 14)
Pacotes
Todos os pacotes são codificados como bytes
(5,11,13,1, olá)
[05 0b 0d 01 48 65 6c 6c 6f]
Rreq (transmissão):
- Tipo: 1
- Flag em U.
- Contagem de saltos
- ID / ID de transmissão / ID rreq
- Endereço de origem
- Número da sequência de origem
- Endereço de destino
- Número da sequência de destino
Rrep: (são sempre reconhecidos, em+dest = anteriorHopaddr)
- Tipo: 2
- Contagem de saltos
- Endereço de origem
- Endereço de destino
- Número da sequência de destino
- Lifetime em S (vida à vida à esquerda)
Rerr (enviado se não houver send-hop-acord):
- Tipo: 3
- Contagem de destino
- endereço de destino inacessível
- Número de sequência de destino inacessível
- endereços adicionais
- Número de sequência adicional
Rrep-ack (at+dest = anteriorHopaddr):
- Tipo: 4
Send-Text-Request (str, em+dest = nexthopaddr)
- Tipo: 5
- Endereço de origem
- Endereço de destino
- Número da sequência de mensagens
- Carga útil (máx. 30 byte)
Send-hop-ack (at+dest = anteriorHopaddr)
- Tipo 6
- Número da sequência de mensagens
Send-Text-Request-ACK (STR-ACK, AT+DEST = NEXTHOPADDR)
- Tipo: 7
- Endereço de origem
- Endereço de destino
- Número da sequência de mensagens
Implantação
Requisitos
Construa a si mesmo
- Repositório de clones
- Run:
mvn clean package - Run:
java -jar --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml LoraProtocollInterface-1.0-SNAPSHOT-jar-with-dependencies.jar
Use a liberação
- Descompacente
- Run:
java -jar --module-path /usr/share/openjfx/lib --add-modules javafx.controls,javafx.fxml LoraProtocollInterface-1.0-SNAPSHOT-jar-with-dependencies.jar
Capturas de tela




