Author Topic: Community Projekt: Sensor Datafeeds in MQTT  (Read 21965 times)

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Community Projekt: Sensor Datafeeds in MQTT
« on: June 12, 2017, 10:28:55 AM »
Hallo zusammen,

Thomas und ich unterhalten uns schon länger über die Idee, Sensormesswerte, speziell Umweltmesswerte wie Temperatur, Feuchtigkeit, Lichteinstrahlung aber auch Feinstaub oder Hintergrundstrahlung u.s.w.u.s.f. in einen Mosquitto Server zu publizieren, geordnet nach Lokation und Messwert-/Sensor-Art.

Jeder der Daten beisteuert, soll auf die Daten der anderen Teilnehmer zugreifen können. Sprich, ich speise z.B. Temperatur aus Lupsingen ein und kann dafür auf die publizierten Messwerte der anderen zugreifen, diese speichern, vergleichen, auswerten, auf eine Karte zeichnen etc.

Darum hier mal die Frage ob das auch andere interessant finden und ggf. auch Sensorwerte beisteuern würden.

Grüsse - Christoph

dinoi

  • freakyfriday
  • Sr. Member
  • *
  • Posts: 441
  • Karma: +7/-0
    • Dinoi
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #1 on: June 12, 2017, 11:03:55 PM »
Hallo Christoph,

ja da mache ich gerne mit. Ich habe dieses Jahr keine Balkon Tomaten und daher sind meine Sensoren zur Zeit arbeitslos  8)

Gruss Reto

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #2 on: June 13, 2017, 09:32:38 AM »
Salut Christoph,

bin auch gerne dabei - welche Messwerte sind denn so gefragt? Ich denke, ich kann Temperatur, Luftdruck, Helligkeit und Strahlung (Geigerzähler unweit von Fessenheim) bieten.
Willst Du die Messwerte auch mit einer Messqualität versehen?
Ich wäre auch sehr an den MQTT Details interessiert.

Ciao, Mathias

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #3 on: July 25, 2017, 04:30:39 PM »
Hallo zusammen,

Entschuldigt, dass ich mich erst jetzt wieder melde. Wenn noch Interesse besteht, bereite ich am kommenden Wochenende einen VPS für den Zweck vor.
Wenn sich jemand für das Installieren und konfigurieren des Mosquitto Servers interessiert, bitte vorher melden, dann können wir das auch gemeinsam machen.

Grüsse - Christoph

arduinopraxis

  • freakyfriday
  • Hero Member
  • *
  • Posts: 553
  • Karma: +11/-0
  • Arduino Praxiseinstieg (4.Auflage)
    • Arduino Praxiseinstieg, 4. Auflage
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #4 on: July 25, 2017, 09:45:36 PM »
Hallo Christoph,

ich bin natürlich dabei  :)

Gruss
Thomas

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #5 on: July 26, 2017, 12:32:27 PM »
Hi Thomas,

Freut mich! Ich habe Donnerstag abend die letzten Migrationen, dann mach ich das alles aufs Wochenende bereit.
Wie sollen wir den Host nennen ? Da wir ja internationale Beteiligung haben  ;) könnten wir irgendwas aus unserer Domain boxtec.eu nehmen.

Grüsse - Christoph

P.S.: Interessehalber: Wer von Euch kriegt von seinem Provider bereits parallel IPv6 Adressen?

arduinopraxis

  • freakyfriday
  • Hero Member
  • *
  • Posts: 553
  • Karma: +11/-0
  • Arduino Praxiseinstieg (4.Auflage)
    • Arduino Praxiseinstieg, 4. Auflage
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #6 on: July 26, 2017, 08:07:25 PM »
Hallo Christoph,

ich schlage folgende Hosts vor:

sensors.boxtec.eu
weatherboard.boxtec.eu
weather.boxtec.eu

Ich mache mir in den nächsten Tagen Gedanken über die Struktur der Daten.

Gruss
Thomas

arduinopraxis

  • freakyfriday
  • Hero Member
  • *
  • Posts: 553
  • Karma: +11/-0
  • Arduino Praxiseinstieg (4.Auflage)
    • Arduino Praxiseinstieg, 4. Auflage
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #7 on: July 26, 2017, 08:13:25 PM »
Quote
P.S.: Interessehalber: Wer von Euch kriegt von seinem Provider bereits parallel IPv6 Adressen?
Ich habe bisher keine Infos von meinem lokalen Provider.

Wie kann ich das netzwerktechnisch prüfen?

Gruss
Thomas

Rene

  • freakyfriday
  • Full Member
  • *
  • Posts: 138
  • Karma: +6/-0
    • Video - Tutorials für Hobbyelektroniker
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #8 on: July 26, 2017, 09:43:31 PM »
Hallo Christoph

