Node-RED/MQTT

Je tweede stroom creëren

Geplaatst

Je tweede stroom creëren

Overzicht

Deze tutorial bouwt voort op de eerste tutorial om een ​​stroom te maken die begint met het binnenhalen van gegevens van externe bronnen om lokaal iets nuttigs te doen.

De stroom zal:

  • Haal regelmatig informatie op van een website
  • Zet die informatie om in een nuttig formulier
  • Geef het resultaat weer in de zijbalk Debug

1. Voeg een injectieknooppunt toe

In de vorige tutorial werd het Inject-knooppunt gebruikt om de stroom te activeren wanneer op de knop werd geklikt. Voor deze zelfstudie wordt het Inject-knooppunt geconfigureerd om de stroom met een regelmatig interval te activeren.

Sleep een injectieknooppunt vanuit het palet naar de werkruimte.

Dubbelklik op het knooppunt om het bewerkingsvenster te openen. Stel het herhalingsinterval in op every 5 minutes.

Klik op Gereed om het dialoogvenster te sluiten.

2. Voeg een HTTP Request-knooppunt toe

Het HTTP Request-knooppunt kan worden gebruikt om een ​​webpagina op te halen wanneer deze wordt geactiveerd.

Nadat u er een aan de werkruimte hebt toegevoegd, bewerkt u deze om de URLeigenschap in te stellen op:

https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/significant_month.csv

Klik vervolgens op Gereed om het dialoogvenster te sluiten.

Deze URL is een feed van significante aardbevingen in de afgelopen maand vanaf de US Geological Survey-website. De site biedt een aantal andere opties waarmee je misschien wilt spelen na het voltooien van deze tutorial.

3. Voeg een CSV-knooppunt toe

Voeg een CSV-knooppunt toe en bewerk de eigenschappen ervan. Optie inschakelen voor ‘Eerste rij bevat kolomnamen’.

Klik vervolgens op Gereed om te sluiten.

4. Voeg een Debug-knooppunt toe

Voeg een Debug-knooppunt toe aan de uitvoer.

5. Sluit ze allemaal aan elkaar

Voeg draden toe die verbinden:

  • De Inject-knooppuntuitvoer naar de HTTP Request-knooppuntinvoer.
  • De HTTP Request-knooppuntuitvoer naar de CSV-knooppuntinvoer.
  • De CSV-knooppuntuitvoer naar de Debug-knooppuntinvoer.

7. Voeg een Switch-knooppunt toe

Voeg een Switch-knooppunt toe aan de werkruimte. Bewerk de eigenschappen en configureer het om de eigenschap te controleren msg.payload.magmet een test of >=wijzig het om te testen op a numberen de waarde 7. Klik op Gereed om te sluiten.

Voeg een tweede draad toe vanaf het CSV-knooppunt naar dit Switch-knooppunt.

8. Voeg een wijzigingsknooppunt toe

Voeg een wijzigingsknooppunt toe, bedraad naar de uitgang van het schakelknooppunt. Configureer het om in te stellen msg.payloadop de tekenreeks PANIC!.

9. Voeg een Debug-knooppunt toe

Sluit een nieuw Debug-knooppunt aan op de uitvoer van het Change-knooppunt

10. Implementeren

Implementeer de stroom naar de runtime door op de knop Implementeren te klikken.

Klik met het tabblad Debug-zijbalk open op de knop Injecteren. U zou een lijst met vermeldingen moeten zien met een inhoud die er als volgt uitziet:

msg.payload : Object
{"time":"2017-11-19T15:09:03.120Z","latitude":-21.5167,"longitude":168.5426,"depth":14.19,"mag":6.6,"magType":"mww","gap":21,"dmin":0.478,"rms":0.86,"net":"us","id":"us2000brgk","updated":"2017-11-19T17:10:58.449Z","place":"68km E of Tadine, New Caledonia","type":"earthquake","horizontalError":6.2,"depthError":2.8,"magError":0.037,"magNst":72,"status":"reviewed","locationSource":"us","magSource":"us"}

U kunt nu op de kleine pijl links van elke eigenschap klikken om ze uit te vouwen en de inhoud te bekijken

Als er aardbevingen waren met een magnitude groter dan 7, ziet u ook foutopsporingsberichten zoals:

msg.payload : string(6)
"PANIC!"

U kunt de schakelwaarde wijzigen 7in een kleinere om uw programma te testen. Vergeet niet na de wijziging op implementeren te klikken. ***

Overzicht

Deze stroom wordt automatisch elke 5 minuten geactiveerd en haalt gegevens op uit een url. Het parseert de gegevens en wordt weergegeven in de zijbalk Debug. Het controleert ook de magnitudewaarde in de gegevens en vertakt de stroom voor berichten met een magnitude groter dan of gelijk aan 7. De payloads van dergelijke berichten worden gewijzigd en weergegeven in de Debug-zijbalk.

Bron

De stroom die in deze zelfstudie is gemaakt, wordt weergegeven door de volgende json. Om het in de editor te importeren, kopieert u het naar uw klembord en plakt u het in het dialoogvenster Importeren.

[{"id":"e36406f2.8ef798","type":"inject","z":"f03b57d5.e525f8","name":"","topic":"","payload":"","payloadType":"str","repeat":"300","crontab":"","once":false,"x":130,"y":900,"wires":[["c3c50023.3bbed"]]},{"id":"c3c50023.3bbed","type":"http request","z":"f03b57d5.e525f8","name":"Recent Quakes","method":"GET","url":"https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/significant_month.csv","tls":"","x":300,"y":900,"wires":[["8afc6cac.e0812"]]},{"id":"8afc6cac.e0812","type":"csv","z":"f03b57d5.e525f8","name":"","sep":",","hdrin":true,"hdrout":"","multi":"one","ret":"\\n","temp":"","x":470,"y":900,"wires":[["44779781.4190f8","6f0eb546.9e208c"]]},{"id":"44779781.4190f8","type":"debug","z":"f03b57d5.e525f8","name":"","active":true,"complete":false,"x":630,"y":900,"wires":[]},{"id":"6f0eb546.9e208c","type":"switch","z":"f03b57d5.e525f8","name":"","property":"payload.mag","propertyType":"msg","rules":[{"t":"gte","v":"7","vt":"num"}],"checkall":"true","outputs":1,"x":510,"y":960,"wires":[["d78d4aa8.8c8208"]]},{"id":"d78d4aa8.8c8208","type":"change","z":"f03b57d5.e525f8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"PANIC!","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":1020,"wires":[["72fddece.fac0d"]]},{"id":"72fddece.fac0d","type":"debug","z":"f03b57d5.e525f8","name":"","active":true,"complete":false,"x":750,"y":960,"wires":[]}]

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *