Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Onderdelen en benodigdheden

Raspberry Pi 3 Model B × 1
Arduino UNO × 1
NodeMCU ESP8266 Breakout Board × 1
DHT11 Temperatuur- & Vochtigheidsensor (4 pins) × 1
Seeed Grove - Gas Sensor (MQ2) × 1
MQ-7 CO-gassensor (generiek) × 1
Ultrasonische sensor - HC-SR04 (generiek) × 1
Raspberry Pi voeding × 1
HDMI-kabel × 1
USB-A naar B-kabel × 1
Jumper wires (generiek) × 1
5V batterij (generiek) × 1

Apps en online diensten

Over dit project

1. Inleiding

Gebouwautomatisering is de automatische gecentraliseerde controle van een gebouw's verwarming, ventilatie en airconditioning, verlichting en andere systemen via een building management system (BMS) of building automation system (BAS). De doelen zijn verbeterde comfort voor bewoners, efficiënte werking van gebouwsystemen, vermindering van energieverbruik en exploitatiekosten, en verbeterde levensduur van utiliteiten.

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

IOTA is een open-source gedistribueerde boekhoudtechnologie die veilige uitwisseling van informatie en waarde in het Internet of Things mogelijk maakt. Een van de belangrijkste innovaties van IOTA is dat het in plaats van de traditionele blockchain zijn eigen architectuur (Tangle) gebruikt, gebaseerd op het wiskundige concept Directed Acyclic Graph (DAG). Deze architectuur maakt het mogelijk dat er geen commissies zijn, de latentie laag is en de schaalbaarheid beter is. IOTA is momenteel in ontwikkeling en wordt verwacht dat de technologie in 2019 klaar is voor grootschalige adoptie.

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Specificaties Raspberry Pi 3 B:

  • CPU: Quad-core 64-bit ARM Cortex A53 @ 1,2 GHz
  • GPU: 400MHz VideoCore IV multimedia
  • Geheugen: 1GB LPDDR2-900 SDRAM
  • USB-poorten: 4
  • Video-uitgangen: HDMI, composite video (PAL/NTSC) via 3,5mm jack
  • Netwerk: 10/100 Mbps Ethernet en 802.11n Wireless LAN
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Kenmerken Arduino UNO:

  • Microcontroller: ATmega328
  • Werks spanning: 5V
  • Invoerspanning (aanbevolen): 7-12V
  • Digitale I/O-pinnen: 14 (waarvan 6 PWM)
  • Analoge ingangen: 6
  • DC-stroom per I/O-pin: 40 mA
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Kenmerken NodeMCU:

  • Programmeerbare WiFi-module
  • Arduino-achtige hardware I/O
  • Te programmeren met Arduino IDE
  • USB-TTL inbegrepen, plug & play
  • 10 GPIO's (D0-D10), PWM, I2C, SPI, 1-Wire, ADC A0
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Dit project is verdeeld in drie versies. Voor een beter begrip hebben we het opgedeeld in de volgende hoofdstukken:

  • 1. Inleiding
  • 2. Software-installatie
  • 3. Binnenklimaat Monitoring Systeem v1
  • 4. Binnenklimaat Monitoring Systeem v2
  • 5. Afval Monitoring Systeem
  • 6. Conclusies

2. Software-installatie

a) Installeer Raspbian op de Raspberry Pi 3 B

Ik installeerde NOOBS, de downloadlink en instructies vind je op: raspberrypi.org/downloads

b) Installeer Node.js

$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs

c) Download en bouw de BCM2835-bibliotheek op de Raspberry Pi. Deze bibliotheek helpt bij het werken met de DHT11-sensor.

$ wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1.56.tar.gz
$ tar zxvf bcm2835-1.56.tar.gz
$ cd bcm2835-1.56
$ ./configure
$ make
$ sudo make check
$ sudo make install

d) Download en installeer het indoor-air-quality-iota project op de Raspberry Pi

$ cd ~
$ git clone https://github.com/guillengap/indoor-air-quality-and-garbage-monitoring-system.git
$ cd indoor-air-quality-and-garbage-monitoring-system
$ npm install

e) Download en installeer serialport

$ npm install serialport

f) Download en installeer Arduino IDE: arduino.cc

3. Binnenklimaat Monitoring Systeem v1

De DHT11-sensordata wordt uitgelezen en naar de Tangle gepubliceerd via MAM.

Hoe werkt het?

a) Het project heeft 3 JavaScript-bestanden:

  • sensor.js: Leest DHT11-data (temperatuur en vochtigheid) en toont deze.
  • mam_sensor.js: Leest DHT11-data en publiceert naar de IOTA Tangle via MAM.
  • mam_receive.js: Haalt opgeslagen data op uit de Tangle via MAM en toont deze.

b) De full-node endpoint en side-key zijn hardcoded in de JavaScript-bestanden. Om een script te stoppen, druk op CTRL+Z.

c) Sluit de DHT11-sensor aan op de Arduino UNO.

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

d) Voer node sensor.js uit om te controleren of de Raspberry Pi temperatuur- en vochtigheidsdata kan uitlezen.

$ node sensor.js

e) Voer node mam_sensor.js uit. Dit script slaat de data op in de Tangle.

$ node mam_sensor.js
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

We testten met drie nodes en hadden de beste resultaten met: https://potato.iotasalad.org:14265

Verstuurde informatie:

  • Stad: MEXICO
  • Gebouw: 65
  • Datum en Tijd (UTC): JAAR, MAAND, DAG, UUR, MINUTEN, SECONDEN
  • Data: Temperatuur in °C en °F, Relatieve Vochtigheid %

f) Open een andere terminal en typ: node mam_receive.js your_root om de opgeslagen data te zien.

$ node mam_receive.js AMBTIKZKEVEEQFCUGIDUOLDOXL9OZQ9GOMNBFYHVRAUCAMHDQQJBSNAMFZYRLTUVAHFDINHTTFKIPELIG
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

4. Binnenklimaat Monitoring Systeem v2

Data van DHT11, MQ-2 en MQ-7 sensoren worden uitgelezen en naar de Tangle gestuurd via MAM.

Hoe werkt het?

a) Het project heeft 5 bestanden:

  • sensorArduino.ino: Haalt data op van DHT11, MQ-2 (LPG) en MQ-7 (CO).
  • listportsArduino.ino: Toont beschikbare poorten van de Arduino UNO.
  • sensorArduino.js: Leest en toont data van de drie sensoren.
  • mam_sensorArduino.js: Publiceert sensordata naar de Tangle via MAM.
  • mam_receiveArduino.js: Haalt data op uit de Tangle via MAM.

b) Full-node endpoint en side-key zijn hardcoded. Stop script met CTRL+Z.

c) Sluit DHT11, MQ-2 en MQ-7 aan op de Arduino UNO.

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

d) In de map "sensorArduino" zitten de bibliotheken voor DHT11, MQ-2 en MQ7. Installeer deze in de Arduino-bibliotheken.

e) Upload sensorArduino.ino naar de Arduino UNO. Selecteer de communicatiepoort (bijv. /dev/ttyACM0).

f) Voer node listportsArduino.js uit om te controleren of de poort actief is.

$ node listportsArduino.js
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

g) Voer node mam_sensorArduino.js uit om data naar de Tangle te sturen.

$ node mam_sensorArduino.js
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Verstuurde informatie:

  • Stad: NY
  • Gebouw: 13
  • Datum en Tijd (UTC)
  • Data: LPG-gas in ppm, CO-gas in ppm, Temperatuur in °C, Relatieve Vochtigheid %

h) Open een andere terminal: node mam_receiveArduino.js your_root

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

5. Afval Monitoring Systeem

SRF05-sensordata wordt via NodeMCU en MQTT naar de IOTA Tangle gestuurd met MAM.

Hoe werkt het?

a) Dit project heeft 3 bestanden:

  • trashcan.ino: Berekent vulpercentage van een vuilnisbak en stuurt data via MQTT naar Raspberry Pi 3B.
  • nodemcu_mqtt_mam.js: Leest SRF05-data en publiceert naar de Tangle via MAM.
  • nodemcu_mam_receive.js: Haalt data op uit de Tangle via MAM.

b) Full-node endpoint en side-key zijn hardcoded. Stop met CTRL+Z.

c) Sluit SRF05 ultrasoon-sensor aan op NodeMCU.

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

d) Installeer ESP8266-pakketten via Board Manager. Voeg toe aan Additional Board Manager URLs: https://arduino.esp8266.com/stable/package_esp8266com_index.json

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

