Weasley klockan (4 / 9 steg)

Steg 4: Skapa arbetsflöden



När du har installerat nod-röd, bör du se en webbsida som denna när du navigerar till http://ip.of.your.pi:1880

Det här är där du skapar dina arbetsflöden, som bör sluta se ut som vår. Delen till vänster kallas paletten, och det är där du kommer att se alla noder som du kan använda, inklusive de som installerat eller skapat själv.
Bara dra en nod från vänster för att komma igång. Ser du att när du gör det, den visar en liten röd triangel ovanpå modul: Detta innebär noden måste konfigureras. Bara dubbelklicka på den och ange de parametrar som efterfrågades.
När du är nöjd med din inställning, ska du klicka på knappen distribuera på den övre högra delen på skärmen.

Vårt arbetsflöde

För detta instruera möjlighet bör du kunna få appen att fungera genom att bara använda samma inställning som vi gjorde.
Låt oss nu gå igenom de olika komponenterna:

Första kedjan

1 "varje 6h"

Detta är en injicera nod: det inte får någon ingång men genererar en med det innehåll som du väljer, och du kan bestämma hur ofta det sker. I vårt fall bör ämnet "Välj * från Alya" där Alya är din första användaren (eller mer exakt, namnet på MySQL tabell för dina första användaren).
Upprepa argumentet är inställt på "intervall mellan tider", varje 60 minuter, varje dag.

(2) DB mediaserver

Detta är en MySQL nod och kan hittas i kategorin lagring. I sidofältet bör du se en "Konfiguration"-flik där du kommer att kunna ange värdnamn, port, etc för din MySQL-databas. I vårt fall vi in lokala IP av Synology NAS men om du installerat MySQL på din Pi, bör detta vara localhost. Du kan testa anslutningen till kontrollera dina parametrar är korrekta.

(3) butikslägen

Detta är en funktion nod: det kan du göra vad du vill med innehållet du får, och skicka tillbaka vad du vill, helt enkelt genom att skriva några rader Javascript.
I vårt fall är koden som följer:

butikslägen i en global variabel
Context.global.Locations = msg.payload;
Console.log(MSG);
returnera msg;

Som ni kanske har förstått, denna kedja hämtar innehållet i tabellen för användaren Alya och sparar de geografiska koordinaterna för de olika platserna i en global variabel. Detta tillåter oss att ändra koordinaterna för en viss plats för en användare (om deras arbetsplats ändrar till exempel) direkt i databasen utan att ändra något i koden

Understödja kedjar (den huvudsakliga en)

(1) Geoloc Alya

Detta är en MQTT nod. Du bör ange värdnamnet, port etc på din MQTT mäklare. I vårt fall var detta localhost sedan mäklare och nod-röd är på samma Pi. Du måste också bestämma vilka ämnet bör prenumerera på noden: eftersom vi efter användaren Alya, vi sätter /owntracks/alya. Den här noden kommer att aktiveras varje gång ett meddelande publiceras till MQTT ämnet anges. I vårt fall som kommer att hända varje gång användaren ändrar läge.

(2) jämför

Detta är en funktion nod, så kan du ange vilken kod du vill: här mottar det aktuella koordinaterna för användaren och jämför det med de kända platserna att avgöra om användaren är för närvarande. Här är koden vi trädde i funktion

Console.log("Start");
var loc = eval ("(" + msg.payload + "')'");
var dist = 0. < br > var plats = "okänd";
för (var jag = 0; jag < 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 ("avstånd" + dist);
IF(dist < context.global.Locations[i].RADIUS)
{
läge = context.global.locations[i].lieu;
}
}
var newMsg = {nyttolast: "alya," + plats};
återvända newMsg;

funktionen avstånd (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
returnera dist;
}

(3) funktion + LED

Den här noden är en gnista core funktion nod: det blir inte tillgängliga som standard, i stället det bör installeras av dig, följa instruktionerna på denna sida https://community.spark.io/t/spark-core-and-node-r...

Du kommer då att kunna ange din Core-ID, din token och namnet på den funktion som du vill ringa (det måste vara en funktion som annonseras offentligt av din kärna). Eftersom vi inte ger noden någon parameter, kommer det att skicka resultatet av den tidigare noden som skickas (som ska se ut "alya, hem")

Denna del kan vara bättre att du när du har setup din kärna i några steg ^^

Obs: när vi gjort detta projekt fanns ingen gnista Core nod i nod-röd: vad vi gjorde var att göra en enkel HTTP samtal istället med Core API. Men det är mycket enklare att använda en särskild nod.

Så det är arbetsflödet för en användare: de fem olika flikarna är fem olika arbetsflöden, helt identiska med undantag för

  • SQL begäran (Välj * från usernameTable)
  • Tecknade MQTT ämnet (/ owntracks/användarnamn)
  • De utdata som skickas till kärnan ("användarnamn, plats)
Se Steg
Relaterade Ämnen

Harry Potter inspirerade Weasley klockan

Förra året bestämde jag mig att läsa om hela Harry Potter-serien för 100: e gången, som inspirerade idén att göra något liknande Weasley familjen klockan för slutprojekt klass. För alla er Mugglare som inte är bekant med serien, i trollkarlsvärlden f...

Weasley ordet klockan

Jag kommer att göra ett fall med ord som kommer att lysa upp när jag är på en viss plats (skola, till exempel).Idén kom från denna IMGUR http://imgur.com/a/EAhKH (eftersom jag är en stor Harry Potter nörd) och här en http://imgur.com/a/iMXmj. Jag bes...

Weasley-o-Meter

god jul alla! :)Detta projekt var inspirerad av klockan i Weasley huset som sett i den andra Harry Potter-filmen (tack jordy.vlassembrouck för spotting mitt misstag ursprungligen säga den första filmen) och föraktade i skapandet av en gnista Core bui...

3:30 klockan

Jag ville göra en väggklocka som betonar när dess 3:30.Varför 3:30? Eftersom de flesta dagar, kl 3:30 jag behöver lämna oavsett vad jag gör och plocka upp mina barn från dagis och dagbarnvård. Ibland är jag så uppslukad i vad jag gör att jag är förvå...

3:30 klockan Version 2

För några veckor sedan jag gjorde den första versionen av 3:30 klocka. Det fungerade ok ibland men eftersom den baseras på försiktigt stänga en elektrisk krets, det fungerade hela tiden.I den här versionen jag använder LDRs och resultatet är en lite...

3D Rainbow klockan

Jag har alltid haft en sak för ovanliga klockor och så finner jag mig alltid göra dem antingen sälja eller som gåvor. Och låt oss inse det, "Klockorna" är nåt som är mycket viktigt i varje enskilt rum! Jag vet, vissa skulle säga jag har min tele...

Abbey Road rekord klockan

Är du en Beatles fan och vinyl knarkare? Letar du efter "Något" unik, lätt och billig att göra? "Föreställa sig alla människor..." stirrade på denna klocka som du kan skapa! Så låt oss "Come Together" och göra denna ikoniska...

Aluminium Uggla klockan

Observera: detta är min första instructable så det inte kan vara perfektDenna klocka gjordes som present.Det var fräst ur ett block av aluminium som var 320 mm x 230 mm x 10 mm.Den använder händer och motorn som bärgades ur en gammal väggklockaSteg 1...

Analog talar glöd i mörka 3D tryckt klockan

Klockan visar tiden med 4 analoga mätare. Jag har sett dessa typ av klockor i olika inkarnationer men jag såg aldrig en analog klocka i detta format som talade. Denna klocka meddelar tiden halv timmes mellanrum och spelar ett meddelande varje gång kl...

Bågskytte ansikte klockan

i detta instructable, jag ska visa dig hur man gör en klocka baserat på en bågskytte ansikte för en vän som gillar bågskytte eller bara för att hålla för dig själv. Det återanvänder ett par objekt från bågskytte (ett ansikte och vissa fletchings). De...

Montering av "Kloka klockan 2" (Arduino-baserad väckarklocka med massor av extra funktioner)

denna handledning visar hur du monterar kitet för Wise klockan 2, ett öppen källkodsprojekt (hårdvara och mjukvara).En komplett Klok klockan 2 kit kan köpas här.Sammanfattningsvis är detta vad Wise klockan 2 kan göra (i den aktuella öppna källa mjukv...

Blues ledtrådar klockan

för vår tekniska Theater grupp projekt, vi beslutat att bygga klockan från Blues ledtrådar. Kolla in denna handledning om hur du kan återskapa denna klocka i bara några korta dagar!Steg 1: material Först, för att göra denna klocka, du måste köpa ett...

BookClock - Arduino-baserad klockan i en kartong

detta är den senaste (och billigaste ännu) Wise klocka familjemedlem.(Som en snabb resumé, de andra medlemmarna i familjen Wise klocka är, hittills, glaskupol Wise klocka och Wise klockan 2. De är "kloka" eftersom, tillsammans med tid, de också...

C51 4-bitars klockan

Detta Instructable hoppas jag att gå igenom att göra din egen 4-bitars digital klocka. För att bygga min C51 digital klocka använde jag denna Ebay DIY kit som kostar bara $2,50. Det har inga instruktioner så det tog en liten bit av forskning för att...

CD-klockan

Ok det här är en rolig idé jag hade att ta min favorit cd och förvandla det till en klocka. Dess mycket enkelt, tar väldigt lite tid, och alla verkar vilja en.Steg 1: Saker du behöver Billigt walmart klocka, sax, tvättbara markör, några CD-skivor och...

Chassi Cross medlem klockan

Jag för närvarande genomgår restaurering av en 1966 serien 2A Land Rover. Vi gör chassit reparationer och denna tvärbalk var ekonomiska repareras, trevlig hålet strax utanför centrum fick mig att tänka. Sedan såg jag en gammal klocka vi hade liggande...

Klockan i en burk

Detta är vår överlämnande av "Klocka i en burk" av Oren Hetzroni, student vid Bezalel Academy of Art and Design i Jerusalem. Baserat på barndomsminnen av att fånga insekter i en burk, presenterar klockan författarna idén att fånga tiden i en bur...

Klockan projekt

För detta projekt kommer du behöver-1 Arduino1 set av brödunderläggenHoppare ledningarSju segment displayen knappOm du av någon typ2 motståndUSB-sladd(Mest med i Sunfounder kit)Steg 1: Ställa wries Det första steget till att göra en exakt klocka är l...

Coffee Cup klockan

här är en enkel desktop klocka tillverkad i en kaffekopp och vissa kaffe ärmar. Det har även ett larm att berätta när är din nästa fikapaus.Steg 1: material: Pappersindustrin kaffekopp (rensade)Kaffekopp ärmar - tvåBlommig stem trådKlocka (liten nog...