- Components necessaris:
- Configuració del correu electrònic a Raspberry Pi per enviar correus electrònics d’alerta:
- Configuració del flascó a Raspberry Pi:
- Codi HTML de la pàgina web:
- Contenidor intel·ligent que utilitza Raspberry Pi i sensor de pes
- Explicació del circuit:
- Explicació de treball:
És possible que hagueu sentit a parlar del refrigerador intel·ligent, que pot demanar automàticament els aliments que es quedin a la nevera, de manera que ens inspirem que estem construint un contenidor intel·ligent Raspberry Pi que utilitza la cèl·lula de càrrega i el sensor de pes HX711. Aquest contenidor intel·ligent us pot informar sobre el seu estat, com ara si està ple o buit, enviant un correu al vostre identificador de correu electrònic. També podem controlar el pes del contenidor en temps real mitjançant el navegador web, i això el converteix en un projecte IoT on podeu controlar el vostre contenidor des de qualsevol lloc mitjançant Internet. Aquí s’actualitzarà el pes del contenidor cada 5 segons al navegador web, aquesta durada es pot canviar fàcilment al fitxer de codi HTML. Hem establert el valor de pes llindar de 300 grams per enviar el correu electrònic sobre això " El contenidor està ple ”, aquest límit també es pot canviar. Consulteu el vídeo al final d’aquest tutorial.
Si no esteu familiaritzat amb la cèl·lula de càrrega i el mòdul HX711, consulteu els nostres projectes anteriors Mesurament automàtic de la porta de detecció de pes basada en Raspberry Pi i la mesura de pes Arduino mitjançant la cèl·lula de càrrega i el mòdul HX711.
Components necessaris:
Aquí estem fent servir Raspberry Pi 3 Raspbian Jessie OS. Tots els requisits bàsics de maquinari i programari s’han comentat prèviament. Podeu consultar-los a la Introducció de Raspberry Pi i al LED Raspberry PI Parpellejant per començar, a part del que necessitem:
- Raspberry Pi (qualsevol model hauria de funcionar)
- Cel·la de càrrega
- Mòdul d'amplificador de cel·la de càrrega HX711
- LCD de 16x2
- Font d’energia o banc d’energia
- Connexió de cables
- Taula de pa
- Perns de femella, marc i base
Aquí hem adjuntat una base de fusta amb la cel·la de càrrega per a una major estabilitat, amb l'ajut de femelles i cargols, com es mostra a continuació. Obteniu més informació sobre la cèl·lula de càrrega i el mòdul del sensor de pes HX711 aquí.


Configuració del correu electrònic a Raspberry Pi per enviar correus electrònics d’alerta:
Per enviar el correu des de Raspberry Pi, que conté l’estat de contenidor (complet o buit), hem d’instal·lar un programari. Aquí fem servir ssmtp, que és una solució fàcil i bona per enviar correus mitjançant la línia d’ordres o mitjançant Python Script. Hem d’instal·lar dues biblioteques per enviar correus mitjançant SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils

Després d’instal·lar biblioteques, l’usuari ha d’obrir el fitxer ssmtp.conf i editar aquest fitxer de configuració tal com es mostra a la imatge següent i desar-lo. Per desar i sortir del fitxer, premeu "CTRL + x", després "y" i després premeu "Retorn".
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 nom d’amfitrió = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = SÍ UseSTARTTLS = SÍ UseTLS = SÍ

També podem provar-ho enviant un missatge de prova mitjançant l’ordre següent: rebreu el correu a l’adreça de correu electrònic esmentada si tot funciona bé:
eco "Hello saddam" - mail -s "Testing…" [email protected]
A continuació es mostra la instantània dels correus electrònics d’alerta que vam obtenir durant les proves.