e) Maak NodeMCU verbinding met Mosquitto-server. Voeg PubSubClient-bibliotheek toe via Arduino IDE (Sketch > Include Library > Manage Libraries > zoek "PubSub" > installeer PubSubClient van Nick O'Leary).

f) Installeer Mosquitto (MQTT) op Raspberry Pi 3B:

$ cd ~
$ wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
$ apt-key add mosquitto-repo.gpg.key
$ cd /etc/apt/sources.list.d/
$ wget https://repo.mosquitto.org/debian/mosquitto-stretch.list
$ cd ~
$ wget https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_armhf.deb
$ sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_armhf.deb
$ wget https://ftp.nz.debian.org/debian/pool/main/libw/libwebsockets/libwebsockets3_1.2.2-1_armhf.deb
$ sudo dpkg -i libwebsockets3_1.2.2-1_armhf.deb
$ sudo apt-get install mosquitto mosquitto-clients

Herstart de Raspberry Pi. Controleer Mosquitto-versie: $ mosquitto -v

Start/stop server: $ sudo /etc/init.d/mosquitto start/stop

Controleer IP: $ ifconfig

g) Upload trashcan.ino naar NodeMCU. Controleer instellingen:

  • NodeMCU 1.0 board
  • Serial Port
  • Serial.begin(115200)
  • WiFi SSID en wachtwoord
  • MQTT-server = Raspberry Pi IP
  • Vuilnisbak lengte in cm
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

h) Voer nodemcu_mqtt_mam.js uit om data naar de Tangle te sturen.

$ node nodemcu_mqtt_mam.js
Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Verstuurde informatie:

  • Stad: BERLIJN
  • Gebouw: 7
  • Datum en Tijd (UTC)
  • Data: vuilnisbak percentage

i) Open een andere terminal: node mam_receiveArduino.js your_root

Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino

Beschikbare node: https://durian.iotasalad.org:14265

6. Conclusies

Binnenklimaat Monitoring Systeem v1: Werkt bevredigend. We monitoren de luchtkwaliteit in een gebouw in Mexico-stad met DHT11, Raspberry Pi 3B, JavaScript en IOTA-protocol.

Binnenklimaat Monitoring Systeem v2: Gebruikt DHT11, MQ-2 (LPG) en MQ-7 (CO). Gesimuleerd in New York. Data verzonden via Arduino UNO en Raspberry Pi naar IOTA Tangle met MAM. Praktisch voor slimme gebouwen en industrieën waar LP-gas wordt gebruikt en CO ontstaat.

Afval Monitoring Systeem: Doel is controle over afvalafvoer in slimme gebouwen in Berlijn. We weten nu hoe lang een vuilnisbak al vol zit en het vulpercentage.

Code

Alle codebestanden zijn beschikbaar in de GitHub-repository: indoor-air-quality-and-garbage-monitoring-system

Schema's

Schema's voor de drie systemen zijn beschikbaar in de repository.

Productieproces

  1. Bouw Een Raspberry Pi Luchtkwaliteit & Weerstation Met InfluxDB & Grafana
  2. Efficiënt Kamertemperaturen Monitoren Met Raspberry Pi En Nagios
  3. Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
  4. Home Energy Centre: Zonnepanelen, thermische panelen en kamertemperaturen monitoren met Raspberry Pi en Moteino
  5. Een DIY Infrarood Bewegingssensor Bouwen voor Raspberry Pi – Stapsgewijze Handleiding
  6. Raspberry Pi Fotocel Logging & Alert Systeem – Een Laag-energie Lichtsensor Bouwen met Python
  7. Een Multi-sensor Temperatuur- & Lichtmonitoringssysteem Bouwen met Raspberry Pi & DS18B20
  8. Raspberry Pi-gebaseerde badkamerbezet-sensor met spraak- en SMS-waarschuwingen via Twilio
  9. Raspberry Pi-sensor- en actuatorbeheersing onder de knie: versnellingsmeter, servo en datastreaming
  10. Een geautomatiseerd aeroponisch systeem bouwen met Raspberry Pi en vochtigheidssensor
  11. Raspberry Pi Thuisbeveiligingssysteem: PIR-bewegingsdetectie + Camera E-mailwaarschuwingen