Wetterstation für den Raspberry PI mit Funkverbindung

Overview

Wetterstation für den Raspberry PI mit Funkverbindung

Die Wetterstation misst Temperatur, Feuchtigkeit, Regen und Wind. Die Daten werden auf einen Dashboard ausgegeben. Ich verwende dazu Funk Sensoren von Amazon. Somit kannst du alle 15 Minuten das Wetter abrufen. Weiterhin zeige ich, wie man noch das Dashboard mit einer Wetterapi verknüpfen kann. Ich berechne im Script anhand der Luftfeuchtigkeit und des Wind die gefühlte Temperatur. So kannst du aus den Messwerten auch etwas für dich mitnehmen.

Hardware

Du brauchst dazu:

Vorbereitung

Den RTL-SDR Stick steckst du in den aktiven USB Hub und dann in den Raspberry (so kriegt der Stick genug Strom für den Dauerbetrieb)

pip install mysql-connector-python
pip install python3

Nun installieren wir den Stick

git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake -DDETACH_KERNEL_DRIVER=ON ../
make
sudo make install
sudo ldconfig

Nun installieren wir eine Software zum Auslesen der Sensoren

git clone git://github.com/merbanan/rtl_433
cd rtl_433
mkdir build
cd build
cmake ../
make
sudo make install

Kopieren wir die Files auf den Raspberry

git clone https://github.com/Domifry/Wetterstation-Funk-RaspberryPi
cd Wetterstation-Funk-RaspberryPi
sudo mv SQL_RTL_433.service /etc/systemd/system

Sensoren bestimmen

  • gib zuerst ein sudo rtl_433 -R 73 -R 37
  • Schaue die die Eingaben an und ob du deine Sensoren findest! Siehe Bild unten.
  • Falls einige nicht kommen probiere andere Frequenzen: sudo rtl_433 -f 433.9M und rtl_433 -f 433.8M oder 433.95M oder nutze sudo rtl_433 -M level (du siehst die Frequenzen)
  • Für das Setup ist die beste Frequenz: 433.95M
  • Wenn du alle gefunden hast, brauchst du die ID'S
  • sudo rtl_433 -F json -f 433.9M
  • Die Ausgabe ist nun ungefähr so:
  • {"time" : "2021-10-09 21:08:27", "model" : "LaCrosse-TX141W", "id" : 86798, "channel" : 0, "battery_ok" : 1, "wind_avg_km_h" : 2.300, "wind_dir_deg" : 0, "test" : 0, "mic" : "CRC"}
  • Das ist ein JSON String. Den kannst du in eine Datenbank packen. Schreibe dir dazu die ID auf wie hier: 86798
  • Mache das für alle Sensoren, welche du hast

Datenbanken anlegen

  • Lege dir eine Datenbank bei einem Provider wie all-inkl an.
  • Lege die folgenden Datenbanken wie im Bild beschrieben kann.
  • Ich habe dir auch eine Anleitung mitgegeben was die genau anlegen sollst. Es sind 4 Tabellen, welche alle gleich sind nur der Name variert.
  • Achte auf Groß und Kleinschreibung

Python Dateien aus dem Raspberry

  • Line23: Trage die Daten deiner SQL Datenbank ein
  • Mache alle Sensoren, welche du nicht nutzen willst raus
  • Gehe in den Order
  • cd Wetterstation-Funk-RaspberryPi
  • sudo nano rtl-sql.py
  • Trage bei jedem IF Statement (32,36,40 und 44) die ID's der Sensoren ein
  • Trage deine SQL Daten ein in Zeile 29
  • Trage noch deinen Datenbanknamen in Zeile 33,37,41 und 45 ein
  • Ändere die Frequenz in Zeile 12 wenn nötig
  • Nun starten wir das Script noch automatisch und lassen es alle 15 Minuten Daten abholen
  • sudo mv SQL_RTL_433.service /etc/systemd/system
  • sudo systemctl enable SQL_RTL_433.service
  • sudo systemctl start SQL_RTL_433.service
  • Check it : sudo systemctl status SQL_RTL_433.service

Bilder

Suche dir vier Bilder - meine habe ich von einer Bilderdatenbank gekauft für jeweils 1 Dollar.

