Sadržaj:
- Pribor
- Korak 1: Ispis kućišta (izborno)
- Korak 2: Ožičenje
- Korak 3: Izradite aplikaciju na mreži Things
- Korak 4: Spajanje Arduina na mrežu stvari
- 5. korak: Tumačenje podataka na mreži stvari
- Korak 6: Povezivanje vaše aplikacije s AWS -om
- Korak 7: Stvaranje lambde
- Korak 8: Stvaranje krajnje točke API -ja
- Korak 9: Povežite svoju biljku s mrežom društvenih biljaka
- Korak 10: Naslonite se i potapšajte se po leđima
Video: Povežite svoju biljku s oblakom: 10 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
U našem uredu postoji kaktus koji nije privukao pažnju koju zaslužuje. Budući da radim u IT tvrtki i želio sam eksperimentirati s LoRa -om, rješenjima bez poslužitelja i AWS -om, nazvao sam našeg kaktusa Steeveom i povezao ga s oblakom. Sada možete pratiti Steevea s bilo kojeg mjesta na svijetu koristeći web stranicu koju sam napravio za njega: Steeveovo web sučelje.
Pribor
1 kaktus / vaša omiljena biljka
1 Arduino MKR WAN 1300 (trgovina Arduino)
1 868mHz/914mHz (ovisno o vašoj lokaciji) antena (Amazon)
1 LoRa Gateway kada nije u dosegu jednog (Amazon)
2 AA baterije
1 senzor TMP102 (Amazon)
1 senzor vlažnosti tla (Amazon)
Vodljivi kabeli (Amazon)
lemilica
Držač baterije (Amazon)
slučaj
opcionalno: 3D pisač (ako možete koristiti 3D pisač, ne trebate držač baterije ili futrolu)
Korak 1: Ispis kućišta (izborno)
Preuzmite ovu zip datoteku, raspakirajte je i ispišite datoteke. Datoteke su označene potrebnom količinom stavke.
Slobodno dodajte nešto na poklopac kao ja.
Ispisao sam ih koristeći visinu sloja od 0,2 mm i ispunu od 15%.
Kuke se mogu pričvrstiti pomoću vijaka m3.
Kad je kutija ispisana, možete upotrijebiti žicu za povezivanje potrebnih priključaka na držaču baterije. Priloženu sliku možete koristiti kao referencu.
Korak 2: Ožičenje
- Prije uključivanja arduina provjerite je li antena spojena. Uključivanjem arduina bez antene može doći do oštećenja.
- Spojite sve prema priloženom dijagramu ožičenja.
- Spajate li ove žice, pazite da ne premostite iglice na senzorima ili arduinu!
Korak 3: Izradite aplikaciju na mreži Things
- Idite na https://www.thethingsnetwork.org/ i ako još nemate račun, napravite ga.
- Nakon što imate račun i prijavite se, možete otići na konzolu (gornji desni kut, kliknite svoje korisničko ime, a zatim na konzoli).
- Kliknite aplikacije.
- Nakon što se stranica učita, trebali biste moći kliknuti na "dodaj aplikaciju".
- Ispunite obrazac i odaberite ispravnu regiju pri dnu. Kliknite na "dodaj aplikaciju".
- Čestitamo, upravo ste stvorili aplikaciju na mreži stvari. = D
Korak 4: Spajanje Arduina na mrežu stvari
Za programiranje arduina savjetujem vam da koristite mrežni arduino ide, što čini učitavanje u potrebnu knjižnicu vrlo jednostavnim.
- Otvorite svoju aplikaciju na mreži stvari.
- Trebalo bi biti polje pod nazivom uređaji, kliknite na registriraj uređaj.
- vidjet ćete polje pod nazivom ID uređaja. ovo je ime koje želite dati svom senzoru. Trebao bi postojati još jedan s oznakom EUI uređaja, ovo je jedinstveni ključ koji vaš arduino koristi za autentifikaciju.
- Da bismo dobili ovaj ključ, moramo arduino prebaciti s određenom skicom. Skica se može pronaći ovdje. Ova skica bi se trebala pokrenuti i preko serijskog monitora poslati eui. Kopirajte eui sa serijskog monitora u polje Device EUI na mreži stvari.
- Kliknite registriraj.
- Sada smo registrirali naš arduino u oblaku. Vrijeme je za početak slanja poruka.
- Trebali ste biti preusmjereni na stranicu koja se zove Pregled uređaja. Ovdje možete vidjeti svoj uređaj eui, aplikaciju eui i ključ aplikacije.
- Za nastavak moramo prebaciti posljednju skicu na arduino. Skicu možete pronaći ovdje.
- Kada otvorite ovu vezu vidjet ćete da postoji više kartica. Otvorite karticu tajne. Postoje 2 ključa s kojima morate upravljati od mreže stvari do datoteke tajni.
- Nakon što su ti ključevi ispunjeni, možete bljeskati arduino. Počet će slati podatke u mrežu stvari svakih sat vremena.
-
Ako je sve prošlo kako treba, trebali biste moći vidjeti poruke koje dolaze na kartici Podaci na mreži stvari nakon resetiranja arduina (jedinog gumba na ploči).
- Ako se ovdje ne pojavljuju podaci, to može značiti da niste u dometu ispravnog LoRa pristupnika. Kartu sa svim dostupnim pristupnicima možete provjeriti na https://thethingsnetwork.org. Jednokanalni LoRa pristupnici neće raditi s preporučenim arduinom.
- Ako niste u dometu pristupnika, tada možete spojiti vlastiti pristupnik na mrežu stvari. Ovi pristupnici obično imaju prilično dobre vodiče o tome kako ih povezati. Preporučeni pristupnik potražite na popisu zaliha.
5. korak: Tumačenje podataka na mreži stvari
- Da bismo dobili upotrebljive podatke iz poruka na mreži stvari, moramo dekodirati bytestream.
- Na mreži stvari idite na svoju aplikaciju.
- Trebala bi postojati kartica s oznakom "Formati korisnog tereta", kliknite ovu karticu.
- Postoje 4 gumba jedan do drugog: "dekoder", "pretvarač", "validator", "koder".
- Kliknite na dekoder.
- Tamo zalijepite sljedeći kôd.
funkcija Decoder (bytes, port) {// Dekodiranje poruke uzlazne veze iz međuspremnika // (niz) bajtova u objekt polja. var stringToDecode = bin2String (bajtovi); var res = stringToDecode.split (""); var temp = res [1]; var moist = res [3]; var bat = res [5]; var decoded = {"temperatura": temp, "vlaga": vlažno, "baterija": šišmiš}; povratak dekodiran; } funkcija bin2String (niz) {var result = ""; for (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (niz )); } vrati rezultat;}
- Pritisnite spremi.
- Kad resetirate arduino i pogledate karticu s podacima, trebali biste vidjeti lijepo oblikovan json objekt koji možete lako pročitati.
Korak 6: Povezivanje vaše aplikacije s AWS -om
Koristit ćemo AWS za pohranu i korištenje podataka s mreže stvari. Svi resursi koje ćemo koristiti pokriveni su besplatnim slojem AWS -a.
- Idite na AWS
- Prijavite se ili stvorite račun.
- Za povezivanje vaše aplikacije na mreži stvari s AWS-om preporučujem da slijedite ovaj vodič:
- Nakon što dovršite ovaj vodič, u konzoli aws idite na segment IoT-Core.
- U lijevoj traci izbornika nalazi se oznaka "Upravljanje", kliknite ovo.
- Sada biste trebali vidjeti karticu s imenom vašeg senzora.
- Ponovno na lijevoj traci izbornika kliknite "Postupi"
- Ako postoji kartica s oznakom Trgovina, možete krenuti.
- Ako ne, kliknite na "Kreiraj".
- Ispunite naziv "Trgovina".
- Ako želite, možete dodati opis.
- Kao izraz upita ispunite sljedeći kod: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery IZ 'cactus_network/devices/+/up'.
- U odjeljku "Postavi jednu ili više radnji" kliknite dodaj radnju.
- Odaberite "Podijeli poruku u više stupaca DynamoDb tablice (DynamoDBv2)".
- Pritisnite konfiguriranje radnje
- Pritisnite Stvori novi resurs.
- Pritisnite Stvori tablicu i dajte joj naziv.
- Pod primarnim ključem popunite "dev_id".
- Pritisnite dodaj tipku za sortiranje
- Ispunite "vrijeme".
- Pritisnite stvoriti.
- Ako je sve prošlo dobro, trebali biste se vratiti na stranicu s radnjama za konfiguriranje.
- Postoji malo zasivljeno područje pod "Odaberite ili izradite ulogu kako biste AWS IoT -u odobrili pristup za izvođenje ove radnje."
- Pritisnite stvoriti ulogu i dajte ovoj ulozi ime.
- Pritisnite stvoriti ulogu.
- Kliknite na dodavanje radnje.
- Kliknite Stvori pravilo.
- Sada biste trebali imati pravilo koje automatski sprema sve dolazne poruke s mreže stvari u DynamoDb.
- Možete provjeriti radi li ovo resetiranjem arduina i idite pogledati DynamoDb tablicu koju ste upravo stvorili.
- Trebao bi postojati zapis s porukom.
Korak 7: Stvaranje lambde
Za čitanje podataka iz DynamoDB -a napisat ćemo AWS lambda.
- U konzoli za upravljanje AWS -om pod uslugama nalazi se veza s oznakom "Lambda", kliknite ovu.
- Pritisnite stvoriti funkciju.
- Odaberite ime.
- Postavite vrijeme izvođenja na python 3.7.
- Pritisnite stvoriti funkciju.
- Zalijepite ovaj kôd u integrirani IDE.
uvoziti json
import boto3 vrijeme uvoza iz datetime uvoz datetime, timedelta iz boto3.dynamodb.conditions import Key, Attr def lambda_handler (događaj, kontekst): return retreive_data () def retreive_data (): # Preuzmite resurs usluge. dynamodb = boto3.resource ('dynamodb') table = dynamodb. Table ('TABLE NAME HERE') now = datetime.now () jučer = sad - timedelta (sati = 24) fe = Key ('vrijeme'). između (jučer.isoformat (), sada.isoformat ()) fed = Key ('vrijeme'). lt (jučer.isoformat ()) response = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = feed) za f u recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Items '] vratiti podatke
- Promijenite naziv tablice u onaj koji odaberete.
- Pomaknite se dolje do uloge izvršenja.
- Kliknite stvorite novu ulogu iz predložaka pravila aws.
- Odaberite ime.
- Pod predlošcima pravila odaberite "Dopuštenja za testiranje pojaseva" i "Jednostavna dopuštenja za mikro usluge".
- Pritisnite spremi.
- Kliknite test.
- Može se pojaviti skočni prozor, samo odaberite naziv i spremite.
- Ponovno kliknite test.
- Pri vrhu bi se trebao nalaziti zeleni transparent s natpisom "Rezultat izvršenja: uspjelo".
- Kada kliknete na ovaj banner, trebali biste vidjeti izlaz ove funkcije, ovo bi trebao biti popis senzorskih podataka.
- Imajte na umu da ova skripta briše sve podatke starije od 24 sata.
- U slučaju da vaš banner nije zelen nego crven, nešto ste propustili, a klikom na ovaj banner dobit ćete potpunu poruku o pogrešci. U ovom slučaju google je vaš najbolji prijatelj.
Korak 8: Stvaranje krajnje točke API -ja
- U konzoli za upravljanje AWS-om pod uslugama nalazi se veza s oznakom "api-gateway", kliknite ovu.
- Pritisnite Stvori API.
- Provjerite jesu li odabrani "REST" i "New API".
- Odaberite naziv za svoj api.
- Pritisnite Stvori API.
- Na ekranu bi se sada trebao pojaviti gumb s oznakom radnje, kliknite ga.
- Zatim kliknite Stvori resurs.
- Kao naziv izvora trebali biste napraviti nešto jednostavno poput "biljka" ili "biljni podaci".
- Pritisnite Stvori resurs.
- S lijeve strane sada bi trebao biti naziv koji ste upravo unijeli. kliknite na ovo ime.
- Sada ponovno kliknite radnje, a zatim kliknite način dodavanja.
- Odaberite GET.
- Pritisnite kvačicu.
- Trebao bi postojati tekstualni okvir s oznakom Lambda funkcija.
- Ovdje unesite naziv koji ste dobili od lambda funkcije.
- Pritisnite spremi.
- Možda će se pojaviti skočni prozor koji vas upozorava da stvara dodatna dopuštenja.
- Prihvati ovaj skočni prozor.
- Sada pod radnjama kliknite omogući korpe.
- Kliknite "omogući CORS i zamijeni postojeća CORS zaglavlja".
- Kliknite "da, …".
- Ponovno kliknite radnje i kliknite API za implementaciju.
- U fazi implementacije odaberite [Nova faza].
- Odaberite ime.
- Kliknite na implementaciju.
- Sada ste svijetu objavili svoj API.
- Na ekranu na koji ste sada stigli kliknite "DOBI" i potražite resurs koji ste upravo stvorili.
- Na vrhu bi trebala postojati veza s oznakom "dozvati URL".
- Kopirajte ovu vezu.
- Zalijepite ga u preglednik i pritisnite enter.
- Trebali biste vidjeti podatke koji se nalaze u bazi podataka.
Korak 9: Povežite svoju biljku s mrežom društvenih biljaka
- Idite na
- Kliknite "Prijava".
- Kliknite na Kreiraj račun.
- Ispunite obrazac kako biste stvorili svoj račun.
- Imajte na umu da korisničko ime mora biti i vaša e -adresa.
- Kliknite na Kreiraj račun.
- Možda ćete morati potvrditi svoju e -poštu da biste mogli nastaviti.
- Provjerite jeste li prijavljeni.
- Vratite se na početnu stranicu (kliknite logotip u gornjem lijevom kutu).
- Pritisnite gumb za postavke.
- Ispunite obrazac, morate popuniti svako polje.
- Veza na api je veza koju ste spremili nakon što ste stvorili krajnju točku API -ja.
- Kada je sve popunjeno, kliknite gumb Spremi biljku. sustav će sada provjeriti api vezu koju ste unijeli i ako je to točno, spremit će vašu pogon u mrežu.
- Vratite se na početnu stranicu.
- Sada možete kliknuti na sve biljke, trebali biste moći vidjeti sve registrirane biljke. vaša bi biljka također trebala biti tamo. kliknite karticu i bit ćete preusmjereni na stranicu pregleda vašeg pogona, također će prikazati savjete na temelju vrijednosti koje ste postavili u postavkama.
Korak 10: Naslonite se i potapšajte se po leđima
Upravo ste spojili biljku na internet. Prilično impresivno, zar ne?
Preporučeni:
Kako povezati Raspberry Pi s oblakom pomoću Node.js: 7 koraka
Kako povezati Raspberry Pi s oblakom pomoću Node.js: Ovaj je vodič koristan za svakoga tko želi povezati Raspberry Pi s oblakom, posebno na AskSensors IoT platformu, koristeći Node.js. Nemate Raspberry Pi? Ako trenutno nemate Raspberry Pi, preporučit ću vam da nabavite Raspberry
Kućna automatizacija kontrolirana internetom/oblakom pomoću Esp8266 (aREST, MQTT, IoT): 7 koraka (sa slikama)
Kućna automatizacija koja se kontrolira internetom/oblakom pomoću Esp8266 (aREST, MQTT, IoT): SVI krediti na http://arest.io/ za uslugu u oblaku !! IoT trenutno najpopularnija tema na svijetu !! Poslužitelji i usluge u oblaku koji to omogućuju atrakcija su današnjeg svijeta … IZLAZI BARIJERU DALJINA bila je i jest
Sustav upozorenja za tlo niske vlažnosti za vašu biljku: 5 koraka
Sustav upozorenja za tlo niske vlažnosti za vašu biljku: U nekoliko stambenih objekata uobičajeno je pronaći staklenke s različitim vrstama biljaka. S obzirom na veliki broj svakodnevnih aktivnosti, ljudi zaboravljaju zalijevati svoje biljke i umiru zbog nedostatka vode. Kao način da izbjegnemo ovaj problem, odlučili smo
Učinite svoju biljku PAMETNOM! (Autor Arduino): 5 koraka
Učinite svoju biljku PAMETNOM! (Autor Arduino): Dakle, uvijek ste se pitali kako dodati tehnologiju u svoje biljke? S ovim cool projektom možete se pobrinuti da vaše ljupke biljke uvijek budu u dobrom stanju. Nakon što napravite ovaj projekt, učinit ćete sljedeće: Naučiti kako koristiti analogno-izlazne senzore Naučiti kako t
Uzgojite vlastitu LED biljku koja mijenja boju!: 9 koraka
Uzgojite vlastitu LED biljku koja mijenja boju !: U ovom uputstvu naučit ću vas kako uzgojiti vlastitu LED biljku od jednostavnih materijala