Hallo liebe Forumsteilnehmer, ich bin zur Zeit dabei, in die Mikrocontroller-Programmierung einzusteigen und experimentiere gerade mit LoRAWAN. Einige Sensor-Nodes auf Basis dieses Projektes habe ich gebaut (Version 2 und 3): https://www.attno.de/ Was mich dabei stört, ist die Verwendung des Arduino-Frameworks unter PlatformIO. Am liebsten würde ich ohne irgendwelche Frameworks nur mit dem avr-gcc arbeiten (Kommandozeile, makefiles, vim, etc.), weil ich das einfach so gewohnt bin. Die Version 3 des o.g. Projekts verwendet die Arduino-LMIC Bibliothek. Diese von den Arduino-Abhängigkeiten zu befreien, wäre nicht so viel Aufwand. Man müsste wahrscheinlich nur die HAL-Ebene "ent-arduinoisieren" und Balast rauswerfen. Meine Eckpunkte für eine Implementierung sind ungefähr: - LoRa-Modem RFM95W / SX1276 - ausschließliche Verwendung in Europa (868 MHz) - OTAA - LoRa Class B (Downlinks möglich, um Nodeeinstellungen ohne Neuprogrammierung zu ändern) Ich habe von früheren Versuchen mit MCUs noch diverse China Arduino pro mini 3,3V Boards, die ich gerne endlich mal verwenden würde. Die offiziellen Library-Implementierungen von Semtech zielen eher auf ARM MCUs ab und sind für die atmega328p Liga einfach zu riesig. Für Tipps, wie ich Eurer Meinung nach vorgehen könnte, wäre ich dankbar. Oder übersehe ich was Grundlegendes? Ach ja, Programmiererfahrung ist durchaus vorhanden. Ich habe 20 Jahre in der C/C++ Softwareentwicklung gearbeitet, allerdings im Anwendungsbereich. Danke und viele Grüße, Ulrich
Ulrich K. schrieb: > Am liebsten würde ich ohne irgendwelche Frameworks nur mit > dem avr-gcc arbeiten (Kommandozeile, makefiles, vim, etc.), weil ich das > einfach so gewohnt bin. Dann mach das doch einfach. Vielleicht kannst du dich ja mit ihm hier zusammentun: Beitrag "Problem mit I2C bei atmega328p (arduino uno)" Oliver
Ich denke, mach eine Haken dran. Wenn du das willst: Ulrich K. schrieb: > - OTAA > - LoRa Class B (Downlinks möglich, um Nodeeinstellungen ohne > Neuprogrammierung zu ändern) kommst du um lmic nicht drum herum. Es gibt praktisch keine andere Implementierung, nur einen Sack voll Forks des ursprünglichen IMB Codes. Aktuell verwendet wohl alle Welt dafür: https://github.com/mcci-catena/arduino-lmic Allerding ist die Arduino-Schicht recht dünn. Ich hab das mal für ein STM32L151 Board von Arduino befreit. https://heltec.org/project/lora-node-151/ Das komplette Program ohne sinnvollen Usercode belegt 25k Flash im Releasemode. Mit Debug Infos sind es schon 46k. Das ganze ist ohne weitere LIB und ohne STM Hal gebaut. Viel kleiner geht es somit nicht. Natürlich kann ich dir nicht sagen was da bei AVR für Codegrößen entstehen. Wenn du es anpassen willst, ist eigentlich nur die lmic_hal.c nötig. Und genügend Durchhaltevermögen. Ohne Debugger würde ich das nicht machen, aber das muss jeder für sich entscheiden. Wenn du dich reduzierst und ABT statt OTAA verwendest und auf die Downlinks verzichtest gibt es Alternativen: https://github.com/ClemensRiederer/TinyLoRa-BME280 Auf der Anderen Seite muss auch die Frage nach erreichbaren Gateway gestellt werde. Wenn es da auch knapp wird, dann ist es besser nur Lora ohne WAN zu verwenden. Das vereinfacht die Sache (auch bidirektional) deutlich.
Willst du LoRaWAN (also mit der internet-basierten Infrastruktur) nutzen oder nur LoRa (Kommunikation per Funk direkt von device zu device)?
temp schrieb: > Ich denke, mach eine Haken dran. Wenn du das willst: >> - OTAA >> - LoRa Class B (Downlinks möglich, um Nodeeinstellungen ohne >> Neuprogrammierung zu ändern)> > kommst du um lmic nicht drum herum. Den Verdacht hatte ich auch schon. Ich denke, ich versuche mal mein Glück und ersetze den Arduino-Code durch nativen Code. > Natürlich kann ich dir nicht sagen was da bei AVR für Codegrößen > entstehen. Werde ich (im Erfolgsfall) berichten. > Ohne Debugger würde ich das > nicht machen, aber das muss jeder für sich entscheiden. Habe ich nicht vor. Ich habe mir vor Jahren mal einen Atmel ICE gekauft. Dann werde ich mich dieses Mal von meiner spartanischen Methode verabschieden und das MPLAB X verwenden. > Wenn du dich reduzierst und ABT statt OTAA verwendest und auf die > Downlinks verzichtest gibt es Alternativen: > https://github.com/ClemensRiederer/TinyLoRa-BME280 Ja, ohne OTAA gibt es einiges. Auch z.B. den in meinem Ursprungspost genannten LoRa-Node. Davon habe ich schon einige am Laufen. > Auf der Anderen Seite muss auch die Frage nach erreichbaren Gateway > gestellt werde. Die Frage ist beantwortet. Ich habe ein eigenes und versorge damit auch die Umgebung ganz gut mit, wie ein Blick ins Transfer-Log zeigt. Das Gateway hängt am TTN bzw. TTS, wie es jetzt heißt.
Heinz schrieb: > Willst du LoRaWAN (also mit der internet-basierten Infrastruktur) > nutzen > oder nur LoRa (Kommunikation per Funk direkt von device zu device)? Ich nutze LoRaWAN mit einem eigenen Gateway über TTN / TTS. Einige selbstgebaute und auch gekaufte Nodes habe ich schon einige Zeit am Laufen. Die Eigenbau-Nodes nutzen alle ABP und ich wollte jetzt auf OTAA umsteigen und dafür meine atmega328p verwenden.
Darf ich fragen was für ein Gateway das ist? Hängt das auch schon am V3 Stack?
temp schrieb: > Darf ich fragen was für ein Gateway das ist? Hängt das auch schon > am V3 > Stack? Es ist das TTN Indoor Gateway. Und TTS v3 geht damit ja leider noch nicht, weil sich die Firmware fix mit dem TTN v2 verbindet, wenn ich das richtig verstanden habe. Ein Update wird wohl nicht nur von mir dringend erwartet. Nebenbei bin ich von der Reichweite echt überrascht. Ich bin hier in der dicht bebauten Stadt mit meinem Selbstbau-Node mit einfacher kurzer Drahtwendelantenne ziemlich weit gelaufen, bis nichts mehr durchkam. LoRa ist echt eine tolle Technik.
Ulrich K. schrieb: > Es ist das TTN Indoor Gateway Zumindestens eins mit 8 Kanälen. Wenn man lmci an einem 1 Kanal Gateway betreiben will, muss man den zu erst mal abgewöhnen nach dem JOIN den Frequenzplan einzuarbeiten, damit nicht 80% der Pakete sinnlos in die Luft gepustet werden. Ich hab mir mein Gateway aus Raspi und ic880 gebaut. Das läuft aktuell noch unter V2. V3 mit Basicstation habe ich mal probiert um zu testen ob es überhaupt machbar ist, aktuell aber wieder verworfen. Ich habe den Eindruck, dass die Worte bei TTN und V3 schneller kommen als die Taten. Vieles in der V3 Console ist noch nicht da wo die V2 ist. Obwohl ich das Gateway habe benutze ich es real aber noch nicht. Da reicht mir Lora ohne WAN vollständig aus. Einen deutlichen Mehrwert würde es nur geben, wenn die Region besser vernetzt ist. Aktuell bin ich auf ca. 1000km² mit noch einem Gateway sehr alleine. Mal sehen was die Zukunft bringt.
temp schrieb: > Ich habe den > Eindruck, dass die Worte bei TTN und V3 schneller kommen als die Taten. > Vieles in der V3 Console ist noch nicht da wo die V2 ist. Den Eindruck habe ich auch. Im Moment geht es irgendwie ziemlich durcheinander. Ich habe meine Nodes inzwischen auf V3 umgezogen, nur das Gateway läuft halt noch auf V2. Die Pakete werden über den Broker in den neuen Stack weitergeleitet. Die Doku finde ich ein bisschen, na ja, sagen wir mal, unstrukturiert. Andererseits stellt TTN kostenlos eine leistungsfähige Infrastruktur zur Verfügung, da muss man vielleicht einfach Geduld haben. Was mir an der V3 Konsole gut gefällt, ist die Möglichkeit, pro Device einen eigenen Payload-Decoder zu definieren. Das ging unter V2 nur pro Anwendung. So kann man sich die ganzen Fallunterscheidungen sparen. > Einen deutlichen Mehrwert > würde es nur geben, wenn die Region besser vernetzt ist. Aktuell bin ich > auf ca. 1000km² mit noch einem Gateway sehr alleine. Mal sehen was die > Zukunft bringt. Ich ziehe evtl. demnächst auch raus aus der Stadt. Ob die Abdeckung am künftigen Wohnort auch so dünn ist wie bei Dir, weiss ich im Moment nicht. Aber ich denke, ich werde ein dickeres Outdoor-Gateway installieren. Dann bin ich halt der Erste in der Region.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.