Index.php

  • Lege die index.php in einen Order und baue einen Unterorder img mit den Bildern auf deinem Webspace
  • Trage deine SQL Daten in die Datei ein (ganz oben)
  • rufe die Seite auf

index.php und Wetterbericht

  • Wenn du einen Wetterbericht noch haben willst, dann hole dir einen API Key auf https://openweathermap.org
  • Kommentiere die Zeilen 11 - 95 und 496 - 509 ein

Disclaimer

Ich weis, dass man die Applikation sicher schöner programmieren kann und bspw. den String in Python direkt kürzen kann. Allerdings habe ich die Software programmiert bevor die Sensoren da waren. Da es ein privates Projekt ist und funktioniert, lasse ich es so. Aber falls mir jemand helfen möchte, kannst du gerne den Code noch sauber ziehen. Ich freue mich über jede Hilfe!

You might also like...
phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

Redaxo 5-Addon zum gruppieren beliebiger Inhaltsmodule (Blöcke) innerhalb eines Spaltenrasters mit selbst definierten Templates.
Redaxo 5-Addon zum gruppieren beliebiger Inhaltsmodule (Blöcke) innerhalb eines Spaltenrasters mit selbst definierten Templates.

Gridblock Redaxo 5-Addon zum gruppieren beliebiger Inhaltsmodule (Blöcke) innerhalb eines Spaltenrasters. Die Inhaltsmodule entsprechen dabei den übli

Automatische Bild-Beschreibung mit Azure Cognitive Services

Degas Automatische Bild-Beschreibung mit Azure Cognitive Services Das Addon benutzt die "Description" Funktion der "Computer Vision API" die von den A

A news website inspired from IEEE and MIT CSAIL's homepage

News-Website I made this website as a side project in April 2022. The goal was to learn PHP and implement backend features to a scientific news websit

A PHP library to play with the Raspberry PI's GPIO pins
A PHP library to play with the Raspberry PI's GPIO pins

php-gpio php-gpio is a simple PHP library to play with the Raspberry PI's GPIO pins. It provides simple tools such as reading & writing to pins. [UPDA

A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

EDStatusPanel A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch scr

Class for manage directly leds on raspberry pi in PHP

led_raspberry Class for manage directly leds on raspberry pi in PHP We can access GPIO ports directly with fwrite() for power on|off leds, without use

Raspberry Pi Self Hosted Server Based on Docker / Portainer.io
Raspberry Pi Self Hosted Server Based on Docker / Portainer.io

Pi-Hosted Portainer Template V2 This repository is a collection of tutorials for hosting a variety of server applications using Docker and Portainer.

An OpenTibia 10 (ForgottenServer + ORTS2) system for Raspberry Pi

Nova Secura An OpenTibia 10.x server running under Docker on a Raspberry Pi. Hardware & Operating System Setup Repositories The following forks are us

A now playing screen for the Raspberry Pi using the Last.fm API.
A now playing screen for the Raspberry Pi using the Last.fm API.

raspberry-pi-now-playing A now playing screen for the Raspberry Pi using the Last.fm API. This project is detailed, with photos of how I used it with

temperature-pi: a simple Raspberry Pi based temperature logger using a DS18B20 1-Wire digital temperature sensor, & a local sqlite database
temperature-pi: a simple Raspberry Pi based temperature logger using a DS18B20 1-Wire digital temperature sensor, & a local sqlite database

temperature-pi temperature-pi is a simple Raspberry Pi based temperature logger using a DS18B20 1-Wire digital temperature sensor, & a local sqlite da

Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.
Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Browser Administration for Linux-Based Audio/Video-Player like ODROID or Raspberry Pi
Browser Administration for Linux-Based Audio/Video-Player like ODROID or Raspberry Pi

Browser Administration for Linux-Based Audio/Video-Player like ODROID or Raspberry Pi.

Technical-test-Website für FridaysForFuture Sigmaringen.

FFF-Sigmaringen-Website Technologies used Google Fonts 'Roboto' Font Normalize.css Prefixfree Material Icons Simple Icons Created by Joshua Hehnle Jan

Statistik Addon zur Erfassung von Seitenaufrufen. Für das CMS Redaxo.
Statistik Addon zur Erfassung von Seitenaufrufen. Für das CMS Redaxo.

