Taula de continguts:

Connecteu la vostra planta al núvol: 10 passos
Connecteu la vostra planta al núvol: 10 passos

Vídeo: Connecteu la vostra planta al núvol: 10 passos

Vídeo: Connecteu la vostra planta al núvol: 10 passos
Vídeo: The Ten Commandments | Dwight L Moody | Free Christian Audiobook 2024, De novembre
Anonim
Connecteu la vostra planta al núvol
Connecteu la vostra planta al núvol
Connecteu la vostra planta al núvol
Connecteu la vostra planta al núvol
Connecteu la vostra planta al núvol
Connecteu la vostra planta al núvol

A la nostra oficina hi ha un cactus que no estava rebent l’atenció que es mereixia. Com que treballo en una empresa de TI i volia experimentar amb LoRa, solucions sense servidor i AWS, vaig anomenar el nostre cactus Steeve i el vaig connectar al núvol. Ara podeu controlar Steeve des de qualsevol lloc del món mitjançant la pàgina web que he creat per a ell: la interfície web de Steeve.

Subministraments

1 cactus / la teva planta preferida

1 Arduino MKR WAN 1300 (botiga Arduino)

1 868 MHz / 914 MHz (depèn de la vostra ubicació) antena (Amazon)

1 passarel·la LoRa quan no es troba dins d'un (Amazon)

2 piles AA

1 sensor TMP102 (Amazon)

1 sensor d'humitat del sòl (Amazon)

Cables conductors (Amazon)

soldador

Suport de bateria (Amazon)

Caixa

opcional: impressora 3D (si podeu utilitzar una impressora 3D, no necessiteu ni un suport per a bateria ni cap funda)

Pas 1: Impressió de la funda (opcional)

Impressió de la funda (opcional)
Impressió de la funda (opcional)
Impressió de la funda (opcional)
Impressió de la funda (opcional)

Baixeu aquest fitxer zip, descomprimiu-lo i imprimiu-los. Els fitxers es marquen amb la quantitat necessària de l'article.

No dubteu a afegir alguna cosa a la tapa com jo.

Els vaig imprimir amb una alçada de capa de 0,2 mm i un 15% d’ompliment.

Els ganxos es poden fixar mitjançant cargols m3.

Quan s’imprimeixi la caixa, podeu utilitzar una mica de cable per fer les connexions necessàries al suport de la bateria. Podeu utilitzar la imatge proporcionada com a referència.

Pas 2: cablejat

Cablejat
Cablejat
  • Abans d’engegar l’arduino, assegureu-vos que l’antena estigui connectada; l’encesa de l’arduino sense l’antena pot causar danys.
  • Connecteu-ho tot segons el diagrama de cablejat proporcionat.
  • Si esteu soldant aquests cables, assegureu-vos que no col·loqueu cap pin als sensors ni a l'arduino.

Pas 3: creeu una aplicació a la xarxa de coses

  • Aneu a https://www.thethingsnetwork.org/ i, si encara no teniu cap compte, feu-ne un.
  • Un cop tingueu un compte i hàgiu iniciat la sessió, podeu anar a la consola (a l'extrem superior dret, feu clic al vostre nom d'usuari i, a continuació, a la consola).
  • Feu clic a les aplicacions.
  • Un cop carregada la pàgina, heu de poder fer clic a "Afegeix aplicació".
  • Empleneu el formulari i trieu la regió correcta a la part inferior. Feu clic a "Afegeix aplicació".
  • Enhorabona, acabeu de crear una aplicació a la xarxa de coses. = D

Pas 4: Connexió d'Arduino a la xarxa de coses

Per programar l’arduino, us aconsello que utilitzeu l’arduino ide en línia, cosa que facilita la càrrega a la biblioteca necessària.

  • Obriu la vostra aplicació a la xarxa de coses.
  • Hi hauria d’haver un camp titulat Dispositius, feu clic a Registra dispositiu.
  • veureu un camp anomenat Identificador de dispositiu. aquest és el nom que voleu donar al vostre sensor. Hauria d’haver-hi una altra etiqueta EUI de dispositiu, aquesta és l’única clau que utilitza el vostre arduino per autenticar-se.
  • Per obtenir aquesta clau, hem de fer flash l’arduino amb un esbós específic. L’esbós es pot trobar per aquí. Aquest esbós s'hauria d'executar i, a través del monitor sèrie, s'hauria d'enviar l'eui. Copieu l'eui del monitor sèrie al camp EUI del dispositiu de la xarxa de coses.
  • Feu clic a registre.
  • Ara hem registrat el nostre arduino al núvol. És hora de començar a enviar missatges.
  • Hauríeu d’haver estat redirigit a una pàgina anomenada descripció general del dispositiu. Aquí podeu veure l'eui del dispositiu, l'eui de l'aplicació i la clau de l'aplicació.
  • Per continuar, hem de llançar l'esbós final a l'arduino. L’esbós es pot trobar aquí.
  • Quan obriu aquest enllaç, veureu que hi ha diverses pestanyes. Obriu la pestanya secrets. Hi ha 2 claus que necessiteu per fer front a la xarxa de coses al fitxer de secrets.
  • Un cop emplenades aquestes tecles, podeu llançar l'arduino. Començarà a enviar dades a la xarxa de coses un cop cada hora.
  • Si tot va bé, hauríeu de poder veure els missatges que apareixen a la pestanya Dades de la xarxa de coses en restablir l'arduino (l'únic botó del tauler).

    • Si no apareixen dades per aquí, això pot significar que no esteu a l'abast d'una passarel·la LoRa correcta. Podeu consultar un mapa amb totes les passarel·les disponibles a https://thethingsnetwork.org. Les passarel·les LoRa d'un sol canal no funcionaran amb l'arduino recomanat.
    • Si no esteu a l'abast d'una passarel·la, podeu acoblar la vostra pròpia passarel·la a la xarxa de coses. Aquestes passarel·les solen tenir tutorials bastant bons sobre com connectar-los. Cerqueu a la llista de subministraments la passarel·la recomanada.

