Indholdsfortegnelse:

Tilslut dit anlæg til skyen: 10 trin
Tilslut dit anlæg til skyen: 10 trin

Video: Tilslut dit anlæg til skyen: 10 trin

Video: Tilslut dit anlæg til skyen: 10 trin
Video: Hvordan reagerer børn, når man fortæller, at der ikke er råd til at holde jul? 2024, November
Anonim
Tilslut dit anlæg til skyen
Tilslut dit anlæg til skyen
Tilslut dit anlæg til skyen
Tilslut dit anlæg til skyen
Tilslut dit anlæg til skyen
Tilslut dit anlæg til skyen

På vores kontor er der en kaktus, der ikke fik den opmærksomhed, den fortjente. Da jeg arbejder på en it -virksomhed og ville eksperimentere med LoRa, serverløse løsninger og AWS, navngav jeg vores kaktus Steeve og forbandt ham med skyen. Du kan nu overvåge Steeve fra stort set alle steder i verden ved hjælp af den webside, jeg lavede til ham: Steeves webgrænseflade.

Forbrugsvarer

1 kaktus / din yndlingsplante

1 Arduino MKR WAN 1300 (Arduino butik)

1 868mHz/914mHz (afhænger af din placering) antenne (Amazon)

1 LoRa Gateway, når den ikke er inden for en (Amazon)

2 AA batterier

1 TMP102 -sensor (Amazon)

1 jordfugtighedsføler (Amazon)

Ledende kabler (Amazon)

loddekolbe

Batteriholder (Amazon)

sag

valgfri: 3D -printer (hvis du kan bruge en 3d -printer, behøver du ikke en batteriholder eller etui)

Trin 1: Udskrivning af kassen (valgfrit)

Udskrivning af kassen (valgfrit)
Udskrivning af kassen (valgfrit)
Udskrivning af kassen (valgfrit)
Udskrivning af kassen (valgfrit)

Download denne zip -fil, pak den ud og udskriv filerne. Filerne er markeret med elementets behovsmængde.

Tilføj gerne noget til låget, som jeg gjorde.

Jeg printede disse ved hjælp af en laghøjde på 0,2 mm og 15% udfyldning.

Boxhooks kan fastgøres ved hjælp af m3 skruer.

Når æsken er udskrevet, kan du bruge noget ledning til at foretage de nødvendige tilslutninger på batteriholderen. Du kan bruge det medfølgende billede som reference.

Trin 2: Ledningsføring

Ledninger
Ledninger
  • Inden du tænder for arduinoen, skal du sørge for, at antennen er tilsluttet, kan opstart af arduino uden antennen forårsage skade.
  • Tilslut alt i henhold til det medfølgende ledningsdiagram.
  • Hvis du lodder disse ledninger, skal du sørge for ikke at bygge nogen stifter på sensorerne eller arduinoen!

Trin 3: Opret en app på tingens netværk

  • Gå til https://www.thethingsnetwork.org/, og hvis du ikke har en konto endnu, skal du oprette en.
  • Når du har en konto og er logget ind, kan du gå til konsollen (øverste højre hjørne, klik på dit brugernavn og derefter på konsollen).
  • Klik på applikationer.
  • Når siden er indlæst, skal du kunne klikke på "tilføj applikation".
  • Udfyld formularen, og vælg den korrekte region nederst. Klik på "tilføj applikation".
  • Tillykke, du har lige oprettet en applikation på tingens netværk. = D

Trin 4: Tilslutning af Arduino til Things Network

For at programmere arduino råder jeg dig til at bruge online arduino ide, dette gør det meget let at indlæse det nødvendige bibliotek.

  • Åbn din applikation på tingens netværk.
  • Der skal være et felt med titlen enheder, klik på registrer enhed.
  • du vil se et felt kaldet Device ID. dette er det navn, du vil give din sensor. Der skulle være en anden mærket Device EUI, dette er den unikke nøgle, din arduino bruger til at godkende sig selv.
  • For at få denne nøgle skal vi blinke arduinoen med en specifik skitse. Skitsen kan findes herover. Denne skitse skal køre, og over den serielle skærm skal den sende eui. Kopier eui fra den serielle skærm til feltet Device EUI på tingens netværk.
  • Klik på registrer.
  • Nu har vi registreret vores arduino til skyen. Det er på tide at begynde at sende beskeder.
  • Du skulle have været omdirigeret til en side kaldet enhedsoversigt. Her kan du se din enhed eui, app eui og app -nøgle.
  • For at fortsætte skal vi blinke den sidste skitse til arduinoen. Skitsen kan findes her.
  • Når du åbner dette link, vil du se, at der er flere faner. Åbn fanen Hemmeligheder. Der er 2 nøgler, du har brug for for at klare ting fra netværket til filen secrets.
  • Når disse nøgler er udfyldt, kan du blinke med arduinoen. Det vil begynde at sende data til tingnetværket en gang hver time.
  • Hvis alt gik rigtigt, skulle du kunne se meddelelser, der kommer ind på fanen Data på tingnetværket ved nulstilling af arduinoen (den eneste knap på tavlen).

    • Hvis der ikke vises nogen data herover, kan det betyde, at du ikke er inden for en korrekt LoRa -gateway. Du kan kontrollere et kort med alle de tilgængelige gateways på https://thethingsnetwork.org. Single channel LoRa gateways fungerer ikke med den anbefalede arduino.
    • Hvis du ikke er inden for rækkevidde af en gateway, kan du koble din egen gateway til tingnetværket. Disse gateways har normalt ret gode selvstudier om, hvordan du forbinder dem. Se på forsyningslisten for den anbefalede gateway.

Trin 5: Fortolkning af data på tingens netværk

  • For at få brugbare data fra beskederne på tingens netværk skal vi afkode bytestrømmen.
  • Gå til din applikation på tingene netværket.
  • Der skal være en fane mærket "Nyttelastformater", klik på denne fane.
  • Der er 4 knapper ved siden af hinanden: "dekoder", "converter", "validator", "encoder".
  • Klik på dekoder.
  • Indsæt følgende kode der.

funktion Dekoder (bytes, port) {// Afkod en uplink -meddelelse fra en buffer // (array) af bytes til et objekt af felter. var stringToDecode = bin2String (bytes); var res = stringToDecode.split (""); var temp = res [1]; var fugtig = res [3]; var bat = res [5]; var dekodet = {"temperatur": temp, "fugt": fugtig, "batteri": bat}; retur afkodet; } funktion bin2String (array) {var resultat = ""; for (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (array )); } returnere resultat;}

  • Klik på Gem.
  • Når du nulstiller arduinoen og ser din datafane, skal du se et pænt formateret json -objekt, som du let kan læse.

Trin 6: Tilslutning af din app til AWS

Vi kommer til at bruge AWS til at gemme og bruge dataene fra tingens netværk. Alle de ressourcer, vi skal bruge, er dækket af det gratis niveau af AWS.

  • Gå til AWS
  • Log ind eller opret en konto.
  • For at forbinde din applikation på tingens netværk til AWS anbefaler jeg at følge denne vejledning:
  • Når du har gennemført denne vejledning, skal du navigere i aws-konsollen til IoT-Core-segmentet.
  • I venstre menulinje er der en etiket "Administrer", klik på denne.
  • Du skulle nu se et kort med navnet på din sensor i det.
  • Klik igen på "Akt" i menulinjen til venstre
  • Hvis der er et kort mærket Store, er du klar til at gå.
  • Hvis ikke, skal du klikke på "Opret".
  • Udfyld navnet "Butik".
  • Du kan tilføje en beskrivelse, hvis du vil.
  • Som en forespørgselsangivelse skal du udfylde følgende kode: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • Klik på tilføj handling under "Angiv en eller flere handlinger".
  • Vælg "Opdel besked i flere kolonner i en DynamoDb -tabel (DynamoDBv2)".
  • Klik på konfigurer handling
  • Klik på Opret ny ressource.
  • Klik på Opret tabel og giv din tabel et navn.
  • Udfyld "dev_id" under den primære nøgle.
  • Klik på tilføj sorteringsnøgle
  • Udfyld "tid".
  • Klik på Opret.
  • Hvis alt gik godt, skulle du være tilbage på siden med konfiguration af handlinger.
  • Der er et lidt gråtonet område under "Vælg eller opret en rolle for at give AWS IoT adgang til at udføre denne handling."
  • Klik på Opret rolle, og giv denne rolle et navn.
  • Klik på Opret rolle.
  • Klik på tilføj handling.
  • Klik på Opret regel.
  • Du skal nu have en regel, der automatisk gemmer alle indgående meddelelser fra tingnetværket i DynamoDb.
  • Du kan kontrollere, om dette virker ved at nulstille arduinoen og gå ind i DynamoDb -tabellen, du lige har oprettet.
  • Der skal være en rekord med beskeden.

Trin 7: Oprettelse af en Lambda

For at læse dataene fra DynamoDB skal vi skrive en AWS lambda.

  • I AWS -administrationskonsollen under tjenester er der et link mærket "Lambda", klik på denne.
  • Klik på Opret funktion.
  • Vælg et navn.
  • Indstil runtime til python 3.7.
  • Klik på Opret funktion.
  • Indsæt denne kode i den integrerede IDE.

import json

import boto3 importtid fra datetime import datetime, timedelta fra boto3.dynamodb.conditions importnøgle, Attr def lambda_handler (hændelse, kontekst): return retreive_data () def retreive_data (): # Hent service ressourcen. dynamodb = boto3.resource ('dynamodb') tabel = dynamodb. Table ('TABLE NAME HERE') nu = datetime.now () igår = nu - timedelta (timer = 24) fe = Key ('tid'). mellem (igår.isoformat (), nu.isoformat ()) fodret = Nøgle ('tid'). lt (i går.isoformat ()) svar = tabel.scan (FilterExpression = fe) recordsToDelete = tabel.scan (FilterExpression = fodret) for f i recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = respons ['Elementer '] returnere data

  • Skift bordnavnet til det, du vælger.
  • Rul ned til udførelsesrollen.
  • Klik opret en ny rolle fra aws -politikskabeloner.
  • Vælg et navn.
  • Under politikskabeloner skal du vælge "Test seletilladelser" og "Enkle mikrotjenestetilladelser".
  • Klik på Gem.
  • Klik på test.
  • Der vises muligvis en popup, bare vælg et navn og gem.
  • Klik på test igen.
  • Øverst skal der være et grønt banner, der siger "Udførelsesresultat: lykkedes".
  • Når du klikker på dette banner, skal du se output fra denne funktion, dette skal være en liste over sensordata.
  • Vær opmærksom på, at dette script sletter alle de data, der er ældre end 24 timer.
  • Hvis dit banner ikke er grønt, men rødt, har du gået glip af noget, og ved at klikke på dette banner får du den fulde fejlmeddelelse. I dette tilfælde er google din bedste ven.

Trin 8: Oprettelse af et API -slutpunkt

  • I AWS-administrationskonsollen under tjenester er der et link mærket "api-gateway", klik på denne.
  • Klik på Opret API.
  • Sørg for, at "REST" og "Ny API" begge er valgt.
  • Vælg et navn til din API.
  • Klik på Opret API.
  • Der skulle være en knap mærket handlinger på skærmen nu, klik på den.
  • Klik derefter på Opret ressource.
  • Som ressourcenavn skal du vælge noget simpelt som "plante" eller "plantedata".
  • Klik på Opret ressource.
  • Til venstre skulle der nu være det navn, du lige har indtastet. klik på dette navn.
  • Klik nu på handlinger igen, og klik nu på tilføj metode.
  • Vælg GET.
  • Klik på fluebenet.
  • Der skal være en tekstboks mærket Lambda Function.
  • Indtast det navn, du gav dig lambda -funktionen her.
  • Klik på Gem.
  • Der kan være en popup, der advarer dig om, at den opretter ekstra tilladelser.
  • Accepter denne popup.
  • Klik nu på aktiver cors under handlinger.
  • Klik på "aktiver CORS og udskift eksisterende CORS -overskrifter".
  • Klik på "ja, …".
  • Klik på handlinger igen, og klik på Implementér API.
  • Vælg [Ny fase] under implementeringsstadiet.
  • Vælg et navn.
  • Klik på implementer.
  • Du har nu offentliggjort din api online til verden.
  • På skærmen, hvor du er ankommet, skal du nu klikke på "GET" anden den ressource, du lige har oprettet.
  • Der skal være et link øverst mærket "påkald URL".
  • Kopiér dette link.
  • Indsæt det i en browser og tryk enter.
  • Du bør se de data, der er i databasen.

Trin 9: Tilslut dit anlæg til det sociale plantes netværk

  • Gå til
  • Klik på "Login".
  • Klik på Opret konto.
  • Udfyld formularen for at oprette din konto.
  • Bemærk, at brugernavnet også skal være din e -mail.
  • Klik på Opret konto.
  • Du skal muligvis bekræfte din e -mail, før du kan fortsætte.
  • Sørg for, at du er logget ind.
  • Gå tilbage til startsiden (klik på logoet i øverste venstre hjørne).
  • Klik på knappen Indstillinger.
  • Udfyld formularen, du skal udfylde hvert felt.
  • Linket til API'en er det link, du gemte, efter at du havde oprettet API -slutpunktet.
  • Når alt er udfyldt, skal du klikke på knappen Gem plante. systemet vil nu bekræfte det api -link, du har indtastet, og hvis dette er korrekt, gemmer det dit anlæg i netværket.
  • Gå tilbage til startsiden.
  • Du kan nu klikke på alle planter, du skal kunne se alle de registrerede planter. din plante skal også være derinde. klik på kortet, og du vil blive ført til en oversigtsside for dit anlæg, det vil også vise råd baseret på de værdier, du har angivet i indstillinger.

Trin 10: Læn dig tilbage og klapp dig selv på ryggen

Du har lige tilsluttet et anlæg til internettet. Ret imponerende, ikke?

Anbefalede: