• HOME
  • SHOP
    • Bausätze:
    • Flatboy 3D-Drucker
    • V-Slot Profile:
    • V-Slot Profile
      Platten, Rollen

    • Schrauben:
    • Schrauben
      Muttern

    • CNC Zubehör:
    • Pulleys, Riemen
      Umlenkrollen, Spindel

    • Elektronik:
    • RAMPS & CNC
    • TMC2130 & DRV8825
    • Nema 17
    • LCD Display
  • PROJEKTE
    • DIY 3D-DRUCKER
    • DIY VSLOT CNC
    • DIY LASERCUTTER
    • CORE XY FLATBOY
    • CUTTER ENGRAVER
    • DIY CICLOP
    • DER PONG TISCH
    • DER MAL-BOT, PLOTTER
    • XXL WANDKALENDER
    • REFLOW-OFEN
    • BINÄR UHR
    • POLARGRAPH PLOTTER
    • BT2CNC
    • DUAL PARK EXTRUDER

    • IOT: PET-MONITORING
  • DIY 3D DRUCKER
    • CORE XY 3D-DRUCKER
    • CREALITY ENDER-3
    • CORE XY FLATBOY
    • HOTEND
    • TOOLKETTE
    • KALIBRIERUNG
    • FIRMWARE KONFIG
    • EXTRUDER
    • ANTRIEB
    • FILAMENT ÜBERSICHT
  • SERVICE & PROTOTYPING
    • SERVICE/ENTWICKLUNGS KONTAKT
  • TIPPS & TRICKS
    • ANTI OOZE
    • STEPPER TRIM
    • HEATBED TRIM
    • AUTOBED LVL
    • ANTI WARPING
  • KONTAKT & IMPRESSUM
    • KONTAKT
    • IMPRESSUM
    • WIDERRUFSRECHT


PROJEKTE

  • DIY 3D-DRUCKER
  • DIY 3D-DRUCKER FLATBOY
  • **NEU**DIY BIG VSLOT CNC
  • DIY LASERCUTTER
  • ENDER-3 UPDATES
  • MAL/PLOTTER BOT
  • POLARGRAPH PLOTTER
  • XL WANDPLOTTER
  • REFLOW OFEN
  • BLUETOOTH ZU CNC SHIELD
  • 2-RAD ROBOTER
  • ARDUINO PONG TISCH
  • DIY SCANNER: CICLOP
  • PRUSA I3 GEHÄUSE
  • DUAL PARKING EXTRUDER
  • BINÄR UHR SHIELD
  • IOT: PET-MONITORING





  • AUTOBED LEVELING
  • ANTI OOZING STRATEGIE
  • SCHRITTMOTOR TREIBER EINSTELLEN
  • SUPPORT-MATERIAL
  • HEIZBETT TRIMMEN
  • WARPING VERHINDERN

Home > Haustier Überwachung

Interaktive (Tier-)Überwachung (IoT) Interactive Monitoring

Hardware/Elektronik Komponentenliste - 3D-Modelle zum Drucken - Flussdiagram und Bilder - Firmware Wemos und RPi

Steuerung des Kamera Gliders und Webcam Live Stream von 10:00h-17:00h aktiv:

Kurzbeschreibung und Eigenschaften - Abstract and features

Internet of Things (IoT) Projekt, bei dem ein Respbarry Pi mit Kamera und Wemos D1 mit CNC Shield zur Steuerung und Überwachung von Haustieren (Nager, Fische) genutzt wird.
Aktueller ngrok Tunnel:

Bilder und Videos:

Überblick über die Hardware und Informationsfluß

Aufbau Wemos D1 und Firmware:

Auf dem Wemos D1 befindet sich die folgende Firmware HTTPSRequestReleased.ino, die mit der Arduino IDE aufgespielt werden kann.
Dazu muss für den ESP8266 auf dem Wemos Board in der IDE unter "Eigenschaften" die folgende Board URL eingebunden werden:

https://arduino.esp8266.com/stable/package_esp8266com_index.json

In der Firmware muss die folgende Code-Zeile mit den WiFi Daten befüllt werden, damit sich das Board mit dem eurem lokalen WiFi-Netzwerk verbinden kann:

#define STASSID "WiFiName" //Hier Wifi Namen Eintragen
#define STAPSK "WifiPasswort" //Hier WiFi Passwort eintragen

Und das ist die Pinbelegung am CNCv3 Shield mit den Mikroschritt Eistellung und die Verbundung zum Endstop auf der X-Achse:

//Pinbelegung am Wemos und Mikroschritte Einstellung DRV8825
#define DirXPin D5 // X-Treiber am CNCv3 -> Kamera Schlitten 1/32 Mikroschritte
#define StepXPin D2 // X-Treiber am CNCv3 -> Kamera Schlitten 1/32 Mikroschritte
#define DirYPin D6 // Y-Treiber am CNCv3 -> Futterautomat 1/16 Mikroschritte
#define StepYPin D3 // Y-Treiber am CNCv3 -> Futterautomat 1/16 Mikroschritte
#define EndstopPin D7 // Z- Endstop am CNCv3, leider kein Pull-Up verbaut, 3.3V und GND ebenfalls verbinden

Webseiten Einbindung und SQL-Datenbank:

Über die folgenden PHP-Dateien und eine SQL-Datenband wird zwischen Respbarry-Pi, WemosD1 und der Webseite Daten über GET-Requests ausgetauscht. Hier ist der Download aller notwendigen PHP-Dateien.
Für den Zugriff auf die SQL-Datenbank müssen die Zugriffsdaten in den PHP-Dateien angepasst werden:

$servername = "***";
$dBUsername = "***";
$dBPassword = "***";
$dBName = "***";

In der SQL Datenbank befinden sich die Austauschdaten im folgenden Format mit den Spalten "Id", "Data" und "String":

Id: 1 Data: 0: Nicht bewegen, 1: Rechts, 2: Links
Id: 2 Data: aktuell nicht genutzt
Id: 3 Data: Futteranzahl, max 2
Id: 4 Data: 0: nichts, 1: Min-Endstop triggered, 2: Max-Endstop triggered
Id: 5 String: Forward URL ngrok, Web-Kamera
Id: 6 Data: aktueller X-Weg

Software und Skript auf dem Respbarry Pi:

Auf dem Respbarry Pi wurden die Pakete "motion" und "ngrok" installiert. Motion ist eine Software, die mit einer Wabcam einen Stream ins lokale Netzwerk senden kann.

sudo apt-get install motion

Unter /etc/motion/motion.conf kann motion über SSH konfiguriert werden und dann unter der lokalen IP-Adresse des Respbarry Pi im Browser das aktuell gestreamte Bild angeschaut werden, falls motion gestartet wird:

sudo nano /etc/motion/motion.conf
sudo motion start

http://192.168.2.120:8081/ -> Lokaler Stream der Webcam, Beispiel
http://192.168.2.120:8080/ -> Hier kann der Stream ebenfalls konfiguriert werden, wenn webcontrol_parms=3 in motion.conf gesetzt ist

Meine angepasste Config-Datei befindet sich hier.
Es empfiehlt sich die Samplezeit für den Stream anzupassen: stream_maxrate=10.

Will man nur einen Lokalen Stream im Heimnetzwerk erzeugen, dann kann dieser Stream über die lokale Respbarry Pi-Adresse angeschaut werden.
Will man zusätzlich einen Stream ins Internet, dann muss man eine Portweiterleitung mit dynamischer IP-Adresse im Router einrichten oder nutzt Ngrok auf dem Pi.

Ngrok:

Ngrok ist ein Program auf dem Respbarry Pi, der einen Stream Tunnel ins Internet generieren kann. Dieser Tunnel muss alle 2 Stunden neu aufgebaut werden.
Dazu nutze ich ein Shell-Skript, dass ich beim Hochfahren des Respbarry-Pi starte (Autostart-Datei) und im Hintergrund laufen lasse: ngrok_hostname.sh.
Hier der Link und ein Youtube Video als Anleitung zur Insallation von Ngrok auf dem Respbarry Pi:

https://ngrok.com/download

https://youtu.be/wA4X60BsBps

Und so wird die Autostart-Datei angebunden:

cd /etc/init.d
sudo nano MeinAutostart
sudo chmod 755 MeinAutostart
sudo update-rc.d MeinAutostart defaults // Anhängen beim Start

//Falls es Probleme gibt zum Testen:
sudo update-rc.d MeinAutostart remove // wieder rausnehmen
sudo update-rc.d MeinAutostart start // Datei testen

Komponentenliste Hardware und Elektronik:

Beschreibung/Description Anzahl/Pcs Hinweis/Hint Link zum Händler/Dealer
V-Slot Aluprofile 1
2
1
1
1000mm 2020: als X-Achse
140mm 2040, 5er Loch bei 10mm
150mm 2020: Kamera-Hacken
320mm 2020: Kamera-Hacken, 5er Loch bei 25mm
Passend zugeschnitten im


Linsenkopf-Schrauben, Innensechskant
(Sicherungs-)muttern
10
3
1
1
5
M5 x 8mm
M5 x 25mm
M5 x 10mm, Webcam
M5 x 70mm, Futterautomat
Muttern M5, Futterautomat

Nutsteine 10 M5, 6er Nut
Unterlegscheiben 10 5,5/15mm Durchmesser für die Montage Holzplatte und Endstop
Umlenkrollen für die X, Y-Achse 1 Aus Aluminium, D_innen: 10mm, 5mm Bohrung
GT2 Pulley für Nema17 1 5mm Bohrung, 20 Zähne
GT-2 Riemen 1 2200mm Länge, 6mm breit
V-Slot Platten, groß und klein 1 kleine Platte
Nema 17 Halterplatten 2 Aluminium, 3mm Stärke
Koppler für den Futterautomat 1 5mm auf 5mm für den Futterautomat
Plexiglas Röhre für Futterautomat 1 90mm D-Außen, 84mm D-Innen, 150mm Lang
Wemos D1 Board und CNC Shield V3 1 mit 6 Jumpern zum Einstellen der Mikroschritte
Schrittmotor Treiber DRV8825 2 mit Kühlkörper
Endstop auf Platine 1 Einzustellen auf 16 und 32 Mikroschritte
Nema 17 Schrittmotoren 2 1x Pancake für den Futterautomat, 20mm
1x 4200gcm Drehmoment, 39mm

Netzteil 12V, 5A 1 Mit 5,5mm x 2,1mm Hochstecker. Netzteil 12V, 5A
Respbarry Pi Board 1 Board 3 oder 4 (WLAN-Fähig)
als Bundle mit Netzteil.
Respbarry Pi
Logitech Webcam 1 C270 HD bei Amazon. Logitech C270
Analoge/Digitale Zeitschaltuhr 1 Um den Stream zeitlich zu beschränken.
In der Nacht kann die Webcam nichts aufzeichnen.
Zeitschaltuhr

3D gedruckte Teile:

Anzahl/STL/Bauteil Abbildung Anzahl/STL/Bauteil Abbildung
2 Stk. AbstandshalterM5_10mm 1 Stk. EndstopHalter für die X-Achse
1 Stk. Futterautomat_Kammerplatten 1 Stk. Futterautomat_Nema17_Halter, Y-Achse
1 Stk. Futterautomat_Steg 1 Stk. Futterautomat_Trichter
1 Stk. Nema17_Halter_XAchse 1 Stk. Umlenkrolle
1 Stk. WemosD1_Holder