Cuprins:

Conectați-vă planta la cloud: 10 pași
Conectați-vă planta la cloud: 10 pași

Video: Conectați-vă planta la cloud: 10 pași

Video: Conectați-vă planta la cloud: 10 pași
Video: iPhone/iPad-activare produs si creare cont Apple 2024, Noiembrie
Anonim
Conectați-vă planta la nor
Conectați-vă planta la nor
Conectați-vă planta la nor
Conectați-vă planta la nor
Conectați-vă planta la cloud
Conectați-vă planta la cloud

În biroul nostru există un cactus care nu primea atenția pe care o merita. Deoarece lucrez la o companie IT și am vrut să experimentez cu LoRa, soluții fără server și AWS, am numit cactusul nostru Steeve și l-am conectat la cloud. Acum îl poți monitoriza pe Steeve aproape de oriunde în lume folosind pagina web pe care am creat-o pentru el: interfața web a lui Steeve.

Provizii

1 cactus / planta ta preferată

1 Arduino MKR WAN 1300 (magazin Arduino)

1 868mHz / 914mHz (depinde de locația dvs.) antenă (Amazon)

1 LoRa Gateway când nu se află în raza de acțiune a unuia (Amazon)

2 baterii AA

1 senzor TMP102 (Amazon)

1 senzor de umiditate a solului (Amazon)

Cabluri conductoare (Amazon)

ciocan de lipit

Suport baterie (Amazon)

caz

opțional: imprimantă 3D (dacă puteți utiliza o imprimantă 3D, atunci nu aveți nevoie de un suport pentru baterie sau de o carcasă)

Pasul 1: Tipărirea carcasei (opțional)

Tipărirea carcasei (opțional)
Tipărirea carcasei (opțional)
Tipărirea carcasei (opțional)
Tipărirea carcasei (opțional)

Descărcați acest fișier zip, dezarhivați-l și imprimați fișierele. Fișierele sunt marcate cu cantitatea necesară a articolului.

Simțiți-vă liber să adăugați ceva la capac, așa cum am făcut.

Le-am imprimat folosind o înălțime a stratului de 0,2 mm și umplutură de 15%.

Cârligele pot fi atașate folosind șuruburi m3.

Când cutia este tipărită, puteți utiliza unele fire pentru a face conexiunile necesare pe suportul bateriei. Puteți utiliza imaginea furnizată ca referință.

Pasul 2: Cablare

Cablare
Cablare
  • Înainte de a porni arduino-ul, asigurați-vă că antena este conectată, alimentarea arduino-ului fără antena poate provoca daune.
  • Conectați totul conform schemei de cabluri furnizate.
  • Dacă lipiți aceste fire, asigurați-vă că nu puneți niciun pin pe senzori sau pe arduino!

Pasul 3: Creați o aplicație în rețeaua de lucruri

  • Accesați https://www.thethingsnetwork.org/ și, dacă nu aveți încă un cont, creați unul.
  • După ce aveți un cont și sunteți conectat, puteți merge la consolă (colțul din dreapta sus, faceți clic pe numele de utilizator și apoi pe consolă).
  • Faceți clic pe aplicații.
  • Odată ce pagina s-a încărcat, ar trebui să puteți face clic pe „adăugați aplicație”.
  • Completați formularul și alegeți regiunea corectă în partea de jos. Faceți clic pe „adăugați aplicație”.
  • Felicitări, tocmai ai creat o aplicație în rețeaua de lucruri. = D

Pasul 4: Conectarea Arduino la rețeaua de lucruri

