Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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.