Configuració del flascó a Raspberry Pi:
Aquí hem creat un servidor web, que proporciona una manera d’enviar el valor de pes del contenidor des de Raspberry Pi a la xarxa mitjançant Flask en un navegador web. Flask ens permet executar els nostres scripts python a través d’una pàgina web i podem enviar i rebre dades de Raspberry Pi al navegador web i viceversa. Flask és un microframework per a Python. Aquesta eina està basada en Unicode i té un servidor i un depurador de desenvolupament integrats, suport integrat per a les proves d’unitats, suport per a cookies segures i fàcil d’utilitzar; aquestes coses el fan útil per a l’aficionat .
Instal·leu un paquet de suport de matràs al Raspberry Pi mitjançant l'ordre donada:
$ pip install Flask
A continuació, podem utilitzar el Flask només important-lo al nostre programa, de la mateixa manera que hem importat els següents paquets de Flask per a aquest projecte:
des de la importació de flascó Flask, render_template, request, jsonify
Podeu obtenir més informació sobre la programació mitjançant Flask aquí, també consulteu el nostre projecte anterior on hem utilitzat Flask per enviar el missatge des de la pàgina web a Raspberry Pi.
Codi HTML de la pàgina web:
També hem creat una pàgina web amb llenguatge HTML per mostrar el pes i el missatge d'alerta al navegador web. Hem utilitzat un petit script jQuery per carregar la pàgina (trucant a / show_weight) cada 5 segons per poder obtenir el valor del pes en temps real. A continuació es mostra el codi HTML de la pàgina web, inclosa la jQuery:
Circuit Digest
Contenidor intel·ligent que utilitza Raspberry Pi i sensor de pes
Pes del contenidor: 302 grams
(S’actualitza cada 5 segons)Alerta !!! S'envia el correu electrònic al
contenidor complet
.
L'usuari ha de copiar-enganxar el codi HTML indicat anteriorment en algun editor de text (bloc de notes) i desar el fitxer amb l'extensió.HTML (web.html). A continuació, poseu aquest fitxer HTML a la carpeta / templates pel que fa a la vostra ubicació de script python. Vol dir que heu de crear una carpeta anomenada plantilles, on heu col·locat el fitxer de codi Python per a aquest contenidor Raspberry Pi Smart i, a continuació, poseu el fitxer web.html en aquesta carpeta de plantilles . Aquest pas és important, en cas contrari el nostre projecte no funcionarà. Podeu obrir directament el fitxer web.html fent doble clic damunt per obtenir la sortida del codi HTML i veureu la pàgina web com es mostra a continuació. Consulteu tot el procés a Vídeo de demostració al final. Després d’haver acabat amb la programació i tot, només podem executar el codi Python a Raspberry Pi i obrir IP_address_of_your_Pi: 5010 al navegador web (com

La pàgina web també mostrarà un missatge d'alerta quan el pes del contenidor sobrepassi els 300 grams com es mostra a continuació:

Podeu comprovar l’adreça IP del vostre Raspberry Pi mitjançant l’ ordre ifconfig :
ifconfig
Explicació del circuit:
Les connexions d’aquest contenidor intel·ligent d’IoT són fàcils i es proporciona un esquema a continuació. Els pins LCD 16x2 RS, EN, d4, d5, d6 i d7 estan connectats amb els pins GPIO número 18, 23, 24, 25, 8 i 7 de Raspberry Pi respectivament i els pins DT i SCK del mòdul HX711 estan connectats directament amb el GPIO de Raspberry Pi els pins 27 i 17. Les connexions de les cel·les de càrrega amb el mòdul HX711 ja s’expliquen anteriorment i també es mostren al diagrama de circuits següent.

Explicació de treball:
El treball d’aquest contenidor intel·ligent és fàcil. En aquest projecte, hem utilitzat Raspberry Pi 3 per controlar tot el procés. La cel·la de càrrega detecta el pes del contenidor i subministra una tensió analògica elèctrica al mòdul amplificador de càrrega HX711. HX711 és un ADC de 24 bits, que amplifica i converteix la sortida de la cèl·lula de càrrega en forma digital. A continuació, aquest valor amplificat s’alimenta al Raspberry Pi. Ara Raspberry Pi calcula la sortida de l’HX711 i la converteix en el valor del pes.
A continuació, es compara aquest valor de pes amb el valor llindar predefinit (300 grams) mitjançant el codi Raspberry Pi i Python, si el pes del contenidor supera els 300 g, llavors Raspberry Pi envia un missatge de correu electrònic indicant que "Smart Container Alert…. Container Full". I si el pes es manté per sota dels 300 g, llavors Raspberry Pi envia un missatge de correu electrònic indicant "Alerta intel·ligent del contenidor…. El contenidor és buit".

El pes també es pot controlar mitjançant el navegador web, només cal que obriu la vostra adreça IP de Raspberry Pi amb el port 5010, com ara http://192.168.1.100:5010 (substituïu l'adreça IP per la vostra adreça). Aquí hem utilitzat Flask per enviar les dades de Raspberry Pi a una pàgina web a través de la xarxa. Aquesta pàgina s'actualitzarà automàticament cada 5 segons i obtindrem dades actualitzades, per això hem utilitzat jQuery tal com s'ha explicat Earliar.
També s’ha utilitzat una pantalla LCD de 16x2 opcional per mostrar el pes i els missatges d’estat.
A continuació es mostra el codi complet de Python, on tenim funcions escrites per conduir LCD, per llegir el valor de pes de la cel·la de càrrega, per mostrar dades a la pàgina web, etc. Podeu entendre-les fàcilment o si sou principiants, consulteu els nostres tutorials anteriors de Raspberry Pi.