Pentru a programa arduino, vă sfătuiesc să utilizați ideea arduino online, ceea ce face ca încărcarea în biblioteca necesară să fie foarte ușoară.

  • Deschideți aplicația în rețeaua de lucruri.
  • Ar trebui să existe un câmp intitulat dispozitive, faceți clic pe înregistrare dispozitiv.
  • veți vedea un câmp numit ID dispozitiv. acesta este numele pe care doriți să-l dați senzorului. Ar trebui să existe un alt dispozitiv etichetat EUI, aceasta este cheia unică pe care arduino o folosește pentru a se autentifica.
  • Pentru a obține această cheie, trebuie să intermitem arduino cu o schiță specifică. Schița poate fi găsită dincolo. Această schiță ar trebui să ruleze și peste monitorul serial ar trebui să trimită eui. Copiați eui-ul de pe monitorul serial în câmpul Device EUI din rețeaua de obiecte.
  • Faceți clic pe înregistrare.
  • Acum ne-am înregistrat arduino-ul în cloud. Este timpul să începeți să trimiteți mesaje.
  • Ar fi trebuit să fiți redirecționat către o pagină numită prezentare generală a dispozitivului. Aici puteți vedea dispozitivul eui, aplicația eui și cheia aplicației.
  • Pentru a continua, trebuie să trimitem schița finală pe arduino. Schița poate fi găsită aici.
  • Când deschideți acest link, veți vedea că există mai multe file. Deschide fila secrete. Există 2 chei de care aveți nevoie pentru a face față rețelei de lucruri în fișierul secret.
  • Odată completate aceste taste, puteți arunca arduino-ul. Va începe să trimită date către rețeaua de lucruri o dată pe oră.
  • Dacă totul a mers bine, ar trebui să puteți vedea mesajele care intră în fila Date din rețeaua de lucruri la resetarea arduino (singurul buton de pe tablă).

    • Dacă nu apar date acolo, acest lucru ar putea însemna că nu vă aflați în raza unui gateway LoRa corect. Puteți verifica o hartă cu toate gateway-urile disponibile pe https://thethingsnetwork.org. Gateway-urile LoRa cu un singur canal nu vor funcționa cu arduino recomandat.
    • Dacă nu vă aflați în raza de acțiune a unui gateway, atunci puteți cupla propriul gateway către rețeaua de lucruri. Aceste gateway-uri au de obicei tutoriale destul de bune despre cum să le conectați. Căutați în lista de aprovizionare gateway-ul recomandat.

Pasul 5: Interpretarea datelor din rețeaua de lucruri

  • Pentru a obține date utilizabile din mesajele din rețeaua de lucruri, trebuie să decodăm fluxul secundar.
  • În rețeaua de lucruri, accesați aplicația dvs.
  • Ar trebui să existe o filă etichetată „Formate de încărcare utilă”, faceți clic pe această filă.
  • Există 4 butoane una lângă alta: „decodor”, „convertor”, „validator”, „codificator”.
  • Faceți clic pe decodor.
  • Lipiți următorul cod acolo.