Ich habe bei Swisscom nachgeschaut. Wenn man eine fixe IP-Adresse bucht, bekommt man IPv6 dazu. Da es sowieso Zeit ist, dass ich mich mit IPv6 beschäftige, habe ich das um 21:10 gebucht. Es kam dann eine Meldung so im Stil von 'Danke für die Bestellung, wir werden uns darum kümmern'. Ich dachte, mit etwas Glück wir im Lauf der Woche noch etwas daraus. Einige Minuten später ist das Internet ausgefallen und ich war für etwa 10 Minuten offline. Jetzt funktioniert es wieder, die fixe IP und IPv6 ist bereits aufgeschaltet. Nur zu dumm, dass ich gar nicht weiss, was ich mit den IPv6 - Angaben anfangen kann.

Gruss
René   

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #9 on: July 27, 2017, 01:18:13 PM »
Hallo zusammen,

ich schlage folgende Hosts vor:

sensors.boxtec.eu
weatherboard.boxtec.eu
weather.boxtec.eu

Das tönt alles sehr gut, bin ich dabei. Dazu nehme ich noch wb.boxtec.eu (als zwei-finger tipper, mag ich kurze Namen :-)).


Ich mache mir in den nächsten Tagen Gedanken über die Struktur der Daten.

Da bin ich immer wieder mal etwas angestanden, soll sich die Struktur primär an der Art der Messdaten oder der geographischen Position orientieren. Bin gespannt was Du da für Ideen hast.


Willst Du die Messwerte auch mit einer Messqualität versehen?
Ich denke Messgenauigkeit, ev. auch Bereich wären wichtige Informationen einerseits, andererseits würde es eine Menge mehr Daten geben wenn man diese mit jedem Messwert versendet (sowie weitere Qualifizierungsmerkmale). Ich brainstorme daran rum, dass neben den eigentlichen simplen Messdaten jeder Teilnehmer in einem Meta Kanal/Topic regelmässig standardisiert/maschinenlesbar Informationen zu seinen Sensoren (wie Messgenauigkeit, Art, Lokation etc.) sendet.
Was für standardisierte Informationen zu einem Sensor könnten wichtig sein?


Quote
P.S.: Interessehalber: Wer von Euch kriegt von seinem Provider bereits parallel IPv6 Adressen?
Ich habe bisher keine Infos von meinem lokalen Provider.

Wie kann ich das netzwerktechnisch prüfen?

Ich weiss nicht ob Windows standardmässig mit ipconfig /all auch IPv6 Adressen anzeigt, aber bei einem Linux solltest Du mit ifconfig -a eine IPv6 Adresse sehen, die nicht mit "fe80:" sondern mit "2001:" anfängt, z.B.:
Code: [Select]
eth1      Link encap:Ethernet  HWaddr 00:25:b3:0b:ad:fd 
          inet addr:10.9.3.0  Bcast:10.9.3.255  Mask:255.255.252.0
          inet6 addr: 2001:4060:4419:80b1:a25:e3ff:fe6b:a4fd/64 Scope:Global

Du müsstest aber einen Router haben, der IPv6 Autodiscovery anbietet, dann kriegen die Geräte die es unterstützen automatisch IPv6 Adressen zugeteilt, ähnlich DHCP.

Grüsse - Christoph

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #10 on: July 27, 2017, 01:23:58 PM »
Hallo Rene,

Ich habe bei Swisscom nachgeschaut. Wenn man eine fixe IP-Adresse bucht, bekommt man IPv6 dazu. Da es sowieso Zeit ist, dass ich mich mit IPv6 beschäftige, habe ich das um 21:10 gebucht. Es kam dann eine Meldung so im Stil von 'Danke für die Bestellung, wir werden uns darum kümmern'. Ich dachte, mit etwas Glück wir im Lauf der Woche noch etwas daraus. Einige Minuten später ist das Internet ausgefallen und ich war für etwa 10 Minuten offline. Jetzt funktioniert es wieder, die fixe IP und IPv6 ist bereits aufgeschaltet. Nur zu dumm, dass ich gar nicht weiss, was ich mit den IPv6 - Angaben anfangen kann.


Ich weiss nicht wie das bei solchen Leitungen gehandhabt wird, aber ich nehme an, Du wirst ein /60 oder /58 zugeteilt bekommen haben, sowie ein /64 Transitnetz zum Provider und musst nun diese auf Deinem Router einfriemeln. Oder aber Swisscom managed Deinen Router und haben das bereits konfiguriert, dann sollte Dein Mac/PC bereits eine IPv6 Adresse erhalten haben und über entsprechende Konnektivität verfügen.
An einem Desktop PC mit Browser ist einer der einfachsten Tests die Site http://www.kame.net anzusteuern, kommt man mit IPv6 daher tanzt die Kröte lustig, bei IPv4 nicht.

