Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fschuindt/cajueiro_weather_station
https://fschuindt.github.io/blog/weather
https://github.com/fschuindt/cajueiro_weather_station
Last synced: 3 days ago
JSON representation
https://fschuindt.github.io/blog/weather
- Host: GitHub
- URL: https://github.com/fschuindt/cajueiro_weather_station
- Owner: fschuindt
- License: mit
- Created: 2022-05-02T01:44:05.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-05-04T04:26:17.000Z (over 2 years ago)
- Last Synced: 2024-12-03T04:33:24.015Z (about 2 months ago)
- Language: Ruby
- Size: 354 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Cajueiro Weather Station
It's [live here](https://fschuindt.github.io/blog/weather).
Uses my ["NGINX RTMP/RTMPS to HLS and MPEG-Dash media stream broadcaster"](https://github.com/fschuindt/nginx_rtmp_hls_dash) repository to be able to intake the video streaming data at a given AWS EC2 server and broadcast it to all the web-based clients visiting my webpage.
There's also a [post on my blog](https://fschuindt.github.io/blog/2020/12/31/streaming-video-and-audio-of-an-usb-webcam-to-multiple-users-of-a-website-with-ssl-basic-authentication-and-invideo-timestamps-ffmpeg-rtmp-nginx-hls-mpeg-dash.html) about this "RTMP -> Dash" repository.
## Streamer
A small Shell script that instructs [FFmpeg](https://ffmpeg.org/) on how to gather the camera video feed and stream it to the broadcaster.
## Broadcaster
A NGINX server built with the [RTMP](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol) module that's able to intake video stream and broadcast it to the web using the [Dash](https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP) video broadcast protocol.
It serves the station webpage with the all-sky camera video feed.
## Cajueiro Weather Station (CWS) Ruby gem
A Ruby program that gathers serial data from the MLX90614 infrared sensor at the Arduino board, stores it as a `.csv` and plots the graph for the visual analysis resulting in a `.png` file. This file is periodically uploaded to an AWS S3 bucket and displayed at the station webpage.
## Note on encryption and security
The "streaming" (Camera->Broadcaster) is done in plain text. However, the "watching" (Broadcaster->Client) can be done using TLS provided by the Cloudflare reverse-proxy at: [https://syrinx-watch.722.network/dash/cam1.mpd](https://syrinx-watch.722.network/dash/cam1.mpd) (use a Dash client to watch this stream).
The "streaming" is protected by a secret-key parameter, the "watching" is open to the world.