/cajueiro_weather_station

https://fschuindt.github.io/blog/weather

Primary LanguageRubyMIT LicenseMIT

Cajueiro Weather Station

It's live here.

Uses my "NGINX RTMP/RTMPS to HLS and MPEG-Dash media stream broadcaster" 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 about this "RTMP -> Dash" repository.

Streamer

A small Shell script that instructs FFmpeg on how to gather the camera video feed and stream it to the broadcaster.

Broadcaster

A NGINX server built with the RTMP module that's able to intake video stream and broadcast it to the web using the Dash 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 (use a Dash client to watch this stream).

The "streaming" is protected by a secret-key parameter, the "watching" is open to the world.