Update README.md

Reorganize
pull/1/head
Mason10198 3 years ago
parent 565092f346
commit 4d42092193

@ -6,18 +6,18 @@ Tested on ASL 1.01, ASL 2.0.0, and HAMVOIP 1.7-01.
## Features ## Features
* **Human Speech**: Provides a library of recorded human speech for clearer, more understandable alerts. - **Human Speech**: Provides a library of recorded human speech for clearer, more understandable alerts.
* **Performance**: Designed for minimal impact on internet bandwidth and storage, reducing unnecessary I/O operations. - **Performance**: Designed for minimal impact on internet bandwidth and storage, reducing unnecessary I/O operations.
* **Alert Coverage**: Allows specifying multiple counties for alerts, ensuring broad coverage. - **Alert Coverage**: Allows specifying multiple counties for alerts, ensuring broad coverage.
* **Alert Filtering**: Provides advanced options to block or filter alerts using regular expressions and wildcards. - **Alert Filtering**: Provides advanced options to block or filter alerts using regular expressions and wildcards.
* **Remote Control**: Includes a control script that can be mapped to DTMF commands, allowing instant over-the-air control of your system. - **Remote Control**: Includes a control script that can be mapped to DTMF commands, allowing instant over-the-air control of your system.
* **Automatic Courtesy Tones**: Changes repeater courtesy tones based on active alerts. - **Automatic Courtesy Tones**: Changes repeater courtesy tones based on active alerts.
* **Duplicate Filtering**: Ensures the same alert is never broadcast twice. - **Duplicate Filtering**: Ensures the same alert is never broadcast twice.
* **Selective Broadcasting**: Broadcasts alerts on weather conditions' onset or dissipation. - **Selective Broadcasting**: Broadcasts alerts on weather conditions' onset or dissipation.
* **Tailmessage Management**: Provides unobtrusive alerting if alert broadcasting is disabled. - **Tailmessage Management**: Provides unobtrusive alerting if alert broadcasting is disabled.
* **Pushover Integration**: Sends alerts and debug messages directly to your phone. - **Pushover Integration**: Sends alerts and debug messages directly to your phone.
* **Multiple Nodes**: Supports alert distribution to as many local node numbers as desired. - **Multiple Nodes**: Supports alert distribution to as many local node numbers as desired.
* **Developer Options**: Provides a testing environment to inject manually defined alerts for testing how the system functions. - **Developer Options**: Provides a testing environment to inject manually defined alerts for testing how the system functions.
## How It Works ## How It Works
@ -51,82 +51,76 @@ Follow the steps below to install:
1. **Dependencies** 1. **Dependencies**
Install the required dependencies using the following commands: Install the required dependencies using the following commands:
**Debian (AllStarLink)** **Debian (AllStarLink)**
```bash
apt update
apt upgrade
apt install git python3 python3-pip ffmpeg
pip3 install requests python-dateutil pydub
```
**Arch (HAMVOIP)** ```bash
```bash apt update
pacman -S ffmpeg apt upgrade
wget https://bootstrap.pypa.io/pip/3.5/get-pip.py apt install git python3 python3-pip ffmpeg
python get-pip.py pip3 install requests python-dateutil pydub
pip install requests python-dateutil pydub ```
```
**Arch (HAMVOIP)**
```bash
pacman -S ffmpeg
wget https://bootstrap.pypa.io/pip/3.5/get-pip.py
python get-pip.py
pip install requests python-dateutil pydub
```
2. **Clone the Repository** 2. **Clone the Repository**
Clone the SkywarnPlus repository from GitHub to the `/usr/local/bin` directory: Clone the SkywarnPlus repository from GitHub to the `/usr/local/bin` directory:
```bash ```bash
cd /usr/local/bin cd /usr/local/bin
git clone https://github.com/mason10198/SkywarnPlus.git git clone https://github.com/mason10198/SkywarnPlus.git
``` ```
3. **Configure CONTROL.sh Permissions** 3. **Configure CONTROL.sh Permissions**
The CONTROL.sh script must be made executable. Use the chmod command to change the file permissions: The CONTROL.sh script must be made executable. Use the chmod command to change the file permissions:
```bash ```bash
sudo chmod +x /usr/local/bin/SkywarnPlus/CONTROL.sh sudo chmod +x /usr/local/bin/SkywarnPlus/CONTROL.sh
``` ```
4. **Edit Configuration** 4. **Edit Configuration**
Edit the configuration file to suit your system: Edit the [config.ini](config.ini) file according to your needs. This is where you will enter your NWS codes, enable/disable specific functions, etc.
```bash
sudo nano SkywarnPlus/config.ini
```
5. **Crontab Entry**
Add a crontab entry to call SkywarnPlus on an interval. Open your crontab file using the `crontab -e` command, and add the following line:
```bash ```bash
* * * * * /usr/bin/python3 /usr/local/bin/SkywarnPlus/SkywarnPlus.py sudo nano SkywarnPlus/config.ini
``` ```
This command will execute SkywarnPlus (poll NWS API for data) every minute. You can find your area code(s) at https://alerts.weather.gov/. Select `County List` to the right of your state, and use the `County Code` associated with the area(s) you want SkywarnPlus to poll for WX alerts.
# Configuration ## **IMPORTANT**: YOU WILL MISS ALERTS IF YOU USE A **ZONE** CODE. DO NOT USE **ZONE** CODES UNLESS YOU KNOW WHAT YOU ARE DOING.
Edit the [config.ini](config.ini) file according to your needs. This is where you will enter your NWS codes, enable/disable specific functions, etc. According to the official [NWS API documentation](https://www.weather.gov/documentation/services-web-api):
You can find your area code(s) at https://alerts.weather.gov/. Select `County List` to the right of your state, and use the `County Code` associated with the area(s) you want SkywarnPlus to poll for WX alerts. > "For large scale or longer lasting events, such as snow storms, fire threat, or heat events, alerts are issued
> by NWS public forecast zones or fire weather zones. These zones differ in size and can cross county
> boundaries."
## **IMPORTANT**: YOU WILL MISS ALERTS IF YOU USE A **ZONE** CODE. DO NOT USE **ZONE** CODES UNLESS YOU KNOW WHAT YOU ARE DOING. > "...county based alerts are not mapped to zones but zone based alerts are mapped to counties."
According to the official [NWS API documentation](https://www.weather.gov/documentation/services-web-api): This means that if you use a County code, you will receive all alerts for both your County **AND** your Zone - but if you use a Zone code, you will **ONLY** receive alerts that cover the entire Zone, and none of the alerts specific to your County.
> "For large scale or longer lasting events, such as snow storms, fire threat, or heat events, alerts are issued 5. **Crontab Entry**
by NWS public forecast zones or fire weather zones. These zones differ in size and can cross county
boundaries."
> "...county based alerts are not mapped to zones but zone based alerts are mapped to counties."
This means that if you use a County code, you will receive all alerts for both your County **AND** your Zone - but if you use a Zone code, you will **ONLY** receive alerts that cover the entire Zone, and none of the alerts specific to your County. Add a crontab entry to call SkywarnPlus on an interval. Open your crontab file using the `crontab -e` command, and add the following line:
# Customizing the Audio Files ```bash
* * * * * /usr/bin/python3 /usr/local/bin/SkywarnPlus/SkywarnPlus.py
```
SkywarnPlus comes with a library of audio files that can be replaced with any 8kHz mono PCM16 WAV files you want. These are found in the `SOUNDS/` directory by default, along with `DICTIONARY.txt` which explains audio file assignments. This command will execute SkywarnPlus (poll NWS API for data) every minute.
# Tailmessage and Courtesy Tones # Tailmessage and Automatic Courtesy Tones
SkywarnPlus offers functionalities such as Tailmessage management and Automatic Courtesy Tones, which require specific configurations in the `rpt.conf` file. SkywarnPlus offers functionalities such as Tailmessage management and Automatic Courtesy Tones, which require specific configurations in the `rpt.conf` file.
@ -154,11 +148,13 @@ ct1 = /usr/local/bin/SkywarnPlus/SOUNDS/TONES/CT-LOCAL
ct2 = /usr/local/bin/SkywarnPlus/SOUNDS/TONES/CT-LINK ct2 = /usr/local/bin/SkywarnPlus/SOUNDS/TONES/CT-LINK
remotetx = /usr/local/bin/SkywarnPlus/SOUNDS/TONES/CT-LOCAL remotetx = /usr/local/bin/SkywarnPlus/SOUNDS/TONES/CT-LOCAL
``` ```
Courtesy tone files are located in `SOUNDS/TONES` by default and are configured through `config.ini` and `rpt.conf`. Courtesy tone files are located in `SOUNDS/TONES` by default and are configured through `config.ini` and `rpt.conf`.
# Pushover Integration # Pushover Integration
SkywarnPlus can use the free Pushover API to send WX alert notifications and debug messages directly to your smartphone or other devices. SkywarnPlus can use the free Pushover API to send WX alert notifications and debug messages directly to your smartphone or other devices.
1. Visit https://pushover.net/ to sign up for a free account. 1. Visit https://pushover.net/ to sign up for a free account.
2. Find your UserKey on your main dashboard 2. Find your UserKey on your main dashboard
3. Scroll down and create an Application/API key for your node 3. Scroll down and create an Application/API key for your node
@ -174,11 +170,11 @@ To use the CONTROL.sh script, you need to call it with two parameters:
1. The name of the setting you want to change (case insensitive). 1. The name of the setting you want to change (case insensitive).
- Enable (Completely enable/disable SkywarnPlus) - Enable (Completely enable/disable SkywarnPlus)
- SayAlert - SayAlert
- SayAllClear - SayAllClear
- TailMessage - TailMessage
- CourtesyTone - CourtesyTone
2. The new value for the setting (either 'true' or 'false' or 'toggle'). 2. The new value for the setting (either 'true' or 'false' or 'toggle').
@ -218,6 +214,10 @@ You can map the CONTROL.sh script to DTMF control codes in the `rpt.conf` file o
With this setup, you can control SkywarnPlus' functionality using DTMF commands. With this setup, you can control SkywarnPlus' functionality using DTMF commands.
# Customizing the Audio Files
SkywarnPlus comes with a library of audio files that can be replaced with any 8kHz mono PCM16 WAV files you want. These are found in the `SOUNDS/` directory by default, along with `DICTIONARY.txt` which explains audio file assignments.
# Testing # Testing
SkywarnPlus provides the ability to inject predefined alerts, bypassing the call to the NWS API. This feature is extremely useful for testing SkywarnPlus. SkywarnPlus provides the ability to inject predefined alerts, bypassing the call to the NWS API. This feature is extremely useful for testing SkywarnPlus.

Loading…
Cancel
Save

Powered by TurnKey Linux.