Pas 5: Interpretació de les dades de la xarxa de coses

  • Per obtenir dades utilitzables dels missatges de la xarxa d’objectes, hem de descodificar el bytestream.
  • A la xarxa de coses, aneu a la vostra aplicació.
  • Hi ha d'haver una pestanya amb l'etiqueta "Formats de càrrega útil"; feu clic a aquesta pestanya.
  • Hi ha 4 botons al costat: "descodificador", "convertidor", "validador", "codificador".
  • Feu clic al descodificador.
  • Enganxeu-hi el codi següent.

funció Descodificador (bytes, port) {// Decodifica un missatge d'enllaç ascendent des d'un buffer // (array) de bytes a un objecte de camps. var stringToDecode = bin2String (bytes); var res = stringToDecode.split (""); var temp = res [1]; var humit = res [3]; var bat = res [5]; var descodificat = {"temperatura": temperatura, "humitat": humit, "bateria": bat}; retorn descodificat; } funció bin2String (matriu) {var resultat = ""; for (var i = 0; i <array.length; ++ i) {result + = (String.fromCharCode (array )); } resultat de retorn;}

  • Feu clic a Desa.
  • Quan restabliu l’arduino i visualitzeu la pestanya de dades, hauríeu de veure un objecte json amb un format molt agradable que podeu llegir fàcilment.

Pas 6: connectar la vostra aplicació a AWS

Utilitzarem AWS per emmagatzemar i utilitzar les dades de la xarxa de coses. Tots els recursos que farem servir es cobreixen en el nivell gratuït d’AWS.

  • Aneu a AWS
  • Inicieu la sessió o creeu un compte.
  • Per connectar la vostra aplicació a la xarxa de coses a AWS, us recomano seguir aquest tutorial:
  • Un cop hàgiu completat aquest tutorial, aneu a la consola aws fins al segment IoT-Core.
  • A la barra de menú esquerra hi ha una etiqueta "Gestiona", feu clic a aquesta opció.
  • Ara hauríeu de veure una targeta amb el nom del sensor.
  • De nou a la barra de menú esquerra, feu clic a "Actua"
  • Si hi ha una targeta etiquetada com a botiga, esteu bé.
  • Si no, feu clic a "Crea".
  • Empleneu el nom "Botiga".
  • Podeu afegir una descripció si voleu.
  • Com a declaració de consulta, empleneu el codi següent: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network / devices / + / up'.
  • A "Establir una o més accions", feu clic a Afegeix una acció.
  • Seleccioneu "Divideix el missatge en diverses columnes d'una taula DynamoDb (DynamoDBv2)".
  • Feu clic a configurar l'acció
  • Feu clic a crea un recurs nou.
  • Feu clic a Crea taula i assigneu un nom a la taula.
  • A la clau principal, empleneu "dev_id".
  • Feu clic a Afegeix una clau d'ordenació
  • Empleneu "temps".
  • Feu clic a crear.
  • Si tot va bé, hauríeu de tornar a estar a la pàgina de configuració de l'acció.
  • Hi ha una àrea lleugerament grisenca a "Tria o crea un rol per concedir accés a AWS IoT per realitzar aquesta acció".
  • Feu clic a crea un rol i doneu un nom a aquest rol.
  • Feu clic a Crea un rol.
  • Feu clic a Afegeix una acció.
  • Feu clic a crea una regla.
  • Ara hauríeu de tenir una regla que emmagatzemi automàticament tots els missatges entrants de la xarxa de coses a DynamoDb.
  • Podeu comprovar si funciona, restablint l’arduino i aneu a la taula DynamoDb que acabeu de crear.
  • Hi hauria d’haver un registre amb el missatge.

Pas 7: crear una Lambda

Per llegir les dades de DynamoDB escriurem una lambda AWS.

  • A la consola d'administració d'AWS, sota serveis, hi ha un enllaç amb l'etiqueta "Lambda", feu clic a aquest.
  • Feu clic a la funció de creació.
  • Trieu un nom.
  • Estableix el temps d'execució a python 3.7.
  • Feu clic a la funció de creació.
  • Enganxeu aquest codi a l'IDE integrat.

importació 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 (): # Obteniu el recurs del servei. dynamodb = boto3.resource ('dynamodb') table = dynamodb. Table ('TABLE NAME AQUÍ') now = datetime.now () yesterday = now - timedelta (hours = 24) fe = Key ('time'). between (yesterday.isoformat (), now.isoformat ()) fed = Key ('time'). lt (yesterday.isoformat ()) response = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) for f a recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Items '] retornar dades

  • Canvieu el nom de la taula pel que trieu.
  • Desplaceu-vos cap avall fins al rol d'execució.
  • Feu clic a Crea un rol nou a partir de les plantilles de polítiques aws.
  • Trieu un nom.
  • A les plantilles de polítiques, seleccioneu "Prova de permisos d'arnès" i "Permisos simples de microservei".
  • Feu clic a Desa.
  • Feu clic a prova.
  • Pot aparèixer una finestra emergent, només heu de triar un nom i desar-la.
  • Torneu a fer clic a prova.
  • A la part superior hi hauria d’haver una pancarta verda que digués "Resultat d’execució: correcte".
  • Quan feu clic a aquest bàner, hauríeu de veure la sortida d'aquesta funció, que hauria de ser una llista de sensordata.
  • Tingueu en compte que aquest script elimina totes les dades de més de 24 hores.
  • En cas que el vostre bàner no sigui verd, sinó vermell, heu perdut alguna cosa i, si feu clic en aquest bàner, obtindreu el missatge complet de l'error. En aquest cas, google és el vostre millor amic.

Pas 8: creació d'un punt final de l'API

  • A la consola d'administració d'AWS, sota els serveis, hi ha un enllaç amb l'etiqueta "passarel·la API"; feu clic a aquest.
  • Feu clic a crear API.
  • Assegureu-vos que "REST" i "API nova" estiguin seleccionats.
  • Trieu un nom per a la vostra API.
  • Feu clic a crear API.
  • Ara hi hauria d’haver un botó etiquetat amb accions a la pantalla; feu-hi clic.
  • A continuació, feu clic a crea un recurs.
  • Com a nom del recurs, haureu de prendre alguna cosa senzill com "planta" o "planta-dades".
  • Feu clic a crea un recurs.
  • A l'esquerra, ara hi hauria d'haver el nom que acabeu d'introduir. feu clic en aquest nom.
  • Ara torneu a fer clic a accions i ara feu clic a Afegeix un mètode.
  • Seleccioneu GET.
  • Feu clic a la marca de verificació.
  • Hi hauria d’haver un quadre de text anomenat Funció Lambda.
  • Introduïu aquí el nom que us va donar la funció lambda.
  • Feu clic a Desa.
  • És possible que hi hagi una finestra emergent que us avisi que està creant permisos addicionals.
  • Accepteu aquesta finestra emergent.
  • Ara a les accions, feu clic a habilita cors.
  • Feu clic a "habilita CORS i substitueix les capçaleres CORS existents".
  • Feu clic a "sí, …".
  • Torneu a fer clic a accions i feu clic a Implementa l'API.
  • A la fase de desplegament, seleccioneu [Nova etapa].
  • Trieu un nom.
  • Feu clic a desplega.
  • Ara heu publicat la vostra API en línia al món.
  • A la pantalla on heu arribat, feu clic a "OBTENIR" i aneu al recurs que acabeu de crear.
  • A la part superior hi hauria d’haver un enllaç amb l’etiqueta "invoca URL".
  • Copieu aquest enllaç.
  • Enganxeu-lo al navegador i premeu Retorn.
  • Hauríeu de veure les dades que hi ha a la base de dades.

Pas 9: connecteu la vostra planta a la xarxa de plantes socials

  • Aneu a
  • Feu clic a "Inici de sessió".
  • Feu clic a crear compte.
  • Empleneu el formulari per crear el vostre compte.
  • Tingueu en compte que el nom d’usuari també ha de ser el vostre correu electrònic.
  • Feu clic a crear compte.
  • És possible que hàgiu de verificar el vostre correu electrònic abans de continuar.
  • Assegureu-vos que esteu connectat.
  • Torneu a la pàgina d'inici (feu clic al logotip a l'extrem superior esquerre).
  • Feu clic al botó de configuració.
  • Empleneu el formulari, hauríeu d’emplenar tots els camps.
  • L’enllaç a l’API és l’enllaç que heu desat després de crear el punt final de l’API.
  • Quan tot estigui omplert, feu clic al botó Desa la planta. ara el sistema verificarà l'enllaç API que heu introduït i, si és correcte, desarà la vostra planta a la xarxa.
  • Torneu a la pàgina d'inici.
  • Ara podeu fer clic a totes les plantes i hauríeu de poder veure totes les plantes registrades. la vostra planta també hi hauria de ser. feu clic a la targeta i se us dirigirà a una pàgina general de la vostra planta, també mostrarà consells basats en els valors que configureu a la configuració.

Pas 10: recolzeu-vos i feu-vos un copet a l'esquena

Acabeu de connectar una planta a Internet. Bastant impressionant, oi?

Recomanat: