[RPi MQTT] Config bestand modificatie RPi node via MQTT

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • sayang1991
  • Registratie: Maart 2012
  • Niet online
Beste,

Een hele tijd geleden heb ik hier al eens een vraag gesteld m.b.t. een correcte programma structuur voor een applicatie waar ik (als prestige project) voor mijn werk aan bezig was https://gathering.tweakers.net/forum/list_messages/1626551.
Deze applicatie is nu dusdanig ver ontwikkeld dat het tijd is voor de volgende stap namelijk het aanpassen van lokale configuratiebestanden via een IOT protocol.

Het huidige programma (C) draait lokaal in een docker container en meet hierbij verschillende ttyUSB sensoren uit. Dit alles word momenteel opgeslagen in een SQLite3 database en periodiek gesynchroniseerd met een server (extern bedrijf met eigen software). Als identificatie word voor elke raspberry een unieke (hardware) code meegestuurd.

Nu is het momenteel zo dat voor enkele plaatsingen de instellingen aangepast moeten worden. Hiervoor word via een SSH-tunnel het configuratiebestand (config.cfg) aangepast, erg handig is dit uiteraard niet en al helemaal niet schaalbaar.

Mijn gedachte gaat nu uit om met behulp van een IOT protocol dit bestand aan te passen, het zou hierbij ideaal zijn als ik hiermee ook een commando kan geven om software updates uit te voeren.

Nu is mijn oog gevallen op MQTT maar is dit protocol hiervoor geschikt? Ook als er geschaald moet gaan worden naar 1000 nodes? Zijn er bekende problemen met MQTT draaien in een docker container? Of zijn er betere alternatieven voor wat ik in gedachten heb?

Als ik met mijn vraag hier totaal verkeerd zit en/of er gewoon meer tijd in moet stoppen hoor ik dit uiteraard ook graag O-) mijn ervaring met IOT protocollen is namelijk nog niet dusdanig groot op het moment.

Alle reacties


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
MQTT is eigenlijk een tag+value gebaseerd concept, waarbij die items ook best goed zou kunnen mappen naar instellingen : je moet dan wel je nodes laten abonneren op de tags die in dit geval door iemand anders (ik neem aan een centrale administratie) worden geschreven.

Ik zou zeggen, zet eventjes een testje op en kijk of het voldoet aan je eisen.

[edit]
Hier iemand die MQTT gebruikt voor z'n firmware updates : https://groups.google.com/forum/#!topic/mqtt/13wVznoXj3A

[ Voor 15% gewijzigd door farlane op 08-05-2017 12:06 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • Mercatres
  • Registratie: September 2009
  • Laatst online: 09-10 10:43
Als ik je goed begrijp heb je dus een docker container die een configuratie bestand heeft, en die die moet kunnen updaten? Dan kan je toch gewoon met een simpele HTTP call doen? Webservertje opzetten met daarop een API die adhv de machinecode de config file update? Zo heb je op één plaats de locatie van al je configs.
MQTT is interessant als je op een regelmatige basis kleine datasets wilt doorsturen.

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
Mercatres schreef op dinsdag 9 mei 2017 @ 22:55:
Als ik je goed begrijp heb je dus een docker container die een configuratie bestand heeft, en die die moet kunnen updaten? Dan kan je toch gewoon met een simpele HTTP call doen? Webservertje opzetten met daarop een API die adhv de machinecode de config file update? Zo heb je op één plaats de locatie van al je configs.
MQTT is interessant als je op een regelmatige basis kleine datasets wilt doorsturen.
Ik was er eigenlijk vanuit gegaan dat het om instellingen/firmware updates van de sensoren gaat, maar nu ik jouw reactie lees ben ik er niet meer zo zeker van.

@sayang1991 Vertel! :P

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • sayang1991
  • Registratie: Maart 2012
  • Niet online
Het klopt dat de docker container een configuratie bestand op de disk heeft staan en juist dit bestand willen wij kunnen aanpassen mocht het nodig zijn. De firmware van de sensoren zelf kan geen update krijgen met de huidige setup (Hier is andere bekabeling voor nodig). De updates waar het om gaat zijn met name security updates van linux zelf maar ook aanpassingen aan onze docker (en de docker container van het externe bedrijf).

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
sayang1991 schreef op woensdag 10 mei 2017 @ 09:07:
Het klopt dat de docker container een configuratie bestand op de disk heeft staan en juist dit bestand willen wij kunnen aanpassen mocht het nodig zijn.
Hmmokay, dan zat ik helemaal mis. Dat is nou bij uitstek iets waar ik MQTT *niet* voor zou gebruiken. :P

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1