TheThingsNetwork device info

Hallo Zusammen
ich möchte mit Arduino UNO und einem Dragino LoRa Shield - 868MHz v1.4 (Dragino LoRa Shield - 868MHz v1.4 - Arduino - Bastelgarage Elektronik Online Shop) Daten an das TTN senden. Doch leider scheitere ich schon mit den Beispiel Sketch. Ich bekomme immer folgende Fehlermeldung:

Arduino: 1.8.8 (Mac OS X), Board: “Arduino/Genuino Uno”
DeviceInfo:3:20: error: ‘Serial1’ was not declared in this scope

ich habe an dem Sketch noch nichts verändert und es sieht genau so aus wie in dem lernvideon von TTN.

kann mir jemand sagen, was ich da machen muss? Hier noch der Sketch:

#include <TheThingsNetwork.h>

#define loraSerial Serial1
#define debugSerial Serial

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan REPLACE_ME

TheThingsNetwork ttn(loraSerial, debugSerial, freqPlan);

void setup()
{
  loraSerial.begin(57600);
  debugSerial.begin(9600);
}

void loop()
{
  debugSerial.println("Device Information");
  debugSerial.println();
  ttn.showStatus();
  debugSerial.println();
  debugSerial.println("Use the EUI to register the device for OTAA");
  debugSerial.println("-------------------------------------------");
  debugSerial.println();

  delay(10000);
}

Ich danke euch für eure Hilfe.

Gruss SuterB

Der Uno hat kein Serial1. Du könntest es mit SoftwareSerial versuchen.

Gruß Tommy

Wie Tommy schon schrieb - Serial1 gibts nicht am UNO.

Bitte mach einen link auf die library!
woher ist der "Beispiel-Sketch"?

< Der Uno hat kein Serial1. Du könntest es mit SoftwareSerial versuchen.

Das ist ja blöde mit dem fehlenden Serial. Wie kann ich das software seidig lösen. Kennt ihr eine gute Anleitung dafür?

< Bitte mach einen link auf die library!
< woher ist der “Beispiel-Sketch”?

Es gibt einen The Things Uno. Da habe ich mich durch die Anleitung geklickt:

Info Seite

Video dazu:

Die Library findet man im Arduino IDE → Werkzeuge → Bibliotheken verwalten … → Suchen “TheThingsNetwork”

oder auch unter GitHub - TheThingsNetwork/arduino-device-lib: Arduino Library for TTN Devices

Der Sketch ist ein Beispiel-Sketch aus der library.

Danke für eure Hilfe.

Gruss SuterB

Hi

The Things Uno is based on the Arduino Leonardo (not the Arduino Uno) with an added Microchip LoRaWAN module. It is fully compatible with the Arduino IDE and existing shields.

Denke, der Arduino Leonardo wird eine Serial1 beherbergen - hier ist die Namensgebung wohl etwas unglücklich - aber ok.

Du suchst Dir eine Lib, Die Dir eine Soft-Serial-Schnittstelle liefert.
Die kannst Du wie die Hardware-Serial benutzen, solltest aber halt mit der Geschwindigkeit 'auf den Füßen' bleiben - 9600 Baud ist überhaupt kein Problem, ein GPS-Modul lese ich hier auch mit 38400 fehlerfrei aus (ok, das Modul ist defekt, sendet Seinen Quatsch aber mit 38400 - Das kann ich fehlerfrei empfangen, ist lesbarer Text).

MfG

Der Leonardo hat eine Seriale1 und das sind die Pins 0 und 1.

Danke für eure Rückmeldungen. Ich mach es mir einfach und habe einen Arduino Leonardo bestellt. Würde mich wieder melden, wenn es mit dem auch nicht geht.

Gruss SuterB

Hallo Zusammen

FRUST. Hab extra einen Arduino Leonardo gekauft der nun Serial1 hat und trotzdem funktioniert nix. Schon wieder 3h und nichts erreicht. Dabei arbeite ich mit den Beispiel Sketch von TheThingsNetwork. Das kann doch nich so schwer sein. Die richtigen Schlüssel geben sie einem als Code ja sogar vor, die muss man nur noch kopieren und einfügen:

const char *devAddr = "2 ..... 1DD";
const char *nwkSKey = "3852C ................... 8C7";
const char *appSKey = "25283 .................. 8037E";

Mit dem Sketch vom ersten Beitrag sollte eigentlich die Device Informationen abgefragt werden. Hier noch mals das Sketch:

#include <TheThingsNetwork.h>

#define loraSerial Serial1
#define debugSerial Serial

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan REPLACE_ME

TheThingsNetwork ttn(loraSerial, debugSerial, freqPlan);

void setup()
{
  loraSerial.begin(57600);
  debugSerial.begin(9600);
}

void loop()
{
  debugSerial.println("Device Information");
  debugSerial.println();
  ttn.showStatus();
  debugSerial.println();
  debugSerial.println("Use the EUI to register the device for OTAA");
  debugSerial.println("-------------------------------------------");
  debugSerial.println();

  delay(10000);
}

doch wenn ich das Sketch laufen lasse bekomme ich im Seriellen Monitor bloß diese Meldung:

loraSerial.begin(57600) und debugSerial.begin(9600) zeigen beide folgendes an:

EUI: sys get hweui
Battery: sys get vdd
AppEUI: mac get appeui
DevEUI: mac get deveui
Data Rate: mac get 
RX Delay 1: mac get rxdelay
RX Delay 2: mac get rxdelay2

Use the EUI to register the device for OTAA
-------------------------------------------

Sollte ich da nicht eine EUI Nummer bekommen, die ich dann für die Registrierung des Device nutzen kann?

Hat jemand von euch eine Ahnung was schief läuft?

Danke für die Hilfe

SuterB

Könnte es sein, dass die Jumper auf dem LoRa Shield nicht richtig gesetzt sind?
Dragion LoRa Shield - 868MHz v1.4 - Arduino

Hast du das mal beachtet und geändert?

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan REPLACE_ME

Nein habe ich noch nicht. Habe keine Ahnung, was sie für Bedeutung haben. Es gibt ja einige Möglichkeiten.

Hi

Naja, bei bis jetzt gezeigten zwei Möglichkeiten, könnte Versuch Kluch machen.
Mehr als jetzt, also nicht funktionieren, wird wohl nicht passieren.

MfG

suterb:
Nein habe ich noch nicht. Habe keine Ahnung, was sie für Bedeutung haben. Es gibt ja einige Möglichkeiten.

Ich finde den Kommentar (hier die beiden Optionen mal genau anschauen) und den Namen der Variablen freqPlan eigentlich ziemlich selbsterklärend.

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan REPLACE_M

Die Variable bedeutet Frequenzplan und wird laut Kommentar zwischen EU und USA unterschieden, somit wählst du 868 MHz für die EU und 915 MHz für die USA.

Zumindest sagen mir das die 2 Zeilen Code, ich kann es aber selber nicht testen.

Oh sorry, meine Antwort von vorhin bezog sich auf die Jumper.

Die Frequenz hatte ich noch nicht gewechselt, da das Replace_Me selbsterklärend ist.

suterb:
Oh sorry, meine Antwort von vorhin bezog sich auf die Jumper.

Die Frequenz hatte ich noch nicht gewechselt, da das Replace_Me selbsterklärend ist.

Das erklärt auch meine Fragezeichen über dem Kopf... :wink: Aber wenn ich das recht verstehe hast du den Standardwert auf Replace_Me gelassen, wird dann überhaupt eine Frequenz gesetzt und wenn ja welche?

Das ganze LoRa-Thema ist mir noch etwas zu hoch, daher bin ich hier besser raus, bevor ich noch unsinnige Lösungsvorschläge gebe. :wink:

wapjoe:
Aber wenn ich das recht verstehe hast du den Standardwert auf Replace_Me gelassen, wird dann überhaupt eine Frequenz gesetzt und wenn ja welche?

den Wert habe ich für Europa angepasst.

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan REPLACE_ME

becomes

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan TTN_FP_EU868

for germany