Cuprins:
- Provizii
- Pasul 1: Tipărirea carcasei (opțional)
- Pasul 2: Cablare
- Pasul 3: Creați o aplicație în rețeaua de lucruri
- Pasul 4: Conectarea Arduino la rețeaua de lucruri
- Pasul 5: Interpretarea datelor din rețeaua de lucruri
- Pasul 6: Conectarea aplicației la AWS
- Pasul 7: Crearea unui Lambda
- Pasul 8: Crearea unui punct final API
- Pasul 9: Conectați-vă planta la rețeaua de plante sociale
- Pasul 10: Înclină-te și dă-te pe spate
Video: Conectați-vă planta la cloud: 10 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Î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)
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
- Î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:
Cum să conectați NodeMCU ESP8266 la baza de date MySQL: 7 pași
Cum să conectați NodeMCU ESP8266 la baza de date MySQL: MySQL este un sistem de gestionare a bazelor de date relaționale (RDBMS) utilizat pe scară largă, care utilizează un limbaj de interogare structurat (SQL). La un moment dat, poate doriți să încărcați datele senzorului Arduino / NodeMCU în baza de date MySQL. În acest instructabil, vom vedea cum să ne conectăm
Cum să conectați Raspberry Pi la cloud folosind Node.js: 7 pași
Cum să conectați Raspberry Pi la cloud folosind Node.js: acest tutorial este util pentru oricine dorește să conecteze un Raspberry Pi la cloud, în special la platforma IoT AskSensors, utilizând Node.js. Nu aveți un Raspberry Pi? Dacă în prezent nu dețineți un Raspberry Pi, vă recomand să obțineți un Raspberry
Cum să conectați ESP8266 NodeMCU la IoT Cloud: 5 pași
Cum să conectați ESP8266 NodeMCU la Cloud IoT: Acest instructable vă arată o demonstrație simplă Internet of Things folosind ESP8266 NodeMCU și un serviciu IoT online numit AskSensors. Vă demonstrăm cum să obțineți rapid date de la clientul ESP8266 HTTPS și să le trasați în grafic în AskSensors Io
Cum să conectați un ESP32 la IoT Cloud: 8 pași
Cum să conectați un ESP32 la IoT Cloud: Acest instructiv vine într-o serie de articole despre conectarea hardware-ului, cum ar fi Arduino și ESP8266 la cloud. Vă voi explica cum să vă conectați cipul ESP32 la cloud cu serviciul AskSensors IoT. De ce ESP32? După marele succes
Cum să conectați senzorul de umiditate al solului și ESP8266 la Cloud IoT AskSensors: 10 pași
Cum să conectați senzorul de umiditate a solului și ESP8266 la Cloud IoT AskSensors: Acest instructiv vă arată cum să conectați senzorul de umiditate al solului și ESP8266 la cloud IoT. Pentru acest proiect vom folosi un nod MCU ESP8266 modul WiFi și un senzor de umiditate a solului care măsoară conținutul volumetric al apei din interiorul so