Analytics Addon für REDAXO CMS Work in Progress - nicht für den produktiven Einsatz geeignet Features: Dieses Addon stellt im REDAXO CMS eine Besucher

CorePlugin für Pocketmine API 4.0.0

CoreV6 ALPHA Für Pocketmine API 4.0 Du willst helfen? Hier mein Discord! Download und Wichtig Hier downloaden! Das Core Plugin wurde speziell für City

Deutsches Sprachpaket für Magento 2 Community Edition

Magento 2 German LocalePack de_DE Deutsches Sprachpaket für Magento 2 Community Edition (Version 2.4.2) Die Übersetzung wurde von deutschen Mutterspra

Activity Log für REDAXO 5
Activity Log für REDAXO 5

Activity Log für REDAXO 5 Eine einfache Möglichkeit um Aktivitäten zu loggen. Die Logs werden im System unter Activity Log angezeigt. rex_activity::me

Collect - REDAXO-Addon für APIs und Feeds auf Basis von YForm

Collect sammelt anhand unterschiedlicher APIs und Schnittstellen in regelmäßigen Abständen Social Media Posts, RSS-Einträge, Videos und Playlists und andere Inhalte.

Owner
Dominic
I am a IT-Guy and do here some IoT - Smart Home Stuff in my free time.
Dominic
Das zentrale Repo für den Plugin Prototypen

=== Hello Dolly === Contributors: matt, wordpressdotorg Stable tag: 1.7.2 Tested up to: 5.5 Requires at least: 4.6 This is not just a plugin, it symb

Tilo 1 Oct 17, 2022
Browser Administration for Linux-Based Audio/Video-Player like ODROID or Raspberry Pi

Browser Administration for Linux-Based Audio/Video-Player like ODROID or Raspberry Pi.

Max2Play 41 Apr 23, 2022
Unterschiedliche Versand-Profile für den PHPMailer in REDAXO (REXMailer) für unterschiedliche Absende-Adressen und/oder SMTP-Postfächer

Mailer Profile für REDAXO 5 Erweitert das Core-Addon phpmailer um die Möglichkeit, unterschiedliche Absende-Profile und Postfächer-Konfigurationen vor

alex+ Informationsdesign 7 Dec 22, 2022
Diese Demo demonstriert den Aufbau einer REDAXO Website mit UIKit3

UIKit3 Demo für REDAXO 5 Diese Demo demonstriert den Aufbau einer REDAXO Website mit UIKit3. Diese Demo benötigt eine utf8m4 kompatible Datanbank. Hin

Friends Of REDAXO 19 Jan 6, 2023
REDAXO-Addon mit nützlichen Methoden im Umgang mit dem Picture-Element, Responsive Bilder, SVG-Ausgabe, u.v.m.

REDAXO-Addon mit nützlichen Methoden im Umgang mit dem Picture-Element, Responsive Bilder, SVG-Ausgabe, u.v.m.

alex+ Informationsdesign 8 Dec 15, 2022
REDAXO-Addon mit nützlichen Methoden im Umgang mit dem Picture-Element, Responsive Bilder, SVG-Ausgabe, u.v.m.

REDAXO-Addon mit nützlichen Methoden im Umgang mit dem Picture-Element, Responsive Bilder, SVG-Ausgabe, u.v.m.

alex+ Informationsdesign 8 Dec 15, 2022
Das AddOn stellt den Lottie-Player für das Abspielen von Lottie-Animationen im .json-Format zur Verfügung.

REDAXO-AddOn: Lottie Das AddOn stellt den Lottie-Player für das Abspielen von Lottie-Animationen im .json-Format zur Verfügung. Das AddOn ermöglicht i

Friends Of REDAXO 17 Sep 9, 2022
Das zentrale Repo für den Plugin Prototypen

=== Hello Dolly === Contributors: matt, wordpressdotorg Stable tag: 1.7.2 Tested up to: 5.5 Requires at least: 4.6 This is not just a plugin, it symb

Tilo 1 Oct 17, 2022
Ein einfacher Seeder mit "Migration" für YForm 4 - REDAXO 5

YForm Datenbank "Migration"/Seeder Über die Addon-Einstellung lassen sich Templates mit einem Tabellen Namen für YForm Tabellen erstellen. Über diese

Thorben 4 May 9, 2022