Esta é uma versão personalizada do firmware rnode, projetado para uso usando o moteino mega do LowPowerLab, com o módulo RFM95 Lora.
Este trabalho é um derivado do rnode desenvolvido e vendido por Mark Qvist. Rnode é direitos autorais de Mark Qvist.
Não tenho intenção de vender ou distribuir rnodes personalizados. A suposição aqui é que você sabe por que está aqui e sabe por que e como comprar e criar o hardware necessário mencionado nesta derivada. Mark Qvist e Steve Miller não são responsáveis pela operação indesejada, incluindo, entre outros, coisas quebrando, pegando fogo ou colapsando o continuum espaço-tempo. Você foi avisado.
A gravação deste firmware requer uma etapa adicional usando o RNODECONFIGUTIL, pois piscar o firmware para a mega moteino não escreverá os dados da EEPROM necessários para o dispositivo.
É fortemente sugerido que você use a ferramenta de configuração RNODE personalizada para o modelo RNODE personalizado E4.
Este é o firmware do RNODE, um dispositivo de comunicação baseado em LORA muito flexível. Rnode pode funcionar como A:
O RNODE é controlado por um poderoso MCU ATMEGA1284P e é totalmente compatível com o Arduino. Você pode usar esse firmware ou ele pode ser programado da maneira que quiser, seja do Arduino IDE ou usando qualquer uma das ferramentas disponíveis para o desenvolvimento do AVR. Esse firmware também pode ser editado e compilado diretamente do Arduino IDE.
Para adicionar o RNODE ao seu ambiente Arduino, consulte esta postagem.
Para configurar um rnode com este firmware, consulte o utilitário de configuração RNODE.
O firmware rnode pode ser considerado estável neste momento. Se você encontrar um bug ou descobrir um comportamento não intencional, informe -o como um problema aqui, para que eu possa corrigi -lo!
O RNODE pode operar em dois modos, controlado pelo hospedeiro (padrão) e modo TNC:
Quando o RNODE estiver no modo controlado pelo host, ele permanecerá em espera quando ligado, até que o host especifique a frequência, a largura de banda, a energia de transmissão e outros parâmetros necessários. Este modo pode ser ativado usando a opção -n deste utilitário. No modo controlado pelo hospedeiro, o modo promíscuo pode ser ativado para farejar qualquer quadros Lora.
Quando o RNODE estiver no modo TNC, ele se configura no PowerUp e habilita o rádio imediatamente. Esse modo pode ser ativado usando a opção -t desse utilitário (o utilitário o guiará através das configurações se você não as especificar diretamente).
Você pode se comunicar com o RNODE através do conector USB a bordo ou usando os pinos de série na placa (rotulados RX0 e TX0). O RNODE usa um chip USB FTDI padrão, para que funcione fora da caixa sem drivers adicionais na maioria dos sistemas operacionais.
Todas as comunicações de e para o conselho usam o enquadramento do Kiss com um conjunto de comando personalizado. O RNODE também não usa portas HDLC no byte de comando e, como tal, usa os 8 bits completos do byte de comando está disponível para o comando real. Consulte a tabela abaixo para comandos suportados.
| Comando | Byte | Descrição |
|---|---|---|
| Quadro de dados | 0x00 | Um pacote de dados para ou para o dispositivo |
| Freqüência | 0x01 | Define ou consulta a frequência |
| Largura de banda | 0x02 | Conjuntos ou consultas a largura de banda |
| TX Power | 0x03 | Define ou consulta o poder TX |
| Fator de espalhamento | 0x04 | Conjuntos ou consultas o fator de espalhamento |
| Taxa de codificação | 0x05 | Define ou consulta a taxa de codificação |
| Radio State | 0x06 | Conjuntos ou consultas do estado de rádio |
| Lock de rádio | 0x07 | Conjunto ou consulta a trava do rádio |
| Detecção de dispositivo | 0x08 | Comando de sonda para detecção de dispositivo |
| Promíscuo | 0x0e | Conjuntos ou consultas no modo promíscuo |
| RX STATS | 0x21 | Consultas recebidas bytes |
| TX STATS | 0x22 | Consultas transmitidas bytes |
| Último RSSI | 0x23 | Indica rssi do último pacote recebido |
| Piscar | 0x30 | Pisca os LEDs |
| Aleatório | 0x40 | Consultas para um número aleatório |
| Versão do firmware | 0x50 | Consultas para versão de firmware instalada |
| Rom leia | 0x51 | Leia o EEPROM BYTE |
| Rom, escreva | 0x52 | Escreva Byte EEPROM |
| Modo TNC | 0x53 | Ativa o modo TNC |
| Modo normal | 0x54 | Ativa o modo controlado pelo host |
| Rom apagar | 0x59 | Apaga completamente a EEPROM |
| Erro | 0x90 | Indica um erro |
Dê uma olhada na pasta "Bibliotecas" para incluir para permitir que você use facilmente o RNODE em seu próprio software.
Aqui está um exemplo python:
from RNode import RNodeInterface
def gotPacket ( data , rnode ):
print "Received a packet: " + data
rnode = RNodeInterface (
callback = gotPacket ,
name = "My RNode" ,
port = "/dev/ttyUSB0" ,
frequency = 868000000 ,
bandwidth = 125000 ,
txpower = 2 ,
sf = 7 ,
cr = 5 ,
loglevel = RNodeInterface . LOG_DEBUG )
rnode . send ( "Hello World!" )O RNODE pode ser colocado no modo promíscuo Lora, que despejará os quadros de Lora Raw no host. Os quadros de Lora Raw também podem ser enviados neste modo e ter o tamanho padrão da carga útil LORA de 255 bytes. Para ativar o modo promíscuo, envie o comando "promíscuo" para a placa ou use uma das bibliotecas de programação. Você também pode usar o programa de exemplo Loramon para obter um sniffer de pacote Lora fácil de usar.