funcție Decoder (octeți, port) {// Decodează un mesaj de legătură ascendentă dintr-un buffer // (matrice) de octeți într-un obiect de câmpuri. var stringToDecode = bin2String (octeți); var res = stringToDecode.split (""); var temp = res [1]; var umed = res [3]; var bat = res [5]; var decodificat = {"temperatura": temp, "umiditate": umed, "baterie": liliac}; retur decodat; } function bin2String (array) {var result = ""; for (var i = 0; i <array.length; ++ i) {result + = (String.fromCharCode (array )); } rezultatul returnării;}

  • Faceți clic pe Salvați.
  • Când resetați arduino și vizualizați fila de date, ar trebui să vedeți un obiect json frumos formatat pe care îl puteți citi cu ușurință.

Pasul 6: Conectarea aplicației la AWS

Vom folosi AWS pentru a stoca și utiliza datele din rețeaua de lucruri. Toate resursele pe care le vom folosi sunt acoperite de nivelul gratuit al AWS.

  • Accesați AWS
  • Loghează-te sau creează un cont.
  • Pentru a vă conecta aplicația din rețeaua de lucruri la AWS, vă recomand să urmați acest tutorial:
  • După ce ați finalizat acest tutorial, navigați în consola aws la segmentul IoT-Core.
  • În bara de meniu din stânga există o etichetă „Gestionați”, faceți clic pe aceasta.
  • Acum ar trebui să vedeți un card cu numele senzorului în el.
  • Din nou în bara de meniu din stânga, faceți clic pe „Act”
  • Dacă există un card cu eticheta Magazin, sunteți bine să mergeți.
  • Dacă nu, faceți clic pe „Creați”.
  • Completați numele „Magazin”.
  • Puteți adăuga o descriere dacă doriți.
  • Ca declarație de interogare, completați următorul cod: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network / devices / + / up'.
  • Sub „Setați una sau mai multe acțiuni”, faceți clic pe adăugați acțiune.
  • Selectați „Împărțiți mesajul în mai multe coloane ale unui tabel DynamoDb (DynamoDBv2)”.
  • Faceți clic pe configurare acțiune
  • Faceți clic pe creați o resursă nouă.
  • Faceți clic pe creați tabelul și dați tabelului un nume.
  • Sub cheia principală, completați „dev_id”.
  • Faceți clic pe adăugare cheie de sortare
  • Completați „timpul”.
  • Faceți clic pe creați.
  • Dacă totul a mers bine, ar trebui să vă întoarceți la pagina de configurare a acțiunii.
  • Există o zonă ușor gri în „Alegeți sau creați un rol pentru a acorda acces AWS IoT pentru a efectua această acțiune”.
  • Faceți clic pe creați rolul și dați acestui rol un nume.
  • Faceți clic pe creați un rol.
  • Faceți clic pe adăugați acțiune.
  • Faceți clic pe creați o regulă.
  • Acum ar trebui să aveți o regulă care stochează automat toate mesajele primite din rețeaua de lucruri din DynamoDb.
  • Puteți verifica dacă funcționează resetând arduino-ul și mergeți să vă uitați în tabelul DynamoDb pe care tocmai l-ați creat.
  • Ar trebui să existe o înregistrare cu mesajul.

Pasul 7: Crearea unui Lambda

Pentru a citi datele din DynamoDB, vom scrie un AWS lambda.

  • În consola de administrare AWS din cadrul serviciilor există un link etichetat „Lambda”, faceți clic pe acesta.
  • Faceți clic pe funcția de creare.
  • Alegeți un nume.
  • Setați runtime la python 3.7.
  • Faceți clic pe funcția de creare.
  • Lipiți acest cod în IDE integrat.

import json

import boto3 import time from datetime import datetime, timedelta from boto3.dynamodb.conditions import Key, Attr def lambda_handler (event, context): return retreive_data () def retreive_data (): # Obține resursa de serviciu. dynamodb = boto3.resource ('dynamodb') table = dynamodb. Table ('TABLE NAME AICI') now = datetime.now () ieri = now - timedelta (hours = 24) fe = Key ('time'). between (ieri.isoformat (), acum.isoformat ()) fed = Cheie ('timp'). lt (ieri.isoformat ()) răspuns = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = alimentat) pentru f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Items '] returnează date

  • Schimbați numele tabelului cu cel pe care îl alegeți.
  • Derulați în jos la rolul de execuție.
  • Faceți clic pe creați un rol nou din șabloanele de politici aws.
  • Alegeți un nume.
  • În șabloanele de politică, selectați „Testați permisiunile de cablare” și „Permisiuni simple de microserviciu”.
  • Faceți clic pe Salvați.
  • Faceți clic pe test.
  • Este posibil să apară un popup, trebuie doar să alegeți un nume și să salvați.
  • Faceți clic din nou pe test.
  • În partea de sus ar trebui să existe un banner verde care să scrie „Rezultatul execuției: reușit”.
  • Când faceți clic pe acest banner, ar trebui să vedeți rezultatul acestei funcții, aceasta ar trebui să fie o listă af sensordata.
  • Rețineți că acest script șterge toate datele mai vechi de 24 de ore.
  • În cazul în care bannerul dvs. nu este verde, ci roșu, ați pierdut ceva și dacă faceți clic pe acest banner, veți primi mesajul complet al erorilor. În acest caz, google este cel mai bun prieten al tău.

Pasul 8: Crearea unui punct final API

  • În consola de administrare AWS din cadrul serviciilor există un link etichetat „api-gateway”, faceți clic pe acesta.
  • Faceți clic pe creați API.
  • Asigurați-vă că „REST” și „API nou” sunt ambele selectate.
  • Alegeți un nume pentru API-ul dvs.
  • Faceți clic pe creați API.
  • Acum ar trebui să apară un buton cu acțiuni pe ecran, faceți clic pe el.
  • Apoi faceți clic pe creați resursă.
  • Ca nume de resursă, ar trebui să luați ceva simplu, cum ar fi „plantă” sau „plantă-date”.
  • Faceți clic pe creați resursă.
  • În stânga ar trebui să fie acum numele pe care tocmai l-ați introdus. faceți clic pe acest nume.
  • Acum faceți clic din nou pe acțiuni și acum faceți clic pe add method.
  • Selectați OBȚINE.
  • Faceți clic pe bifa.
  • Ar trebui să existe o casetă text numită Funcție Lambda.
  • Introduceți aici numele care v-ați dat funcția lambda.
  • Faceți clic pe Salvați.
  • Este posibil să existe un popup care să vă avertizeze că creează permisiuni suplimentare.
  • Acceptați acest popup.
  • Acum, sub acțiuni, faceți clic pe activați cors.
  • Faceți clic pe „activați CORS și înlocuiți antetele CORS existente”.
  • Faceți clic pe „da,…”.
  • Faceți clic din nou pe acțiuni și faceți clic pe Deploy API.
  • În etapa de implementare selectați [Etapă nouă].
  • Alegeți un nume.
  • Faceți clic pe implementare.
  • Ați publicat api-ul dvs. online în lume.
  • Pe ecranul în care ați ajuns acum faceți clic pe „OBȚINEȚI” și introduceți resursa pe care tocmai ați creat-o.
  • Ar trebui să existe un link în partea de sus etichetată „invoca URL”.
  • Copiați acest link.
  • Lipiți-l într-un browser și apăsați Enter.
  • Ar trebui să vedeți datele care se află în baza de date.

Pasul 9: Conectați-vă planta la rețeaua de plante sociale

  • Accesați
  • Faceți clic pe „Conectare”.
  • Faceți clic pe creați cont.
  • Completați formularul pentru a vă crea contul.
  • Vă rugăm să rețineți că și numele de utilizator trebuie să fie adresa dvs. de e-mail.
  • Faceți clic pe creați cont.
  • Este posibil să fie necesar să vă verificați adresa de e-mail înainte de a continua.
  • Asigurați-vă că sunteți autentificat.
  • Reveniți la pagina de pornire (faceți clic pe sigla din colțul din stânga sus).
  • Glick butonul de setări.
  • Completați formularul, ar trebui să completați fiecare câmp.
  • Link-ul către API este linkul salvat după ce ați creat punctul final API.
  • Când totul este completat, faceți clic pe butonul Salvare plantă. sistemul va verifica acum link-ul API pe care l-ați introdus și dacă acest lucru este corect, vă va salva instalația în rețea.
  • Reveniți la pagina de pornire.
  • Acum puteți face clic pe toate plantele, ar trebui să puteți vedea toate plantele înregistrate. planta ta ar trebui să fie și acolo. faceți clic pe card și veți fi direcționat către o pagină de prezentare generală a plantei dvs., acesta va afișa, de asemenea, sfaturi bazate pe valorile pe care le-ați setat în setări.

Pasul 10: Înclină-te și dă-te pe spate

Tocmai ați conectat o instalație la internet. Destul de impresionant, nu?

Recomandat: