-
Notifications
You must be signed in to change notification settings - Fork 0
User Guide
- Create Raspberry Pi OS Lite image on 4GB microSDHD card are greater size
- Login as pi, run
sudo raspi-config
and enable SSH, SPI, and i2c. Exit and reboot - Login in as pi and run the following
git clone https://raw.githubusercontent.com/hudsonvalleydigitalnetwork/hasviolet
cd hasviolet
./HASviolet install
- Once installed run the configuration tool
./HASviolet config
- In the screen that follows you will need to assign the node a name and a SSID. This naming convention follows the model used in Packet Radio for AX.25 (and APRS) communications. The name can be seven characters while the SSID should be a number from 0 to 99.
-===- HASviolet Config Tool -===-
- - - - - - - - - - - - - - - - - - - - -
1 Change my Call / Handle NOCALL
2 Change my SSID 99
3 Change my Beacon quack quack
4 Change dest Call / Handle BEACON
5 Change dest SSID 99
- - - - - - - - - - - - - - - - - - - - -
11 Change Radio RFM9X
12 Change Frequency (Hz) 911250000
13 Change Transmit Power 10
14 Change Modem 0
15 Change Bandwidth (Hz) 125000
16 Change Spread Factor 7
17 Change Coding Rate 8
- - - - - - - - - - - - - - - - - - - - -
40 Show current HASviolet.json
41 Generate ModemRegister settings
- - - - - - - - - - - - - - - - - - - - -
51 Write changes to hasVIOLET.json
- - - - - - - - - - - - - - - - - - - - -
99 About HASviolet-config
0 Exit program
Select menu item:
- Select Options 1 to change the name, then Option 2 to changed the SSID
- Select 51 to save then 0 to exit
All commands are run from the hasviolet
directory and need to be prefaced with ./
Basic functions are supported by the ./HASviolet
script with arguments supplied
./HASviolet RX Receive mode
./HASviolet TX <DEST> <MESSAGE>
Where <DEST> is some nodename (ie NE2Z-15)
Where <MESSAGE> is your message within double qoutes (ie "Hey now")
./HASviolet BEACON <DEST> <MESSAGE>
Where <DEST> is some nodename (ie NE2Z-15)
Where <MESSAGE> is your message within double qoutes (ie "Hey now")
Beacons <MESSAGE> for eternity every 5 seconds
./HASviolet BEACON Send canned beacon message set via HASviolet config to BEACON-99 for eternity every 5 seconds
./HASviolet CHAT Start interactive chat program
When HASviolet was conceived, we chose simple chat exchange as an initial use case and leveraging APRS message structures. We figured this would be a good starting point for easy reference in developing future use cases. An example of this in the LoRa payload would look like:
VIOLET-15>NE2Z-90 | hey now
Where VIOLET-15
is the source node, NE2Z-90
is the destination node together forming the header, the vertical bar as demarc to the message.
An attempt has been made to expand into an experimental specification called XARPS. More on that in its own (section)[https://github.com/hudsonvalleydigitalnetwork/hasviolet/wiki/XARPS].
The apps directory includes python code for use with various sensors.
Transmitter hunting (also known as T-hunting, fox hunting, bunny hunting, and bunny chasing), is an activity wherein participants use
radio direction finding techniques to locate one or more radio transmitters hidden within a designated search area. This activity is most popular among amateur radio enthusiasts, and one organized sport variation is known as amateur radio direction finding. --- Wikipedia
Radio beacons used in transmitter Hunting are often simple low power transmitters sending a pre-recorded message (voice or CW) at pre-defined intervals. But what if we make the beacon smarter and give it the will and smarts not to be easily found. Smarts that include being aware of its environment and the ability to react to any changes in it. We would refer to these as Ducks with finding them called DuckHunts. Thus the HASduck concept was born.
A default configuration is included for HASduck to behave as a simple beacon sending one group of commands starting with the message
“Quack Quack Quack” every ten seconds for one hour using N0CALL-99 or the call/handle you setup with ./HASviolet duck config
We can change the “duck behavior” within HASduck config which writes to a JSON config file HASduck.json
. Before we run the config, you need to understand the five simple commands used in setting the ducks behavior;
- message is the text you want to send
- interval is how many seconds between re-transmission of message
-
trigger is an event you can set that leads to an action. The command has two arguments of type and value. Types include;
- none does nothing for the duration of the workload. Value 0 is assigned
- gps changes in location (duck moved) or some other gps value
- bluetooth is detection of any or specific BLE signal
- wifi is detection of any or specific WiFi signal
- custom as written by yourself
-
action is taken when the trigger has been tripped. Action has one argument which could be
- next which runs a new group of commands
- reset which re-runs the last set of commands
- quit which stops beaconing altogether
- duration is time-out in seconds for the current group of commands
NOTE: Triggers remain under development as of this release and will be made available as plug-ins. For now trigger needs to remain none as type and 0 for value. Only one group of commands is supported.
The left button (B1) is used to cycle through menu selections and the middle button (B2) is used to make your selection. The right button (B3) is a hard reset to get you out of any option selected. After boot up, the OLED displays the following menu options;
TRANSMIT
RECEIVE
DUCKHUNT
OPTIONS
HASduck provides the ability to send out short canned messages when it is not setup as a Duck using the DUCKHUNT menu. It will transmit the canned message in the following format;
N0CALL-99>BEACON-99|<msg>
Where as N0CALL-99 is the call/handle you configured with HASviolet_config.py, BEACON-99 is static, and is one of the canned messages per menu options
- TX QSL where is QSL
- TX QRZ where is QRZ
- TX BEACON where is beacon as configured in HASviolet_config.py
- RETURN to previous menu
HASduck provides the ability to recieve when it is not setup as a Duck using the DUCKHUNT menu. In this menu you have the following options
- RX ALL to listen to all signals on the channel
- RX BEACONS to listen to all signals with BEACON-99 as destination on the channel
- RX ME to listen to all signals with your call/handle as destination on the channel
- RETURN to previous menu
HASduck provides the ability to recieve when it is not setup as a Duck using the DUCKHUNT menu. In this menu you have the following options
- SHOW DUCK to see current HASduck.json settings
- RUN DUCK starts HASduck in DUCKHUNT mode. Let the games begin!
- RETURN to previous menu
In this menu you have the following options
- ABOUT DUCK to show current HASduck version
- RESTART to reboot HASduck
- QUIT to stop running HASduck.py. Used when SSH/connected into HASduck for
- RETURN to previous menu