mirror of
https://github.com/TheCommsChannel/TC2-BBS-mesh.git
synced 2025-03-05 20:51:53 -08:00
update readme file
This commit is contained in:
parent
2e2408e546
commit
fb56870dd3
144
README.md
144
README.md
|
@ -14,12 +14,12 @@ If you're a Docker user, TC²-BBS Meshtastic is available on Docker Hub!
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- Python 3.x
|
- Python 3.12
|
||||||
- Meshtastic
|
- Meshtastic
|
||||||
- pypubsub
|
- pypubsub
|
||||||
|
|
||||||
### Update and Install Git
|
### Update and Install Git
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt upgrade
|
sudo apt upgrade
|
||||||
|
@ -29,76 +29,76 @@ If you're a Docker user, TC²-BBS Meshtastic is available on Docker Hub!
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
1. Clone the repository:
|
1. Clone the repository:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd ~
|
cd ~
|
||||||
git clone https://github.com/TheCommsChannel/TC2-BBS-mesh.git
|
git clone https://github.com/TheCommsChannel/TC2-BBS-mesh.git
|
||||||
cd TC2-BBS-mesh
|
cd TC2-BBS-mesh
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Set up a Python virtual environment:
|
2. Set up a `Pyenv`
|
||||||
|
|
||||||
|
2.1 Follow instructions [here](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation).
|
||||||
|
|
||||||
|
2.2 Install Python 3.12
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
python -m venv venv
|
pyenv install 3.12
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Activate the virtual environment:
|
2.3 Set your environment
|
||||||
|
|
||||||
- On Windows:
|
```sh
|
||||||
|
pyenv local 3.12
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Set up a `Poetry`
|
||||||
|
|
||||||
|
Follow instructions [here](https://python-poetry.org/docs/#installation).
|
||||||
|
|
||||||
|
4. Install the required packages
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
venv\Scripts\activate
|
poetry install
|
||||||
```
|
|
||||||
|
|
||||||
- On macOS and Linux:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
source venv/bin/activate
|
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Install the required packages:
|
5. Rename `example_config.ini`
|
||||||
|
|
||||||
```sh
|
|
||||||
pip install -r requirements.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Rename `example_config.ini`:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mv example_config.ini config.ini
|
mv example_config.ini config.ini
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Set up the configuration in `config.ini`:
|
6. Set up the configuration in `config.ini`:
|
||||||
|
|
||||||
You'll need to open up the config.ini file in a text editor and make your changes following the instructions below
|
You'll need to open up the config.ini file in a text editor and make your changes following the instructions below
|
||||||
|
|
||||||
**[interface]**
|
**[interface]**
|
||||||
If using `type = serial` and you have multiple devices connected, you will need to uncomment the `port =` line and enter the port of your device.
|
If using `type = serial` and you have multiple devices connected, you will need to uncomment the `port =` line and enter the port of your device.
|
||||||
|
|
||||||
Linux Example:
|
Linux Example:
|
||||||
`port = /dev/ttyUSB0`
|
`port = /dev/ttyUSB0`
|
||||||
|
|
||||||
Windows Example:
|
Windows Example:
|
||||||
`port = COM3`
|
`port = COM3`
|
||||||
|
|
||||||
If using type = tcp you will need to uncomment the hostname = 192.168.x.x line and put in the IP address of your Meshtastic device.
|
If using type = tcp you will need to uncomment the hostname = 192.168.x.x line and put in the IP address of your Meshtastic device.
|
||||||
|
|
||||||
**[sync]**
|
**[sync]**
|
||||||
Enter a list of other BBS nodes you would like to sync messages and bulletins with. Separate each by comma and no spaces as shown in the example below.
|
Enter a list of other BBS nodes you would like to sync messages and bulletins with. Separate each by comma and no spaces as shown in the example below.
|
||||||
You can find the nodeID in the menu under `Radio Configuration > User` for each node, or use this script for getting nodedb data from a device:
|
You can find the nodeID in the menu under `Radio Configuration > User` for each node, or use this script for getting nodedb data from a device:
|
||||||
|
|
||||||
[Meshtastic-Python-Examples/print-nodedb.py at main · pdxlocations/Meshtastic-Python-Examples (github.com)](https://github.com/pdxlocations/Meshtastic-Python-Examples/blob/main/print-nodedb.py)
|
[Meshtastic-Python-Examples/print-nodedb.py at main · pdxlocations/Meshtastic-Python-Examples (github.com)](https://github.com/pdxlocations/Meshtastic-Python-Examples/blob/main/print-nodedb.py)
|
||||||
|
|
||||||
Example Config:
|
Example Config:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[interface]
|
[interface]
|
||||||
type = serial
|
type = serial
|
||||||
# port = /dev/ttyUSB0
|
# port = /dev/ttyUSB0
|
||||||
# hostname = 192.168.x.x
|
# hostname = 192.168.x.x
|
||||||
|
|
||||||
[sync]
|
[sync]
|
||||||
bbs_nodes = !f53f4abc,!f3abc123
|
bbs_nodes = !f53f4abc,!f3abc123
|
||||||
```
|
```
|
||||||
|
|
||||||
### Running the Server
|
### Running the Server
|
||||||
|
@ -112,6 +112,7 @@ python server.py
|
||||||
Be sure you've followed the Python virtual environment steps above and activated it before running.
|
Be sure you've followed the Python virtual environment steps above and activated it before running.
|
||||||
|
|
||||||
## Command line arguments
|
## Command line arguments
|
||||||
|
|
||||||
```
|
```
|
||||||
$ python server.py --help
|
$ python server.py --help
|
||||||
|
|
||||||
|
@ -139,56 +140,54 @@ options:
|
||||||
MQTT topic to subscribe
|
MQTT topic to subscribe
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Automatically run at boot
|
## Automatically run at boot
|
||||||
|
|
||||||
If you would like to have the script automatically run at boot, follow the steps below:
|
If you would like to have the script automatically run at boot, follow the steps below:
|
||||||
|
|
||||||
1. **Edit the service file**
|
1. **Edit the service file**
|
||||||
|
|
||||||
First, edit the mesh-bbs.service file using your preferred text editor. The 3 following lines in that file are what we need to edit:
|
First, edit the mesh-bbs.service file using your preferred text editor. The 3 following lines in that file are what we need to edit:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
User=pi
|
User=pi
|
||||||
WorkingDirectory=/home/pi/TC2-BBS-mesh
|
WorkingDirectory=/home/pi/TC2-BBS-mesh
|
||||||
ExecStart=/home/pi/TC2-BBS-mesh/venv/bin/python3 /home/pi/TC2-BBS-mesh/server.py
|
ExecStart=/home/pi/TC2-BBS-mesh/venv/bin/python3 /home/pi/TC2-BBS-mesh/server.py
|
||||||
```
|
```
|
||||||
|
|
||||||
The file is currently setup for a user named 'pi' and assumes that the TC2-BBS-mesh directory is located in the home directory (which it should be if the earlier directions were followed)
|
The file is currently setup for a user named 'pi' and assumes that the TC2-BBS-mesh directory is located in the home directory (which it should be if the earlier directions were followed)
|
||||||
|
|
||||||
We just need to replace the 4 parts that have "pi" in those 3 lines with your username.
|
We just need to replace the 4 parts that have "pi" in those 3 lines with your username.
|
||||||
|
|
||||||
2. **Configuring systemd**
|
2. **Configuring systemd**
|
||||||
|
|
||||||
From the TC2-BBS-mesh directory, run the following commands:
|
From the TC2-BBS-mesh directory, run the following commands:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo cp mesh-bbs.service /etc/systemd/system/
|
sudo cp mesh-bbs.service /etc/systemd/system/
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo systemctl enable mesh-bbs.service
|
sudo systemctl enable mesh-bbs.service
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo systemctl start mesh-bbs.service
|
sudo systemctl start mesh-bbs.service
|
||||||
```
|
```
|
||||||
|
|
||||||
The service should be started now and should start anytime your device is powered on or rebooted. You can check the status of the service by running the following command:
|
The service should be started now and should start anytime your device is powered on or rebooted. You can check the status of the service by running the following command:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo systemctl status mesh-bbs.service
|
sudo systemctl status mesh-bbs.service
|
||||||
```
|
```
|
||||||
|
|
||||||
If you need to stop the service, you can run the following:
|
If you need to stop the service, you can run the following:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo systemctl stop mesh-bbs.service
|
sudo systemctl stop mesh-bbs.service
|
||||||
```
|
```
|
||||||
|
|
||||||
If you need to restart the service, you can do so with the following command:
|
If you need to restart the service, you can do so with the following command:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo systemctl restart mesh-bbs.service
|
sudo systemctl restart mesh-bbs.service
|
||||||
```
|
```
|
||||||
|
@ -196,20 +195,23 @@ If you would like to have the script automatically run at boot, follow the steps
|
||||||
2. **Viewing Logs**
|
2. **Viewing Logs**
|
||||||
|
|
||||||
Viewing past logs:
|
Viewing past logs:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
journalctl -u mesh-bbs.service
|
journalctl -u mesh-bbs.service
|
||||||
```
|
```
|
||||||
|
|
||||||
Viewing live logs:
|
Viewing live logs:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
journalctl -u mesh-bbs.service -f
|
journalctl -u mesh-bbs.service -f
|
||||||
```
|
```
|
||||||
|
|
||||||
## Radio Configuration
|
## Radio Configuration
|
||||||
|
|
||||||
Note: There have been reports of issues with some device roles that may allow the BBS to communicate for a short time, but then the BBS will stop responding to requests.
|
Note: There have been reports of issues with some device roles that may allow the BBS to communicate for a short time, but then the BBS will stop responding to requests.
|
||||||
|
|
||||||
|
The following device roles have been working:
|
||||||
|
|
||||||
The following device roles have been working:
|
|
||||||
- **Client**
|
- **Client**
|
||||||
- **Router_Client**
|
- **Router_Client**
|
||||||
|
|
||||||
|
@ -224,7 +226,7 @@ The following device roles have been working:
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
You interact with the BBS by sending direct messages to the node that's connected to the system running the Python script. Sending any message to it will get a response with the main menu.
|
You interact with the BBS by sending direct messages to the node that's connected to the system running the Python script. Sending any message to it will get a response with the main menu.
|
||||||
Make selections by sending messages based on the letter or number in brackets - Send M for [M]ail Menu for example.
|
Make selections by sending messages based on the letter or number in brackets - Send M for [M]ail Menu for example.
|
||||||
|
|
||||||
A video of it in use is available on our YouTube channel:
|
A video of it in use is available on our YouTube channel:
|
||||||
|
|
Loading…
Reference in a new issue