/dcf77webreceiver

The web UI for dcf77webreceiver, a proof-of-concept'ish app that receives and decodes DCF77 signals in the browser.

Primary LanguageJavaScriptMIT LicenseMIT

dcf77webreceiver-ui

The dcf77webreceiver is a proof-of-concept web application to receive and decode DCF77 time information from inside the browser via an antenna connected to a Raspberry Pi.

This is the UI, a static web application receiving the signals via Socket.io, doing the signal processing and displaying the decoded time signal in a nice looking clock.

Screenshot

Components

dcf77webreceiver contains three components, all components are needed to run the application.

  • client is a Node.js application reading the raw inputs via GPIO from an Raspberry Pi, doing a high/low-edge detection and sending the signals to another application.
  • server is another Node.js application to receive the signals from the server and relaying them to the browser via Socket.io. There is no signal processing in this component.
  • ui is static web application receiving the signals via Socket.io, doing the signal processing and displaying the decoded time signal in a nice looking clock.

Installation

As this is more of a proof-of-concept, I cannot provide clear installation instructions. If you want to use this source and you run into troubles, please open an issue and we will figure out what went wrong. However, some general hints:

This is just a static HTML web app, no special application is needed. Just set up your website to serve the files in public/. However, you have to change the SOCKETIO_ADDRESS in index.html to match your setup.

A note about security and a disclaimer

Incoming data packages require neither authentication nor validation. Be aware of that and use your servers firewall to limit the access to the input port.

This is a proof of concept. However, this application is still running and some people are actually using my installation as a clock for their desktop. I might improve this in the future, but I cannot guarantee it.