Dies ist eine angepasste Version der RNODE -Firmware, die für die Verwendung des MoTeino Mega von LowPowerLab mit dem RFM95 LORA -Modul ausgelegt ist.
Diese Arbeit ist ein Derivat des von Mark Qvist entwickelten und verkauften RNODE. RNODE ist urheberrechtlich geschützt von Mark Qvist.
Ich habe nicht die Absicht, kundenspezifische RNodes zu verkaufen oder zu verteilen. Die Annahme hier ist, dass Sie wissen, warum Sie hier sind, und Sie wissen, warum und wie Sie die in diesem Derivat erwähnte erforderliche Hardware erwerben und aufbauen. Mark Qvist und Steve Miller sind nicht für unerwünschte Operationen verantwortlich, einschließlich, aber nicht beschränkt auf Dinge, die bricht, Feuer fangen oder das Raum-Zeit-Kontinuum zusammenbrechen. Sie wurden gewarnt.
Das Schreiben dieser Firmware erfordert einen zusätzlichen Schritt mit RnodeConfigutil, da das Flashen der Firmware mit dem MoTeino Mega die vom Gerät benötigten EEPROM -Daten nicht schreibt.
Es wird stark vorgeschlagen, dass Sie das benutzerdefinierte RNODE -Konfigurationstool für das benutzerdefinierte RNODE -Modell E4 verwenden.
Dies ist die Firmware für RNODE, ein sehr flexibles LORA-basierter Kommunikationsgerät. RNODE kann Funktionen als a:
RNODE wird von einer leistungsstarken ATMEGA1284P MCU gesteuert und ist vollständig arduino kompatibel. Sie können diese Firmware verwenden, oder sie kann entweder aus der Arduino -IDE programmiert werden, oder verwenden Sie eine der verfügbaren Tools für die AVR -Entwicklung. Diese Firmware kann auch direkt aus der Arduino -IDE bearbeitet und zusammengestellt werden.
Informationen zum Hinzufügen von RNODE zu Ihrer Arduino -Umgebung finden Sie in diesem Beitrag.
Wenn Sie einen RNODE mit dieser Firmware konfigurieren, sehen Sie sich bitte das RNODE -Konfigurationsdienstprogramm an.
Die RNODE -Firmware kann an dieser Stelle als stabil angesehen werden. Wenn Sie einen Fehler finden oder ein unbeabsichtigtes Verhalten entdecken, melden Sie ihn bitte hier als Problem, damit ich es beheben kann!
RNODE kann in zwei Modi betrieben, die hostkontrolliert (Standard) und TNC-Modus:
Wenn sich RNODE im Host-kontrollierten Modus befindet, bleibt es im Standby-Einsatz im Standby-Einsatz, bis der Host die Frequenz, die Bandbreite, die Übertragung von Strom und andere erforderliche Parameter angibt. Dieser Modus kann mit der Option -n dieses Dienstprogramms aktiviert werden. Im Host-kontrollierten Modus kann der Promiscuous-Modus aktiviert werden, um alle Lora-Frames zu schnüffeln.
Wenn sich RNODE im TNC -Modus befindet, konfiguriert es sich selbst im Powerup und aktiviert das Radio sofort. Dieser Modus kann durch die Verwendung der Option -t dieses Dienstprogramms aktiviert werden (das Dienstprogramm führt Sie durch die Einstellungen, wenn Sie sie nicht direkt angeben).
Sie können entweder über den On-Board-USB-Anschluss mit RNODE oder mit den seriellen Stiften auf der Platine (mit RX0 und TX0) kommunizieren. RNODE verwendet einen Standard -FTDI -USB -Chip und funktioniert also ohne zusätzliche Treiber in den meisten Betriebssystemen.
Alle Kommunikation zum und vom Board verwendet Kiss -Framing mit einem benutzerdefinierten Befehlssatz. RNODE verwendet auch keine HDLC -Ports im Befehlsbyte, und als solches verwendet die vollständigen 8 Bit des Befehlsbyte für den tatsächlichen Befehl. In der Tabelle unten finden Sie unterstützte Befehle.
| Befehl | Byte | Beschreibung |
|---|---|---|
| Datenrahmen | 0x00 | Ein Datenpaket zum oder vom Gerät |
| Frequenz | 0x01 | Setzt oder fragt die Frequenz ab |
| Bandbreite | 0x02 | Setzt oder fragt die Bandbreite ab |
| TX -Kraft | 0x03 | Setzt oder fragt die TX -Leistung ab |
| Verbreitungsfaktor | 0x04 | Setzt oder fragt den Ausbreitungsfaktor ab |
| Codierungsrate | 0x05 | Setzt oder fragt die Codierungsrate ab |
| Radiozustand | 0x06 | Sets oder Fragen zum Radiozustand |
| Radioschloss | 0x07 | Setzt oder fragt das Radioschloss ab |
| Geräteerkennung | 0x08 | Probebefehl zur Erkennung von Geräte |
| Promiskuitiv | 0x0e | Setzt oder Abfragen Promiscuous -Modus |
| RX -Statistiken | 0x21 | Anfragen erhalten Bytes |
| TX -Statistiken | 0x22 | Abfragen übertragene Bytes |
| Letzte RSSI | 0x23 | Zeigt RSSI des letzten Pakets an, das erhalten wurde |
| Blinken | 0x30 | Blinkt LEDs |
| Zufällig | 0x40 | Abfragen nach einer Zufallszahl |
| Firmware -Version | 0x50 | Abfragen für die installierte Firmware -Version |
| Rom lesen | 0x51 | Lesen Sie EEPROM BYTE |
| Rom schreiben | 0x52 | Schreiben Sie EEPROM BYTE |
| TNC -Modus | 0x53 | Aktiviert den TNC -Modus |
| Normaler Modus | 0x54 | Aktiviert den Host-kontrollierten Modus |
| Rom löre | 0x59 | Löscht EEPROM vollständig |
| Fehler | 0x90 | Zeigt einen Fehler an |
Schauen Sie sich im Ordner "Bibliotheken" an, um RNODE in Ihrer eigenen Software problemlos zu verwenden.
Hier ist ein Python -Beispiel:
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!" )RNODE kann in den LORA -Promiscuous -Modus eingebracht werden, wodurch rohe Lora -Rahmen in den Host abgeladen werden. RAW LORA -Rahmen können auch in diesem Modus gesendet werden und haben die Standard -LORA -Nutzlastgröße von 255 Bytes. So aktivieren Sie den promiscuous -Modus den Befehl "promiscuous" an das Board oder verwenden Sie eine der Programmierbibliotheken. Sie können auch das Beispielprogramm Loramon für einen einfach zu verwendenden Lora -Paket -Sniffer verwenden.