Grüsse - Christoph

Rene

  • freakyfriday
  • Full Member
  • *
  • Posts: 138
  • Karma: +6/-0
    • Video - Tutorials für Hobbyelektroniker
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #11 on: July 27, 2017, 01:46:07 PM »
Hallo Christoph

Ich habe ein /48 zugeteilt bekommen.

Die Schildkröte tanzt! Jedes Gerät hat eine IPv6 - Adresse bekommen.
Wenn ich jetzt nichts mache, besteht da irgend ein Sicherheitsrisiko oder sind diese Adressen von aussen standardmässig nicht erreichbar?

Gruss
René

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #12 on: July 28, 2017, 11:33:30 AM »
Hallo Rene,
Ich habe ein /48 zugeteilt bekommen.

Das ist nicht schlecht, da dürftest Du die nächsten 2-3 Monate keinen Engpass mit Adressen befürchten müssen bei 65536 Netzen mit jeweils 2^64 möglichen Adressen. Da hat doch der eine oder andere Sensor Platz  8)

Die Schildkröte tanzt! Jedes Gerät hat eine IPv6 - Adresse bekommen.
Wenn ich jetzt nichts mache, besteht da irgend ein Sicherheitsrisiko oder sind diese Adressen von aussen standardmässig nicht erreichbar?

Ich gehe davon aus, dass Dein Router durch Swisscom so konfiguriert wurde, dass nur ausgehende Verbindungen und eingehend nur etablierte Verbindungen (z.B. die Antwortpakete auf einen http-request der von innen kam) erlaubt werden. Ansonsten wärst Du im Gegensatz zu IPv4 NAT direkt erreichbar.
Da man aber ICMP auch so meist erlaubt, sollte es Dir z.B. möglich sein, Deinen PC von einem IPv6 Web-Traceroute Service aus anzupingen.

Grüsse - Christoph

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #13 on: July 30, 2017, 10:03:09 AM »
So, der Server ist bereit und idlet vor sich hin, er ist unter den untenstehenden Namen via IPv4 und IPv6 erreichbar:
Code: [Select]
sensors.boxtec.eu
weatherboard.boxtec.eu
weather.boxtec.eu
wb.boxtec.eu

Mosquitto 1.4.14 ist installiert, aber noch nicht gestartet, da ich mit der Konfig nicht vorgreifen wollte.

Es wär ja jetzt spannend, das ganze mit Server und Client Zertifikaten zu betreiben, aber ich denke die meisten Mikrokontroller Plattformen, vor allem die kleineren, werden das nicht unterstützen.

Im Moment fällt mir als oberster Level der Struktur nichts besseres als die GPS Koordinaten ein, also z.B. /47.4457/7.694 für Lupsingen.
Sollten die Sensorfeeds je nach Messwert-Art auch standardisiert sein (i.e. outtempC für Aussentemperatur in Celsius) ?

Wer sich am config-friemeln beteiligen will, soll mir bitte einen min. 2048byte langen SSH Pubkey zusenden.

Grüsse - Christoph

arduinopraxis

  • freakyfriday
  • Hero Member
  • *
  • Posts: 553
  • Karma: +11/-0
  • Arduino Praxiseinstieg (4.Auflage)
    • Arduino Praxiseinstieg, 4. Auflage
Re: Community Projekt: Sensor Datafeeds in MQTT
« Reply #14 on: July 30, 2017, 12:03:10 PM »
Hallo Christoph,

Quote
So, der Server ist bereit und idlet vor sich hin

perfekt  :)

Quote
Mosquitto 1.4.14 ist installiert, aber noch nicht gestartet, da ich mit der Konfig nicht vorgreifen wollte.
Dann warte ich mal bis der Broker Daten empfangen kann.

Quote
Im Moment fällt mir als oberster Level der Struktur nichts besseres als die GPS Koordinaten ein, also z.B. /47.4457/7.694 für Lupsingen.
Sollten die Sensorfeeds je nach Messwert-Art auch standardisiert sein (i.e. outtempC für Aussentemperatur in Celsius) ?
Mit den GPS-Koordinaten ist auf jeden Fall die Position klar. Die Daten können so auch genau auf einer Map dargestellt werden.

Dein Beispiel mit dem Sensorwert ist für den Anfang sicher genügend.

Also:
outTempC
outHumProz
outBarohPA

Für Werte im Innenbereich also
inOfficeTempC
inOfficeHumProz
etc

Für meine ersten Sensorwerte muss ich keine zusätzliche Hardware verwenden.
Kann meinem Sensornetzwerk muss ich nur in Node-Red einen einen Flow erstellen ;)

Viele Grüsse
Thomas






 

anything