Ungewöhnliche Projekte des Internets der Dinge. Wachhund auf Raspberry Pi und smartem Babyphone / Sudo Null IT News

Ein Smart Home macht das Leben komfortabler und sicherer. Sicherheit ist nie überflüssig. Eine der Aufgaben des Internets der Dinge ist es, eine Person und ihr Zuhause zu schützen, deshalb installieren wir Videoüberwachungskameras mit Bewegungssensoren und Benachrichtigungen über das Internet. Sie können jederzeit das Telefon holen und überprüfen, ob die Waschbären nicht ins Haus eingedrungen sind.


Wachhund auf Raspberry Pi

Leider haben nicht alle Tiere Angst vor Videokameras. Hier kommt ein „virtueller Hund“ mit Lautsprechern zur Hilfe.

Virtueller Hund Schuss – Es ist einfach Python-Skriptdas eine Audioaufnahme von Hunden abspielt, die über Lautsprecher bellen, um Dachse, Waschbären oder Menschen zu verscheuchen, wenn sie sich dem Haus nähern.

Ein paar Lautsprecher sind mit einem Raspberry Pi verbunden. Ein Lautsprecher ist auf die Vordertür gerichtet und der zweite auf die Rückseite, von wo auch die Bedrohung ausgehen kann. Die Lautstärke des Bellens ändert sich dynamisch zwischen den Lautsprechern, wie ein Hund, der durch das Haus von einer Tür zur anderen läuft und in Bellen ausbricht.

Erfinder Tanner Collin (Tanner Collin) Eingerichtet im Haus so einen “Hund” vor der Abreise in den Urlaub. Hier ist eine der Spalten:

Technisch funktioniert der virtuelle Hund so:

  1. Überwachungskameras senden einen RTSP-Stream an das NVR-Programm Blue Iris, das auf einer separaten Box unter Windows läuft.
  2. Wenn Blue Iris ein Objekt in einem bestimmten Bereich erkennt, sendet es eine MQTT-Nachricht an den iot/cameras-Kanal des Mosquitto-Brokers, der auf dem Medienserver ausgeführt wird.
  3. Der Raspberry Pi führt ein Skript aus, das mit dem asyncio-mqtt-Modul auf iot/cameras lauscht. Es empfängt eine JSON-Nachricht wie {“serial”: “SE-N-ZoneB”} und dekodiert sie. Wenn der Kameraname mit dem im Skript angegebenen übereinstimmt, wird die entsprechende Audiodatei mit Pygame abgespielt.

Skriptcode:

import os, sys Importprotokollierung. basicConfig(stream=sys.stdout, format=”[%(asctime)s] %(levelname)s %(module)s/%(funcName)s – %(message)s”, level=logging.DEBUG if os.environ.get(‘DEBUG’) else logging.INFO) import time import json import asyncio from asyncio_mqtt import Client import pygame import secrets COOLDOWN = time.time() CAMERAS = { ‘NE-W-ZoneB’: { ‘name’: ‘Front Door’, ‘sound’: ‘barkLR.ogg’, }, ‘ SE-N-ZoneB’: { ‘name’: ‘Side Door’, ‘sound’: ‘barkRL.ogg’, }, ‘BE-ZoneB’: { ‘name’: ‘Back Door’, ‘sound’: ‘ barkLR.ogg’, }, } async def play_sound(filename): pygame.mixer.music.load(filename) pygame.mixer.music.play() logging.info(‘Playing sound %s’, filename) while pygame. mixer.music.get_busy(): #pygame.time.Clock().tick(10) await asyncio.sleep(0.1) async def barkbark(sound): global COOLDOWN if time.time() – COOLDOWN < 15.0: Protokollierung. info('Cooldown überspringen.') return COOLDOWN = time.time() await asyncio.sleep(0.1) await play_sound(sound) logging.info('Done bellen.') async def process_mqtt(message): text = message.payload .decode() topic = message.topic logging.info('MQTT t opic: %s, message: %s', topic, text) wenn nicht topic.startswith('iot/cameras'): logging.info('Ungültiges Thema, kommt zurück') return try: data = json.loads(text) außer json.JSONDecodeError: logging.info('Invalid json, return') return serial = str(data.get('serial', '')) if serial not in CAMERAS: logging.info('Invalid serial, return') Rückfahrkamera = KAMERA[serial]Logging.info('Bellt %s...', Kamera['name']) erwarten barkbark(camera['sound']) async def fetch_mqtt(): await asyncio.sleep(3) async with Client('192.168.0.100') as client: async with client.filtered_messages('iot/cameras') as messages: await client.subscribe('#' ) async für Nachricht in Nachrichten: loop = asyncio.get_event_loop() loop.create_task(process_mqtt(message)) if __name__ == '__main__': logging.info('') logging.info('======= ===================') Logging.info('Startet...') pygame.init() pygame.mixer.pre_init(buffer=4096) pygame. mixer.init(buffer=4096) loop = asyncio.get_event_loop() loop.run_until_complete(fetch_mqtt())

Fehlalarme (durch Autoscheinwerfer oder Kleintiere) sind nicht allzu gefährlich. Im Gegenteil, sie machen den virtuellen Hund realistischer, weil echte Hunde die gleichen „False Positives“ erfahren.

In Zukunft plant der Autor, das System auf den Stufen vor dem Haus um einen physischen Auslöser zu ergänzen, damit der Hund gezielt die Person anbellt, die zur Tür kam. Die Möglichkeit der Installation im Haus wird in Betracht gezogen Radarsensor HFS-DC06die durch die Außenwand schießt.

Bekanntdass bellende Hunde und Überwachungskameras große Abschreckungsmittel für Einbrecher sind. Auch ein virtueller Hund aus Lautsprechern ist besser als gar kein Hund. Der Autor dieser Erfindung wurde bereits von einem potenziellen Räuber besucht, der am Griff des Garagentors zog. Die Tür war geschlossen, also kletterte er in die Garage des Nachbarn.

In jedem Fall schadet zusätzliche Sicherheit nie.

Intelligentes Babyphone

Ein weiteres interessantes Projekt des Internets der Dinge ist ein smartes Babyphone

Der hungrige Babyalarm

mit einem künstlichen Intelligenzsystem. Das Bildverarbeitungsprogramm interpretiert die Bewegungen des Babys im Kinderwagen und bewertet den Grad seines Hungers (und das Herannahen des Weinens).

Das heißt, dieses Babyphone gibt ein Signal, dass das Kind hungrig ist und weint, noch bevor diese Ereignisse eintreten.

Aus dem Video können Sie verstehen, wie das System funktioniert. Leider hat Entwickler Caleb Olson nicht nur den Code gepostet

Teile davon gezeigt

und erwähnte einige der Module, die es für die Echtzeit-Bewegungserkennung verwendet (wie z

MediaPipe-Gesichtsnetz

).

Der Autor hat jetzt ein Patent angemeldet. Aber niemand macht sich die Mühe, ein solches Programm zu schreiben und es gemeinfrei zu veröffentlichen, um es mit einer beliebigen Videokamera zu verwenden. Wirklich nützliches Hilfsmittel im Haushalt.

Similar Posts

Leave a Reply

Your email address will not be published.