Weasley klok (4 / 9 stap)

Stap 4: De werkstromen maken


Zodra u hebt geïnstalleerd knooppunt-rood, moeten u zien een webpagina als deze wanneer u naar http://ip.of.your.pi:1880 navigeert

Dit is waar u uw werkstromen, die moeten eindigen uitzien als ons maken. Het gedeelte aan de linkerkant het palet wordt genoemd, en dat is waar u zult zien, elk knooppunt beschikbaar voor u om te gebruiken, met inbegrip van degenen die u geïnstalleerd of zelf gemaakt.
Sleep enkel een knooppunt van de links aan de slag. U zult zien dat als u dit hebt gedaan, het toont een kleine rode driehoek op de top van de module: Dit betekent dat het knooppunt moet worden geconfigureerd. Gewoon tweevoudig tikken daarop en voer de gevraagde parameters.
Zodra u tevreden met uw setup bent, klikt u op de knop distribueren op het bovenste rechter gedeelte op het scherm.

Onze workflow

Voor dit kunnen instrueren moet u zitten kundig voor de app om te werken door simpelweg met dezelfde instellingen, zoals we hebben gedaan.
Laten we nu gaan door middel van de verschillende onderdelen:

Eerste keten

(1) "elke 6h"

Dit is een knooppunt inject: tussenkomst niet ontvangen maar genereert met de inhoud die u kiest, en u kunt beslissen hoe vaak dit gebeurt. In ons geval moet het onderwerp "Selecteer * uit Alya" waar Alya is uw eerste gebruiker (of meer precies, de naam van de tabel MySQL voor uw eerste gebruiker).
Het herhalen argument is ingesteld op "interval tussen tijden", om de 60 minuten, dagelijks.

(2) DB-mediaserver

Dit is een MySQL knooppunt en kan worden gevonden in de categorie opslag. In de zijbalk verschijnt een tabblad "Configuratie" waar u zal zitten kundig voor Voer de hostnaam, poort, enz voor uw MySQL database. In ons geval trad we het lokale IP adres van de Synology NAS, maar als u MySQL hebt geïnstalleerd op uw Pi, dit moet localhost. U kunt het testen van de verbinding om te controleren of dat uw parameters juist zijn.

(3) de archieflocaties

Dit is een knooppunt van de functie: u kunt doen wat je wilt met de inhoud die u ontvangt, en stuur terug wat je wilt, simpelweg door het schrijven van een paar lijnen van Javascript.
In ons geval ziet de code er als volgt uit:

 //store the locations in a global variablecontext.global.locations = msg.payload ;//console.log(msg);return msg; 

Zoals je wellicht hebt begrepen, deze keten haalt de inhoud van de tabel voor de gebruiker Alya en slaat op de geografische coördinaten van de verschillende locaties in een globale variabele. Dit laat ons toe om wijzigen de coördinaten voor een specifieke locatie voor een gebruiker (als hun werkplek bijvoorbeeld verandert) rechtstreeks in de database zonder iets in de code worden gewijzigd

Tweede keten (de belangrijkste is)

(1) Geoloc Alya

Dit is een knooppunt van de MQTT. Moet u de hostnaam, poort enz van uw MQTT-makelaar. In ons geval was dit localhost aangezien de makelaar en knooppunt-rood staan op de dezelfde Pi. U moet ook beslissen welk onderwerp het knooppunt moet zich abonneren op: omdat we naar aanleiding van de gebruiker Alya, we zetten /owntracks/alya. Dit knooppunt zal worden geactiveerd telkens een bericht is gepubliceerd op de MQTT-onderwerp dat is opgegeven. In ons geval dat zal gebeuren telkens wanneer de gebruiker wijzigt de locatie.

(2) vergelijk

Dit is een functie-knooppunt, dus u kunt wat code invoeren die u wilt: hier ontvangt het de huidige coördinaten van de gebruiker en vergelijkt het met de bekende locaties om te beslissen waar de gebruiker momenteel is. Hier is de code die we ingevoerd in de functie

 console.log("start"); var loc = eval('(' + msg.payload + ')'); var dist = 0;<br>var location = "unknown"; for( var i =0 ; i < context.global.locations.length ; i++) { // console.log(i); dist = distance(context.global.locations[i].lat,context.global.locations[i].long,loc.lat,loc.lon); console.log(context.global.locations[i].lieu ); console.log("distance "+ dist); if(dist < context.global.locations[i].radius) { location = context.global.locations[i].lieu ; } } var newMsg = { payload: "alya," + location }; return newMsg ; 
 function distance(lat1, lon1, lat2, lon2) { var radlat1 = Math.PI * lat1/180 var radlat2 = Math.PI * lat2/180 var radlon1 = Math.PI * lon1/180 var radlon2 = Math.PI * lon2/180 var theta = lon1-lon2 var radtheta = Math.PI * theta/180 var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta); dist = Math.acos(dist) dist = dist * 180/Math.PI dist = dist * 60 * 1.1515 dist = dist * 1.60934 *1000 return dist; } 

(3) functie + LED

Dit knooppunt is een knooppunt van Spark kern functie: het niet standaard beschikbaar zal zijn, in plaats daarvan moet worden geïnstalleerd door u, volg de instructies op deze pagina https://community.spark.io/t/spark-core-and-node-r...

U zal vervolgens zitten kundig voor Voer uw Core-ID, uw token en de naam van de functie die u wilt bellen (het moet een functie publiekelijk geadverteerd door uw kern). Aangezien we het knooppunt niet elke parameter geven, stuurt deze het resultaat van het vorige knooppunt geplaatst als de payload (die zou moeten uitzien "alya, home")

Dit deel zou kunnen maken meer zin om u zodra u hebt setup uw kern in een paar stappen ^^

