Taula de continguts:

Sistema de monitorització de plantes IoT (amb plataforma IBM IoT): 11 passos (amb imatges)
Sistema de monitorització de plantes IoT (amb plataforma IBM IoT): 11 passos (amb imatges)

Vídeo: Sistema de monitorització de plantes IoT (amb plataforma IBM IoT): 11 passos (amb imatges)

Vídeo: Sistema de monitorització de plantes IoT (amb plataforma IBM IoT): 11 passos (amb imatges)
Vídeo: «Интернет вещей», Джеймс Уиттакер из Microsoft 2024, Desembre
Anonim
Sistema de monitorització de plantes IoT (amb plataforma IBM IoT)
Sistema de monitorització de plantes IoT (amb plataforma IBM IoT)

Visió general

El sistema de control de plantes (PMS) és una aplicació creada pensant en persones de la classe treballadora amb un polze verd en ment.

Avui en dia, les persones que treballen estan més ocupades que mai; avançar en la seva carrera professional i gestionar les seves finances. Les hores de treball són cada cop més llargues, cosa que deixa a aquestes persones menys temps per fer les coses que gaudeixen.

Això crea un problema per a les persones que tenen els polzes verds, treballen hores molt llargues i no tenen ajudant domèstic a casa per atendre les seves plantes.

Per tant, el PMS es va crear per ajudar aquestes persones a proporcionar una millor atenció, tot i assegurar un creixement òptim de les seves plantes a casa mentre treballen.

Resum de passos

A continuació es mostra un resum dels passos que es faran

  1. Connexió de maquinari
  2. Configuració de la plataforma IoT de l'IBM Bluemix
  3. Registra't per twilio
  4. Configureu el node raspberry pi (dispositiu de control de plantes) de color vermell
  5. Configuració del node bluemix red Configuració del servidor web

Pas 1: connecteu el maquinari

Connecteu maquinari
Connecteu maquinari
Connecta el maquinari
Connecta el maquinari

Requisits de maquinari

  • 2 Raspberry Pis
  • 1 tauler de pa
  • 1 cable de cinta GPIO
  • 1 placa d’extensió GPIO (kit de cobblers T)
  • 1 MCP3008 ADC (convertidor digital analògic)
  • 1 sensor DHT_11
  • 2 resistències de 10k Ohm
  • 1 resistència dependent de la llum
  • 1 sensor d'humitat del sòl (YL-69)
  • 1 sensor de nivell d'aigua
  • 26 cables (16 homes a homes, 10 homes a dones)

Connecteu les peces

Consulteu la segona imatge d’aquest pas per obtenir el diagrama de fritzing i connecteu les parts en conseqüència

Pas 2: Creeu recursos de la plataforma IoT

Creeu recursos de la plataforma IoT
Creeu recursos de la plataforma IoT
  1. Inicieu la sessió al vostre compte de Bluemix i aneu a la secció de la pàgina d’inici de l’IoT BoilerPlateshttps://new-console.ng.bluemix.net/catalog/starters/internet-of-things-platform-starter
  2. Introduïu el nom de l'aplicació i el nom de l'amfitrió. Espereu que Bluemix la configuri i l'estat mostra "La vostra aplicació s'està executant". Si encara no s'està executant al cap de 10 minuts, és possible que hàgiu de reiniciar l'aplicació fent clic al botó de reinici situat a la part superior cantonada dreta
  3. Des de la barra lateral, feu clic a "Connexions". Feu clic a l'enllaç del servei iotf de les connexions indicades. Se us redirigirà a la configuració del servei IOT. Feu clic al botó "Inicia" per ser redirigit a la consola iotf.
  4. Preneu nota de l'enllaç al qual se us redirigeix, per exemple: https://suwdek.internetofthings.ibmcloud.com/dashboard/ Les 6 lletres que apareixen davant de ".internetofthings.ibmcloud.com / dashboard /" són l'identificador de la vostra organització. Preneu-ne nota.

Pas 3: Creeu el tipus de dispositiu i el dispositiu

Creeu un tipus de dispositiu i un dispositiu
Creeu un tipus de dispositiu i un dispositiu
Creeu un tipus de dispositiu i un dispositiu
Creeu un tipus de dispositiu i un dispositiu
  1. Hauríeu d’estar a la consola de la plataforma IOT.
  2. A la barra lateral esquerra, feu clic a la icona de dispositius
  3. Feu clic a "Tipus de dispositiu" a la part superior
  4. Feu clic a "Afegeix un tipus de dispositiu" a l'extrem superior dret
  5. Introduïu la informació següent:

    1. Tipus: dispositiu
    2. Nom: raspberrypi
    3. Descripció: Raspberry Pi
  6. Feu clic a Següent i després a Fet
  7. Feu clic a "Examinar" a la part superior
  8. Feu clic a "Afegeix dispositiu"
  9. Introduïu la informació següent:

    1. Seleccioneu el tipus de dispositiu existent: raspberrypi
    2. DeviceID: pms1
  10. Feu clic al següent fins que arribeu al resum
  11. Feu clic a Fet
  12. Se us redirigirà a la pàgina de credencials del dispositiu. Tingueu en compte les dades del dispositiu. Això és important ja que el testimoni d’autenticació no es pot recuperar

Pas 4: creeu credencials de servei per a Cloudant

  1. Torneu a la consola bluemix (https://console.bluemix.net/dashboard/apps)
  2. Feu clic al servei cloudantNoSQLDB, a Cloud Foundry Services
  3. Al lateral, feu clic a Credencials de servei
  4. Feu clic al botó Nova credencial
  5. Feu clic a Afegeix
  6. Feu clic a Mostra les credencials a la columna Acció de les vostres credencials de servei creades recentment
  7. Preneu nota d’aquestes credencials. Més endavant els necessitareu per modificar el codi app.py

Pas 5: registreu-vos a Twilio

  1. Registreu-vos per obtenir un nou compte twilio a
  2. Després del registre, se us demanarà que nomeneu un projecte. En el meu cas, el vaig anomenar sistema de control de plantes.
  3. A la barra lateral, feu clic a tots els productes i serveis i feu clic a SMS programables.
  4. Feu clic a "Comença" Com que no teniu un número twilio, feu clic a "Obteniu un número"
  5. Es mostrarà una finestra emergent amb un número. Feu clic a "utilitza aquest número"
  6. Preneu nota d’aquest número twilio, el necessitareu més endavant.
  7. Aneu al tauler de la consola
  8. Preneu nota del SID del compte i del testimoni d'autenticació

Pas 6: instal·leu els paquets necessaris al dispositiu de control de plantes

  1. Instal·la el node redsudo npm install -g --unsafe-perm node-red
  2. Instal·la pahosudo pip install paho-mqtt
  3. Instal·leu el node Watson IoT per al node redsudo npm i -g node-red-contrib-ibm-watson-iot
  4. Instal·leu BCM2835

    1. wget
    2. tar zxvf bcm2835-1.52.tar.gz
    3. cd bcm2835-1.48
    4. ./configure
    5. fer
    6. sudo make check
    7. sudo make install Instal·la
  5. Node DHT-Sensors: npm install node-dht-sensor
  6. Instal·la els sensors DHT de Node Contrib: npm install --unsafe-perm -g node-red-contrib-dht-sensor
  7. Reinicieu el reinici del pisudo ara

Pas 7: Configureu l'aplicació Node Red per al dispositiu de control de plantes

Aplicació de configuració del node vermell per al dispositiu de control de plantes
Aplicació de configuració del node vermell per al dispositiu de control de plantes
Aplicació de configuració del node vermell per al dispositiu de control de plantes
Aplicació de configuració del node vermell per al dispositiu de control de plantes

Inicieu el node en vermell obrint el terminal i escrivint

inici vermell node

Benvingut a Node-RED ===================

20 de febrer 07:07:34 - [info] Versió Node-RED: v0.16.2

20 febrer 07:07:34 - [informació] Versió Node.js: v7.8.0 20 febrer 07:07:34 - [informació] Linux 4.4.50-v7 + arm LE 20 febrer 07:07:36 - [informació] Carregant nodes de paleta {MODE: {MODE_0: 0, MODE_1: 1, MODE_2: 2, MODE_3: 3}, CS: {none: 64, high: 4, low: 0}, ORDER: {msb: false, lsb: true}, Spi: [Funció: Spi]} 20 febrer 07:07:42 - [informació] Fitxer de configuració: /home/pi/.node-red/settings.js 20 febrer 07:07:42 - [informació] Directori d'usuaris: /home/pi/.node-red 20 febrer 07:07:42 - [info] Fitxer Fluxos: /home/pi/.node-red/start 20 febrer 07:07:42 - [info] El servidor s’executa ara a https://127.0.0.1: 1880/20 febrer 07:07:42 - [info] Fluxos inicials 20 febrer 07:07:43 - [info] Fluxos inicials

Obriu el navegador i connecteu-vos a l'aplicació vermella del node

Feu clic a la icona d'hamburguesa, passeu el cursor per sobre de "importar" i feu clic a "porta-retalls" i, a continuació, enganxeu el codi que es mostra a continuació a

[{"id": "d9ac3f49.78dc1", "type": "tab", "label": "Flux 1"}, {"id": "9b23dde8.8ae15", "type": "pimcp3008", " z ":" d9ac3f49.78dc1 "," name ":" MCP3008 "," pin ": 0," dnum ": 0," x ": 636.996208190918," y ": 148.48046493530273," wires ":

Assegureu-vos de canviar els nodes watson IoT "dades" i "RecordValues" de manera que es pugui connectar a la vostra aplicació.

Pas 8: configureu l'aplicació Node Red per al servidor

Configuració de l'aplicació Node Red per al servidor
Configuració de l'aplicació Node Red per al servidor
Configuració de l'aplicació Node Red per al servidor
Configuració de l'aplicació Node Red per al servidor
  1. Inicieu la sessió al vostre compte de bluemix i aneu al tauler (https://console.bluemix.net/dashboard/apps)
  2. Feu clic a l'enllaç a la vostra aplicació que es troba a la columna "Ruta" de la llista de les vostres aplicacions de Cloud Foundry
  3. Se us redirigirà a una altra pàgina, feu clic a "vés a l'editor vermell del vostre node"

De manera similar al pas anterior, feu clic a la icona d'hamburguesa, passeu el cursor per sobre de "importar" i feu clic a "porta-retalls" i, a continuació, enganxeu el codi que es mostra a continuació a

[{"id": "5ef69739.4622e8", "type": "tab", "label": "Flux 4", "disabled": false, "info": ""}, {"id": "ff6a8be6.47bb08 "," type ":" ibmiot in "," z ":" 5ef69739.4622e8 "," authentication ":" boundService "," apiKey ":" "," inputType ":" evt "," logicInterfaceId ": "", "ruleId": "", "deviceId": "", "applicationId": "", "deviceType": "", "eventType": "+", "commandType": "", "format": "json", "name": "My RaspberryPi Gateway", "service": "registered", "allDevices": true, "allApplications": "", "allDeviceTypes": true, "allEvents": true, "allCommands": "", "allFormats": "", "qos": 0, "x": 150, "y": 60, "wires":

Assegureu-vos de canviar el node twilio de manera que les vostres credencials twilio i el número twilio estiguin configurats al node

Pas 9: configureu el servidor web Pi

Configureu el servidor web Pi
Configureu el servidor web Pi

AL SEU SEGON PI DE FRASSA …

Instal·leu els paquets necessaris

Obriu el terminal i escriviu les ordres següents:

sudo pip instal·lar gpiozero

matràs d'instal·lació sudo pip

sudo pip install gevent

sudo pip instal·lar cloudant

Estructura del fitxer

Consulteu la imatge d’aquest pas per veure l’estructura del fitxer

Baixeu i afegiu contingut estàtic addicional

Per assegurar-nos que les nostres aplicacions web tinguin l’aspecte i el funcionament que es descriuen, haurem de descarregar i afegir contingut estàtic addicional perquè funcioni.

  • Bootstrap v3.3.7
  • FontAwesome v5.0.1
  • jQuery v3.1.0https://blog.jquery.com/2016/07/07/jquery-3-1-0-released-no-more-silent-errors/
  • Morrisjs v0.5.0
  • Raphael v2.2.0

Bootstrap

  1. Obrir el fitxer zip descarregat (bootstrap-3.3.7-dist.zip)
  2. Obriu la carpeta bootstrap-3.3.7-dist
  3. Extraieu tot el contingut a Application / static / bootstrap

FontAwesome

  1. Obriu el fitxer zip descarregat (fontawesome-free-5.0.1.zip)
  2. Obriu la carpeta fontawesome-free-5.0.2
  3. Obriu la carpeta web-fonts-with-css
  4. Extraieu tot el contingut a Application / static / font-awesome

jQuery

  1. Descarregueu jquery-3.1.0.js i jquery-3.1.0.min.js
  2. Introduïu els dos fitxers javascript a Application / static / jquery

Morrisjs

  1. Obriu el fitxer zip descarregat (morris.js-0.5.0.zip)
  2. Obriu la carpeta morris.js-0.5.0
  3. Extraieu tot el contingut a Application / static / morrisjs

Rafael

  1. Obriu el fitxer zip descarregat (raphael-2.2.0.zip)
  2. Obriu la carpeta raphael-2.2.0
  3. Extraieu tot el contingut a Application / static / raphael

Pas 10: afegiu codi per a fitxers al servidor web

Baixeu-vos els fitxers següents i afegiu-los als seus respectius directoris al servidor web pi

Recordeu que heu de canviar les credencials del servei al fitxer app.py per obtenir les vostres credencials de servei cloudant

NOTA: A causa d'un problema amb la càrrega del fitxer index.html, l'he penjat com a fitxer.txt. Si us plau, canvieu el nom a index.html després de descarregar-lo

Pas 11: Comenceu-ho

Comença-ho!
Comença-ho!
Comença-ho!
Comença-ho!

Al pi del vostre servidor web, executeu les ordres següents:

Aplicació de CD

sudo python app.py

Recomanat: