Innholdsfortegnelse:

Koble anlegget til skyen: 10 trinn
Koble anlegget til skyen: 10 trinn

Video: Koble anlegget til skyen: 10 trinn

Video: Koble anlegget til skyen: 10 trinn
Video: Штукатурка санузла от А до Я. Все этапы. Угол 90 градусов. 2024, Juli
Anonim
Koble anlegget ditt til nettskyen
Koble anlegget ditt til nettskyen
Koble anlegget ditt til nettskyen
Koble anlegget ditt til nettskyen
Koble anlegget ditt til nettskyen
Koble anlegget ditt til nettskyen

På kontoret vårt er det en kaktus som ikke fikk den oppmerksomheten den fortjente. Siden jeg jobber i et IT -selskap og ønsket å eksperimentere med LoRa, serverløse løsninger og AWS, kalte jeg kaktusen vår Steeve og koblet ham til skyen. Du kan nå overvåke Steeve fra omtrent hvor som helst i verden ved å bruke nettsiden jeg laget for ham: Steeves webgrensesnitt.

Rekvisita

1 kaktus / din favoritt plante

1 Arduino MKR WAN 1300 (Arduino -butikk)

1 868mHz/914mHz (avhenger av hvor du befinner deg) antenne (Amazon)

1 LoRa Gateway når den ikke er innenfor en (Amazon)

2 AA -batterier

1 TMP102 -sensor (Amazon)

1 jordfuktighetssensor (Amazon)

Ledende kabler (Amazon)

loddejern

Batteriholder (Amazon)

sak

valgfritt: 3D -skriver (hvis du kan bruke en 3d -skriver trenger du ikke en batteriholder eller etui)

Trinn 1: Skrive ut saken (valgfritt)

Skrive ut saken (valgfritt)
Skrive ut saken (valgfritt)
Skrive ut saken (valgfritt)
Skrive ut saken (valgfritt)

Last ned denne zip -filen, pakk den ut og skriv ut filene. Filene er merket med elementets behovsmengde.

Legg gjerne til noe på lokket slik jeg gjorde.

Jeg trykte disse med en laghøyde på 0,2 mm og 15% utfylling.

Boksekrokene kan festes med m3 -skruer.

Når esken er skrevet ut, kan du bruke en ledning til å lage de nødvendige tilkoblingene på batteriholderen. Du kan bruke bildet som referanse.

Trinn 2: Kabling

Kabling
Kabling
  • Sørg for at antennen er tilkoblet før du slår på arduinoen. Hvis du slår på arduinoen uten antennen, kan det forårsake skade.
  • Koble til alt i henhold til det medfølgende koblingsskjemaet.
  • Hvis du lodder disse ledningene, må du passe på at du ikke broer noen pins på sensorene eller arduinoen!

Trinn 3: Lag en app på Things Network

  • Gå til https://www.thethingsnetwork.org/, og hvis du ikke har en konto ennå, kan du opprette en.
  • Når du har en konto og er logget inn, kan du gå til konsollen (øverst til høyre, klikk på brukernavnet ditt og deretter på konsollen).
  • Klikk på applikasjoner.
  • Når siden er lastet inn, bør du kunne klikke på "legg til applikasjon".
  • Fyll ut skjemaet og velg riktig region nederst. Klikk på "legg til applikasjon".
  • Gratulerer, du har nettopp opprettet en applikasjon på tingnettverket. = D

Trinn 4: Koble Arduino til Things Network

For å programmere arduino anbefaler jeg deg å bruke online arduino ide, dette gjør det veldig enkelt å laste inn det nødvendige biblioteket.

  • Åpne søknaden din på ting -nettverket.
  • Det skal være et felt med tittelen enheter, klikk på registrer enhet.
  • vil du se et felt som heter Enhets -ID. dette er navnet du vil gi sensoren din. Det bør være en annen merket Device EUI, dette er den unike nøkkelen din arduino bruker for å autentisere seg selv.
  • For å få denne nøkkelen må vi blinke arduinoen med en spesifikk skisse. Skissen finner du her. Denne skissen skal kjøres, og over den serielle skjermen skal eui sendes. Kopier eui fra den serielle skjermen til Device EUI -feltet på tingnettverket.
  • Klikk på register.
  • Nå har vi registrert arduinoen vår i skyen. Det er på tide å begynne å sende meldinger.
  • Du burde ha blitt omdirigert til en side som heter enhetsoversikt. Her kan du se enheten eui, app eui og appnøkkel.
  • For å fortsette må vi blinke den siste skissen til arduinoen. Skissen finner du her.
  • Når du åpner denne lenken vil du se at det er flere faner. Åpne kategorien hemmeligheter. Det er to nøkler du trenger for å håndtere fra tingnettverket til hemmelighetsfilen.
  • Når disse nøklene er fylt ut, kan du blinke med arduinoen. Det vil begynne å sende data til tingnettverket en gang i timen.
  • Hvis alt gikk riktig, burde du kunne se meldinger som kommer inn i Data -fanen på tingnettverket når du tilbakestiller arduinoen (den eneste knappen på tavlen).

    • Hvis det ikke vises noen data over det, kan dette bety at du ikke er innenfor en korrekt LoRa -gateway. Du kan sjekke et kart med alle tilgjengelige gateways på https://thethingsnetwork.org. Enkanals LoRa -gatewayene fungerer ikke med den anbefalte arduinoen.
    • Hvis du ikke er innenfor rekkevidden til en gateway, kan du koble din egen gateway til tingnettverket. Disse gatewayene har vanligvis ganske gode opplæringsprogrammer om hvordan du kobler dem til. Se i forsyningslisten for anbefalt gateway.

