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

Geavanceerd thuismonitoringssysteem met Arduino Mega en IoT-sensoren

Onderdelen en benodigdheden

Onderdeel Aantal
Arduino Mega 2560 1
Arduino Ethernet-board (of Ethernet-shield) 1
4x20 LCD met I²C-interface 1
DHT22 Temperatuur- en vochtigheidsensor 1
DS3231 RTC (Real Time Clock) 1
HC-SR04 Ultrasoon afstandssensor (voor putwaterpeil) 1
OSH Park Custom gefabriceerde PCB (interface- en annunciaatorbord) 1

Over dit project

Ik begon met thuismonitoring door een Ecobee Slimme thermostaat in het huis van mijn dochter te installeren. Omdat deze door Ecobee zijn stopgezet, wilde ik een alternatief dat monitoring toestaat van zaken als putwaterpeil, overstromingsalarm, stroomuitval en andere items. Ik heb veel opgevat van andere projecten op diverse sites, met name voor de codering van zowel de Arduino als de website. Het gebruik van Pushingbox voor notificaties was het sleutelonderdeel van het systeem om een middel van externe notificatie te bieden. Ik waardeer de open design community voor het publiceren van hun kennis en projecten.

Geavanceerd thuismonitoringssysteem met Arduino Mega en IoT-sensoren

Ik startte met een Arduino Mega 2560, voegde een Ethernet-kaart toe. Met Eagle CAD ontwierp ik een paar printplaten voor ingangen alsook een visuele annunciaator. Deze zijn gemaakt door OSH Park. Het interfacebord verbindt de zeven beschikbare droge contacten, temperatuur- en vochtigheidssensor, real-time klok en ultrasone putwaterpeilsensor met de Arduino.

Geavanceerd thuismonitoringssysteem met Arduino Mega en IoT-sensoren

Voor lokale weergave gebruikte ik een 4x20 LCD-display. Daarnaast zijn er 8 LED's die de status van elke alarmin ingang tonen: amber bij actief alarm, groen bij gewist (alarm was actief maar is nu geopend) en uit bij reset. De resetknop wist alle groene LED's, terwijl de "message enable" drukknop de notificaties via Pushingbox in/uitschakelt.

De website is alleen zichtbaar op het LAN. Ik wilde mijn router niet poortforwarden om veiligheidsredenen. Er werden verschillende Arduino-voorbeelden gebruikt alsook jqplot omdat ik zelfstandig wilde draaien op mijn labsysteem.

Geavanceerd thuismonitoringssysteem met Arduino Mega en IoT-sensoren
Geavanceerd thuismonitoringssysteem met Arduino Mega en IoT-sensoren

Nog geen labels, maar de software is ingesteld om te alarmeren bij minder dan 10 inch van de sensor en de amber LED brandt, wat aangeeft dat dit alarm actief is. De alarm die groen is, toont aan dat hij eenmaal actief was maar seintijds is geopend. Door de reset-knop in te drukken verdwijnt de groene LED, maar de amber LED blijft branden tot het niveau groter is dan 10 inch.

Code

Arduino-code (C/C++)

De volledige Arduino-sketch bevat:

  • Ethernet-server op poort 1000 met JSONP-ondersteuning voor AJAX-verzoeken
  • SD-kaart voor het serveren van de webpagina (index.htm)
  • I²C-interface voor LCD (0x27), RTC (DS3231) en DHT22
  • NewPing bibliotheek voor HC-SR04 ultrasone sensor
  • Pushingbox integratie voor e-mail/push notificaties bij alarm
  • Annunciator-logica voor 8 LED-paren (amber/groen) per sensor
  • Reset-functionaliteit voor het wissen van gewiste alarm-LED's
  • Watchdog-timers en tijdsgebaseerde debouncing

De code is uitgebreid en bevat uitgebreide debug-opties via seriële poort.

Website (JavaScript/HTML)

De webinterface gebruikt:

  • jQuery en jqPlot voor realtime grafieken (temperatuur, vochtigheid, putwaterpeil)
  • Gauge.js voor analoge meters (putwaterpeil en temperatuur)
  • JSONP voor cross-domein data-ophaling van de Arduino
  • Automatische vernieuwing elke 3 seconden
  • Statusweergave voor alle sensoren: putwaterpeil, overstromingsalarm, stroomuitval, temperatuur, vochtigheid, 5x aux ingangen, e-mail timer

De benodigde JavaScript/CSS bibliotheken (jqPlot, jQuery, Gauge.js, excanvas) moeten lokaal op de server/computer staan.

Schema's

Interface- en annunciaatorprintplaat ontwerpen (Eagle .sch bestanden) zijn beschikbaar.

Productieproces

  1. Bloeddrukmeter: Ontwerp, Productie en Toekomstige Trends
  2. Een Betaalbaar Draadloos Sensornetwerk Bouwen voor Uw Huis
  3. Je huis temperatuur monitoren met een Raspberry Pi-dashboard
  4. Een Raspberry Pi-thuisautomatiseringssysteem bouwen voor afstandsbediening
  5. Bouw je eigen DIY huiswerk-schrijfmachine thuis
  6. Bouw een indrukwekkend monitor Ambilight-systeem met Arduino
  7. Real-time IoT hartslagmonitor met Arduino en MAX30100
  8. Veilige CV-ketelbewaking: Thermocouple-spanningsmonitor voor pilootvlammen
  9. Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids
  10. Alexa-ingeschakelde Arduino Thuiscontroller: Slimme Automatisering Made Simple
  11. MAX30102 hartslagmonitor bouwen met Arduino Nano en 16x2 LCD