Skip to content

A Program to Record Emergency Alerts on a regular system or with an LCD on a Raspberry Pi.

License

VariousTurtle/EAS-Decoder

Repository files navigation

EAS-Decoder

image

The Program Uses multimon-ng to decode the inital Raw SAME header. The output of the program will be stored in a directory name, "output" Each new alert will create a directory.

User interface

The program uses qtpy to make it compatible with pyqt5, pyside2, pyqt6 and pyside6.

The program can be used on a raspberry PI with an lcd display or on a normal system.

There is also an webpage hosted when the program is running, to view it go to the terminal there should be something like:

Serving HTTP on 192.168.0.0 port 8080 (http://192.168.0.0:8080/)

copy and paste the link in a browser to view it, you can see all the alerts reccorded and listen to them.

outputs

Each recorded alert Directory will be named like this

EAS Originator-Date-Time-Event Type

Example

EAS-06-12-25-18-17-36-RWT

Inside of each alert directory there will be a audio recording in the wav format and a text document both named

output.txt
output.wav

The text document will contain the raw header and the header translated into a readable text, Like

EAS: ZCZC-WXR-SVR-013135-013157-013013-013297+0045-1640042-WJON/TV -
The National Weather Service has issued a Severe Thunderstorm Warning for Barrow, GA; Gwinnett, GA; Jackson, GA; and Walton, GA; beginning at 07:42 pm and ending at 08:27 pm. Message from WJON/TV.
NNNN

Installation

first clone the repo

git clone https://github.com/VariousTurtle/EAS-Decoder/
cd EAS-Decoder

make a virtual environment

# for regular systems
python -m venv env
# for raspberry pi
python -m venv env --system-site-packages

Initalize virtual enviorment

source env/bin/activate

Install the python requrments

# for regular systems
pip install -r reqirments.txt
# for raspberry Pi
pip install -r raspi_req.txt

# only for raspberry pi
apt install python3-pyqt5
apt install python3-pyaudio

Then, install multimon-ng, Multimon-ng does the raw decodeing of the SAME Header

# for arch
pacman -S multimon-ng
# for debian or raspberry pi
apt install multimon-ng

Running the Program

If you are running this on a normal system without the raspbery pi hardware run the program with the --Lcd argumnet

python main.py -l
# or
python main.py -lcd

If you are running it with the raspberry pi hardware run it without the --lcd argument

Arguments

run the program with the --help to see the available arguments

python main.py --help

output

usage: EAS-Decoder [-h] [-i IP] [-l] [-s SPEED]

EAS-Decoder: A program to Record Emergency Alerts (Decodes With Multimon-ng)

options:
  -h, --help         show this help message and exit
  -i, --ip IP        Explcitly define the ip address for the webserver
  -l, --lcd          Run Without LCD screen
  -s, --speed SPEED  Sets the text scroll speed of the LCD screen, Defalut is 0.1

Rasperry Pi hardware Documentation

You can set up a hardware UI with a raspberry pi to view incoming alerts and pereviously recorded alerts on an LCD Display.

image

A Hardware UI can be set up with minimal parts.

  • Three push buttons
  • two leds
  • An 20x4 I2C display
  • A SPST Switch

pinout

Right Scroll Button = pin 12
Middle Button = pin 20
left Button = pin 23
switch = pin 21

alert recording led = pin 27
audio playing led = pin 17

For the display

Display VCC = Rpi 5V Power
Disply GND = Rpi ground
Display SDA = Rpi SDA
Display SCL = Rpi SCL

You need to enable the I2C interface go here for instructions.

About

A Program to Record Emergency Alerts on a regular system or with an LCD on a Raspberry Pi.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published