Opmerking: toen we dit project was er geen vonk Core-knooppunt in het knooppunt-rood: wat we deden was het maken van een eenvoudige HTTP-oproep plaats met behulp van de kern-API. Het is echter veel gemakkelijker te gebruiken van een specifiek knooppunt.

Dus dat is de workflow voor één gebruiker: de vijf verschillende tabbladen zijn vijf verschillende workflows, behalve voor strikt dezelfde

  • De SQL-verzoek (Selecteer * uit usernameTable)
  • De geplaatste MQTT onderwerp (/ owntracks/gebruikersnaam)
  • De uitvoer die wordt verzonden naar de kern ("gebruikersnaam, locatie")

Gerelateerde Artikelen

Harry Potter geïnspireerd Weasley klok

Harry Potter geïnspireerd Weasley klok

Vorig jaar heb ik besloten om de hele Harry Potter-reeks voor de 100e keer, die geïnspireerd het idee om iets van de familie Wemel-klok voor een definitieve klassenproject herlezen. Voor alles wat je dreuzels die niet vertrouwd met de serie, de wizar
Directionele wegwijzer

Directionele wegwijzer

het idee voor dit bord eigenlijk vandaan Molly Weasley klok in de Harry Potter-reeks die bleek waar iedereen in haar familie op dit moment. Last Christmas, ik een maakte voor mijn moeder om te tonen waar al haar familie woont, en ik maakte onlangs de
De klok Weasley Word

De klok Weasley Word

Ik ga om een zaak met woorden die oplichten zal wanneer ik op een bepaalde locatie (school, bijvoorbeeld).Het idee kwam uit deze IMGUR http://imgur.com/a/EAhKH (aangezien ik een enorme nerd van Harry Potter ben) en deze één http://imgur.com/a/iMXmj.
DIY Laser gesneden klok

DIY Laser gesneden klok

Wij hadden een klok voor de afkomstig, dus natuurlijk we een maakte!Stap 1: Tools & materialen die nodig zijnMaterialen:1/4" bamboe multiplex (u kunt elke multiplex, MDF, OSB, acryl, enz)Mini kwarts klok beweging 1/4" schacht (schacht groott
New Year's Eve bruiloft klok inloggen boek!

New Year's Eve bruiloft klok inloggen boek!

New Year's Eve bruiloft klok inloggen boek!Wanneer is de beste tijd om iets voor een 31 December post bruiloft? Besloot ik, het is nu.Als u van plan bent een grote dag voor de toekomst... Dit is een leuk idee!Ik was in staat om dit te maken voor mijn
Bouw uw eigen DIY rustieke Pallet klok!

Bouw uw eigen DIY rustieke Pallet klok!

Check de video hierboven voor een volledige ondersteuning voor dit project!Dit eenvoudige project maakt gebruik van 3 planken van pallet hout met twee backing strips aan de achterzijde om hen te houden samen! Het hout werd geschuurd en beschadigd voo
Hoe maak je een houten klok

Hoe maak je een houten klok

Dit instructable zal u tonen hoe te maken van een mooie houten klok aan de muur hangen. Deze stappen helpen u één te maken.Let's Get Started!Stap 1: Gebruikte materialenMaterialen:1. Dubbelklik op een batterij2. Klok Kit van Joann stoffen (komt met g
Pallet klok

Pallet klok

Dit project zal klok van een pallet samen met enkele hoek en rechte ijzer maken. Mijn dochter wilde kopen voor ongeveer $400 off van het internet en vervolgens besloten om één in plaats daarvan. Leek me een goed idee, dus ik dacht dat ik zou helpen.
Harde schijf NeoPixel 3D afgedrukt klok

Harde schijf NeoPixel 3D afgedrukt klok

De harde schijf klok wordt weergegevende tijd via de NeoPixels die op het gebied van de schotel harde schijf bevinden zich. Dit project is ontworpen rondom met behulp van een afgedankte laptop 2.5" harde schijf.De harde schijf is gemonteerd aan een 3
Arduino Aquaponics: Real-tijd-klok deel I

Arduino Aquaponics: Real-tijd-klok deel I

AA fundamentele noodzaak van een systeem van controles is de mogelijkheid om de tijd bijhouden.  Voor zover wij weten, heeft de Arduino drie methoden die het kunt gebruiken:1. seriële.  Herhaaldelijk de tijd te krijgen via de seriële verbinding.2. ex
3D gedrukte Back to the Future tijd Circuit klok

3D gedrukte Back to the Future tijd Circuit klok

De timerklok circuit verschijnt de volgende via de LED-displays.Bestemming tijd – (Top-rood)De bestemming tijd is een gebied dat een vaste datum en tijd worden weergegeven. Gebruik dit gebied om een belangrijke datum in je leven zoals bruiloft, verja
Klok van de Desktop NeoPixel

Klok van de Desktop NeoPixel

Een paar weken geleden, merkte ik dat het gat in mijn monitorstandaard op het werk is bijna exacly dezelfde diameter als een ring van 24 NeoPixels die ik had liggen. De achterkant van de monitor wordt geconfronteerd met verschillende collega's, dus h
Lamina Nixie Klok

Lamina Nixie Klok

dit is mijn eerste instructable en ik hoop u van het zult houden. Ik heb het lezen van deze website voor een tijdje nu en ik besloten om mijn project publiceren. Ik ben niet-native speaker Engels gelieve excuus mijn taal fouten.Dit project is geïnspi
Nixie-buis klok No.2

Nixie-buis klok No.2

In februari 2015 ik bouwde een enorme Steampunk-Lamp met een IN-12A Nixie-buis klok voor mijn dochter's verjaardag (foto in elektronica gedeelte en nu een Instructable!) en sinds die tijd wilde ik een andere Nixie Klok maar in een totaal andere stijl