WARNUNG: Beim Anschließen eines Solarpanels oder einer Batterie sollte die Polarität der Stifte wie folgt sein:

WARNUNG: Wenn der Ladungscontroller für eine Li-Ionen-Batterie benötigt wird, muss der Batteriespringer angeschlossen werden:

Die Arduino -IDE kann zum Hochladen von Software über den Micro -USB -Anschluss verwendet werden. Bevor es verwendet werden kann, muss die IDE konfiguriert werden. Das erste ist, das Board über Board Manager zu installieren.
Gehen Sie zu Datei -> Einstellungen. Fügen Sie den folgenden Link zu zusätzlichen URLs des Board Manager hinzu: https://github.com/skylabiot/loraedge_basictracking/raw/master/package_skylab_index.json.
Das Board -Paket kann über Tools -> Board -> Boards Manager ... durch die Suche nach Skylab heruntergeladen werden.
Wählen Sie die Karte über Tools -> Board -> Skylab Boards -> Skylab Lora Edge.
Die Beispielskizze kann über Datei geladen werden -> Beispiele -> Skylab Lora Edge -> Basicloraa.
Die Basicloraa -Skizzenabhängigkeiten sind:
Arduino SAMD21 Low Power Library: https://www.arduino.cc/en/reference/arduinolowpower
Arduino RTC Library: https://www.arduino.cc/en/reference/rtc
Adafruit bme280 bibliothek: https://github.com/adafruit/adafruit_bme280_library
Adafruit LMS303 Accelerometer -Bibliothek: https://github.com/adafruit/adafruit_lsm303_accel
FlashStorage Library von Cmaglie: https://github.com/cmaglie/flashstorage
Nach dem Hochladen des Modus kann ein serieller Monitor mit einer Baud -Rate von 9600 geöffnet werden. Das System beginnt mit der Anzeige der konfigurierten dev_eui, join_eui und app_key (msb zuerst). Der dev_eui wird vom LR1110 -Chip angefordert und ist für diesen speziellen Chip einzigartig. Dieser Schlüssel sollte in der Konsole des gebrauchten Netzwerks verwendet werden. Der Join_EUI und App_Key sind im Code konfiguriert und sollten für die richtigen Schlüssel geändert werden, die von der verwendeten Netzwerkkonsole angegeben sind. Wenn das Gerät korrekt konfiguriert wird, verbindet sich automatisch.
Senden Sie eine 0x01, um ein Wi-Fi- und GNSS-Scan-Nutzlast anzufordern (Antwort ist auf Port 2 und 3).
Senden Sie eine 0x02, um die aktuelle Konfiguration anzufordern (Antwort ist auf Port 44).
Senden Sie eine 0x03, um die aktuelle Batteriespannung anzufordern (Antwort ist auf Port 10).
Das Konfigurations -Downlink -Format sollte wie folgt sein:
| 0 | 1-2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|
| LED | Intervall | Leuchtfeuer | W-lan | GNSS | Bewegungsaktivierung / Zeit | Bewegungsintervalldauer | Bewegungssensor -Schwellenwertregister | Bewegungssensordauerregister |
Byte 0: LED Dieses Byte konfiguriert die Status -LED.
Byte 1 und 2: Intervall Diese 2 Bytes konfigurieren die Standardintervallzeit zwischen den Nachrichtenzeiten in Minuten. Das auf 0 gesetzte Intervall wird die aktuelle Einstellung beibehalten und legt keine neue Intervallzeit fest. Die maximale Zeit beträgt 65535 Minuten.
Byte 3: Beacon Dieses Byte konfiguriert die Zeit, die de Beacon eingeschaltet ist. Die Zeit ist in Minuten. Die maximale Zeit beträgt 255 Minuten. Bei 0 wird das Leuchtfeuer nicht eingeschaltet.
Byte 4: Wi-Fi Dieses Byte schaltet die Wi-Fi-Nutzlast ein oder aus.
BYTE 5: GNSS Dieses Byte schaltet die GNSS -Nutzlast ein oder aus.
Byte 6: Bewegungsaktivierung / Zeit Dieses Byte legt das Send -Intervall fest, wenn eine Bewegung erkannt wird. Die Zeit ist in wenigen Minuten mit maximal 255. Wenn der Interrupt auf 0 Bewegungserkennung eingestellt ist.
BYTE 7: Bewegungsintervalldauer Dieses Byte legt die Dauer fest, die das System nach der letzten Bewegungserkennung verwendet. Die Zeit ist in wenigen Minuten mit maximal 255. Wenn auf 0 eingestellt ist, wird dieses Byte ignoriert (aktuelle Einstellungen werden verwendet).
BYTE 8: Motion Sensor Schwellenregister Dieses Byte legt das Motion Sensor -Schwellenwertregister fest. Wenn Byte 7 auf 0 eingestellt ist, wird dieses Byte ignoriert (aktuelle Einstellungen werden verwendet).
Byte 9: Bewegungssensor -Register Dieses Byte legt das Dauerregister der Bewegungssensor fest. Wenn Byte 7 auf 0 eingestellt ist, wird dieses Byte ignoriert (aktuelle Einstellungen werden verwendet).
Das System bestätigt den Downlink, indem die festgelegte Konfiguration in einem Uplink auf Port 44 im selben Format wie der Downlink gesendet wird.
LED auf, Intervall in 5 Minuten, kein Leuchtfeuer, Wi-Fi und GNSS-Nutzlast, Bewegungserkennung aus:
01 00 05 00 01 01 00 00 00 00
LED OFF, Intervall 600 Minuten, kein Leuchtfeuer, Wi-Fi-Nutzlast, GNSS-Nutzlast aus, Bewegungserkennung aus:
00 15 36 00 01 00 00 00 00 00 00
Halten Sie die aktuelle LED- und Intervalleinstellung, kein Leuchtfeuer, Wi-Fi-Nutzlast, GNSS-Nutzlast eingeschaltet, Bewegungserkennung aus:
02 00 00 00 00 01 00 00 00 00
Schalten Sie das Leuchtfeuer für 5 Minuten ein, die Bewegungserkennung aus, behalten Sie alle anderen aktuellen Einstellungen auf:
02 00 00 05 02 02 00 00 00 00
Halten Sie die aktuelle LED- und Intervalleinstellung, kein Leuchtfeuer, Wi-Fi-Nutzlast, GNSS-Nutzlast aus, Bewegungserkennung mit 1 Minute Sendenintervall, Bewegungsintervall für 4 Minuten nach dem letzten Antrag, Bewegungsschwellenregister auf 7, Bewegungsdauerregister auf 3:
02 00 00 00 01 00 01 04 07 03
Der Modus Eine Beispielskizze kann 4 Arten von Nutzlast senden. Diese Nutzlasttypen sind durch die verwendete Portnummer identifizierbar. Auf dieser GitHub -Seite (exampledeCodertn.js) finden Sie ein Beispiel für TTN -Decoder -Skript.
Dies ist die Wi-Fi- und Sensor-Nutzlast. Diese Nutzlast enthält die Informationen von 3 Wi-Fi-Punkten und den Sensordaten. Das Format lautet wie folgt:
| 0 | 1-6 | 7 | 8-13 | 14 | 15-20 | 21 | 22-23 | 24-25 | 26 | 27 |
|---|---|---|---|---|---|---|---|---|---|---|
| RSSI 1 | MAC 1 | RSSI 2 | MAC 2 | RSSI 3 | MAC 3 | Batteriespannung | Temperatur | Druck | Luftfeuchtigkeit | Bewegungsaktivierung |
Byte 0, 7 und 14: Wi-Fi RSSI
Diese Bytes haben die RSSI / Signalstärke der gescannten Wi-Fi-Punkte. Diese Werte müssen als signierte Ganzzahlen interpretiert werden.
Byte 1 bis 6, 8 bis 13 und 15 bis 20: Wi-Fi Mac
Diese Bytes haben die MAC-Adressen der gescannten Wi-Fi-Punkte.
Byte 21: Batteriespannung
Dieses Byte hat den Rohbatteriespannungswert. Die genaue Spannung kann berechnet werden mit: Spannung = (float) ((3,3 / 255) * ((4,7 + 10) / 10) * (Batteriespannung));
Byte 22 bis 23: Temperatur
Diese Bytes haben den Temperaturwert. Die genaue Temperatur in Grad Celsius (° C) kann berechnet werden mit: Temperatur = (Float) (Temperatur / 100);
Byte 24 bis 25: Druck
Diese Bytes haben den Luftdruckwert. Der genaue Druck in Grad Hector Pascal (HPA) kann berechnet werden mit: Luftdruck = (Float) (Druck / 10);
Byte 26: Luftfeuchtigkeit
Dieses Byte hat den Luftfeuchtigkeitswert in %.
Byte 27: Bewegungsaktivierung
Dieses Byte zeigt 0 im normalen Intervall. Wenn im Bewegungsintervall dieses Byte die Anzahl der Minuten im Bewegungsintervall liefert.
Dies ist die GNSS -Nutzlast. Diese Nutzlast hat nur die RAW -GNSS -Daten und hat eine variable Größe.
Diese Nutzlast wird als "Ich bin wach" verwendet. Standardmäßig wird es alle 24 Stunden eingestellt. Dies kann geändert werden, indem der Wert „Controlime“ geändert wird. Das Format lautet wie folgt:
Byte 0: Batteriespannung
Dieses Byte hat den Rohbatteriespannungswert. Die genaue Spannung kann berechnet werden mit: Spannung = (float) ((3,3 / 255) * ((4,7 + 10) / 10) * (Batteriespannung));
Der LR1110 sendet eine automatisierte Nachricht beim Beitritt und alle 24 Stunden danach. Diese Nachricht kann ignoriert werden.
Wenn die Beacon -Einstellung auf 1 eingestellt ist, wird das Beacon aktiviert. Das Gerät verlässt das Netzwerk und sendet jede Sekunde eine zufällige LORA -Nutzlast auf der 869800000 Hz -Frequenz (außerhalb der offiziellen Lora -Frequenz). Die grüne LED wird eingeschaltet, wenn die LED -Aktivierung auf 1. Eingestellt ist. Das Leuchtfeuer hört auf, wenn die festgelegte Zeit erreicht ist. Das System wird wieder in das Netzwerk angeschlossen und wie zuvor arbeiten.
| UC Pin | Brettnadel | Name in Arduino IDE |
|---|---|---|
| PA02 | A0 | A0, DAC0 |
| PA05 | AIN5 (Batterie) | Ain5 |
| PA06 | D0 | D0 |
| PA07 | D8 | D8 |
| PA08 | D3 | D3 |
| PA09 | D4 | D4 |
| Pa10 | Beschäftigt (LR1110) | BESCHÄFTIGT |
| Pa11 | Ereignis (LR1110) | EREIGNIS |
| PA14 | Nreset (LR1110) | Nreset |
| PA15 | Rot geführt | LEDR |
| PA16 | Mosi | Mosi |
| PA17 | Sck | Sck |
| PA18 | NSS (LR1110) | NSS |
| PA19 | Miso | Miso |
| PA20 | INT2 (LSM303AGR) | Int2 |
| PA21 | INT1 (LSM303AGR) | Int1 |
| PA22 | SDA | SDA |
| PA23 | Scl | Scl |
| PA24 | D- (USB) | Pin_usb_dm |
| PA25 | D+ (USB) | Pin_usb_dp |
| PA27 | PA27 (PAD) | PA27 |
| PA28 | PA28 (PAD) | PA28 |
| PA30 | SWDCLK/TCK (Debug -Stifte) | - - |
| PA31 | SWDIO/TMS (Debug -Stifte) | - - |
| PB02 | PB02 (PAD) | PB02 |
| PB03 | PB03 (PAD) | PB03 |
| PB08 | LNA (GNSS) | Lna |
| PB09 | INT3 (LSM303AGR) | Int3 |
| PB10 | Geführt grün | Ledg |
| PB11 | LED blau | Ledb |
| PB22 | Tx | Pin_serial_tx |
| PB23 | Rx | Pin_serial_rx |
| Version | Änderungen |
|---|---|
| 1.0 | Erste Veröffentlichung. |
| 1.2 | Unterstützung für mehr Konfiguration über Downlink, Sensorintegration in Wi-Fi-Nutzlast und Radio-Beacon. |
| 1.3 | Änderungen für die Basicloraa -Skizze: Downlink geändert, um weniger Bytes zu nehmen. Beheben Sie ein Problem mit der Batterie -Draining, wenn keine LORA -Abdeckung vorliegt. Unterstützung für die Bewegungserkennung hinzugefügt, aktiviert durch Einstellen der Bewegungsaktivierung auf 1. |
| 1.3.1 | Problem mit dem Join -Problem nach einem fehlgeschlagenen Join bei Basicloraa -Skizze. |
| 1.4 | Aktualisiert Port 2 Uplink (Byte 27). Aktualisiertes Downlink -Format, einschließlich Beispiele. Downlink Adcural uplink hinzugefügt. Fähigkeit, Einstellungen in EEPROM zu speichern, damit sie beim Neustart nicht zurückgesetzt werden. |
| 1.4.1 | Dateireinigung. |
| 1.5 | Lila LED schaltet sich ein, wenn Sie versuchen, sich anzuschließen. Fix für fehlende Wi-Fi-Nutzlastfehler. Unterstützung für die ALC -Synchronisierung für die zukünftige Verwendung. Code machte durch Hinzufügen von Kommentaren lesbarer. |
| 1.5.1 | Gepolsterte EUI / Tasten mit Nullen auf Serienmonitor zum einfacheren Kopieren. Lorawan, Firmware und Bootloader -Versionen drucken jetzt in Hex auf Serienmonitor. |
| 1.5.2 | Behoben, dass nach dem Start und nach der ersten Bewegungserkennung nicht die erste Nutzlast gesendet wird. |
| 1.5.3 | Downlink -Funktion hinzugefügt, um Einstellungen anzufordern. Fehler in Bewegungsintervall -Timer behoben. |
| 1.5.4 | Der festgelegte Intervallwert nicht immer korrekt nach dem Neustart laden. |