Trinn 5: Tolke dataene i Things Network

  • For å få brukbare data fra meldingene på tingnettverket trenger vi å dekode bystrømmen.
  • Gå til søknaden om ting nettverket.
  • Det skal være en fane merket "Nyttelastformater". Klikk på denne fanen.
  • Det er 4 knapper ved siden av hverandre: "dekoder", "converter", "validator", "encoder".
  • Klikk på dekoder.
  • Lim inn følgende kode der.

function Decoder (byte, port) {// Decode an uplink message from a buffer // (array) of bytes to a object of fields. var stringToDecode = bin2String (byte); var res = stringToDecode.split (""); var temp = res [1]; var fuktig = res [3]; var bat = res [5]; var decoded = {"temperatur": temp, "fuktighet": fuktig, "batteri": bat}; retur avkodet; } funksjon bin2String (matrise) {var result = ""; for (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (array )); } returresultat;}

  • Klikk på lagre.
  • Når du tilbakestiller arduinoen og ser datafanen, bør du se et pent formatert json -objekt som du enkelt kan lese.

Trinn 6: Koble appen din til AWS

Vi skal bruke AWS til å lagre og bruke dataene fra tingnettverket. Alle ressursene vi skal bruke, dekkes av gratisnivået til AWS.

  • Gå til AWS
  • Logg inn eller opprett en konto.
  • For å koble søknaden din på tingnettverket til AWS anbefaler jeg å følge denne opplæringen:
  • Når du har fullført denne opplæringen, navigerer du i aws-konsollen til IoT-Core-segmentet.
  • I venstre menylinje er det en etikett "Administrer", klikk på denne.
  • Du bør nå se et kort med navnet på sensoren din i den.
  • Klikk igjen på "Akt" i menylinjen til venstre
  • Hvis det er et kort merket Butikk, er du god til å gå.
  • Hvis ikke, klikk på "Opprett".
  • Fyll ut navnet "Store".
  • Du kan legge til en beskrivelse hvis du vil.
  • Som en spørresetning fyller du ut følgende kode: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • Klikk på Legg til handling under "Angi én eller flere handlinger".
  • Velg "Del meldingen i flere kolonner i en DynamoDb -tabell (DynamoDBv2)".
  • Klikk på konfigurer handling
  • Klikk på opprett ny ressurs.
  • Klikk på opprett tabell og gi bordet et navn.
  • Fyll ut "dev_id" under hovednøkkelen.
  • Klikk på legg til sorteringsnøkkel
  • Fyll ut "tid".
  • Klikk på opprett.
  • Hvis alt gikk bra, bør du være tilbake på konfigurasjonshandlingssiden.
  • Det er et litt grått område under "Velg eller opprett en rolle for å gi AWS IoT -tilgang for å utføre denne handlingen."
  • Klikk på Opprett rolle og gi denne rollen et navn.
  • Klikk på opprett rolle.
  • Klikk på Legg til handling.
  • Klikk på opprett regel.
  • Du bør nå ha en regel som automatisk lagrer alle innkommende meldinger fra tingnettverket i DynamoDb.
  • Du kan sjekke om dette fungerer ved å tilbakestille arduinoen og gå inn i DynamoDb -tabellen du nettopp har opprettet.
  • Det bør være en post med meldingen.

Trinn 7: Lage en Lambda

For å lese dataene fra DynamoDB skal vi skrive en AWS lambda.

  • I AWS -administrasjonskonsollen under tjenester er det en lenke merket "Lambda", klikk på denne.
  • Klikk på opprett funksjon.
  • Velg et navn.
  • Sett kjøretid til python 3.7.
  • Klikk på opprett funksjon.
  • Lim inn denne koden i den integrerte IDE.

importer json

import boto3 importtid fra datetime import datetime, timedelta fra boto3.dynamodb.conditions importnøkkel, Attr def lambda_handler (hendelse, kontekst): return retreive_data () def retreive_data (): # Hent tjenestressursen. dynamodb = boto3.resource ('dynamodb') tabell = dynamodb. Table ('TABLE NAME HERE') nå = datetime.now () i går = nå - timedelta (timer = 24) fe = Key ('time'). mellom (igår.isoformat (), nå.isoformat ()) matet = Nøkkel ('tid'). lt (i går.isoformat ()) respons = tabell.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = matet) for f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Elementer '] returnere data

  • Endre tabellnavnet til det du velger.
  • Rull ned til utførelsesrollen.
  • Klikk på opprett en ny rolle fra aws policy maler.
  • Velg et navn.
  • Under policy -maler velger du "Test seletillatelser" og "Enkle mikrotjenestetillatelser".
  • Klikk på lagre.
  • Klikk test.
  • En popup kan vises, bare velg et navn og lagre.
  • Klikk på test igjen.
  • På toppen skal det være et grønt banner som sier "Utførelsesresultat: lyktes".
  • Når du klikker på dette banneret, bør du se utdataene for denne funksjonen, dette bør være en liste over sensordata.
  • Vær oppmerksom på at dette skriptet sletter alle dataene som er eldre enn 24 timer.
  • Hvis banneret ditt ikke er grønt, men rødt, har du gått glipp av noe, og ved å klikke på dette banneret får du fullstendig feilmelding. I dette tilfellet er google din beste venn.

Trinn 8: Opprette et API -endepunkt

  • I AWS-administrasjonskonsollen under tjenester er det en lenke merket "api-gateway", klikk på denne.
  • Klikk på opprett API.
  • Sørg for at "REST" og "Nytt API" begge er valgt.
  • Velg et navn for din API.
  • Klikk på opprett API.
  • Det skal være en knapp merket handlinger på skjermen nå, klikk på den.
  • Klikk deretter på Opprett ressurs.
  • Som ressursnavn bør du velge noe enkelt som "plante" eller "plante-data".
  • Klikk på Opprett ressurs.
  • Til venstre skal det være navnet du nettopp skrev inn. klikk på dette navnet.
  • Klikk nå på handlinger igjen og nå på legg til metode.
  • Velg GET.
  • Klikk på haken.
  • Det bør være en tekstboks merket Lambda -funksjon.
  • Skriv inn navnet du ga deg lambda -funksjonen her.
  • Klikk på lagre.
  • Det kan være en popup som advarer deg om at den oppretter ekstra tillatelser.
  • Godta denne forgrunnsvinduet.
  • Klikk nå på aktiver kors under handlinger.
  • Klikk på "aktiver CORS og erstatt eksisterende CORS -overskrifter".
  • Klikk "ja, …".
  • Klikk på handlinger igjen, og klikk på Distribuer API.
  • Under distribusjonsfasen velger du [Ny fase].
  • Velg et navn.
  • Klikk distribuer.
  • Du har nå publisert din api online til verden.
  • Klikk på "GET" andre ressursen du nettopp har opprettet på skjermen der du har kommet.
  • Det bør være en lenke øverst merket "påkall URL".
  • Kopier denne lenken.
  • Lim den inn i en nettleser og trykk enter.
  • Du bør se dataene som er i databasen.

Trinn 9: Koble anlegget ditt til Social Plant Network

  • Gå til
  • Klikk "Logg inn".
  • Klikk på opprett konto.
  • Fyll ut skjemaet for å opprette kontoen din.
  • Vær oppmerksom på at brukernavnet også må være e -postadressen din.
  • Klikk på opprett konto.
  • Du må kanskje bekrefte e -posten din før du kan fortsette.
  • Sørg for at du er logget inn.
  • Gå tilbake til hjemmesiden (klikk på logoen øverst i venstre hjørne).
  • Klikk på innstillingsknappen.
  • Fyll ut skjemaet, du bør fylle ut hvert felt.
  • Koblingen til API -en er koblingen du lagret etter at du opprettet API -endepunktet.
  • Når alt er fylt ut, klikker du på knappen Lagre anlegg. systemet vil nå bekrefte api -lenken du skrev inn, og hvis dette er riktig, vil det lagre anlegget ditt i nettverket.
  • Gå tilbake til hjemmesiden.
  • Du kan nå klikke på alle plantene, du bør kunne se alle de registrerte plantene. planten din bør også være der. klikk på kortet, og du vil bli ført til en oversiktsside for anlegget ditt, det vil også vise råd basert på verdiene du angir i innstillingene.

Trinn 10: Len deg tilbake og klapp deg selv på ryggen

Du har nettopp koblet et anlegg til internett. Ganske imponerende, ikke sant?

Anbefalt: