Tuto-meshing-around
Install et config de Meshing-around Mesh Bot Network test and BBS
Mesh Bot for Network Testing and BBS Activities Welcome to the Mesh Bot project! This feature-rich bot is designed to enhance your Meshtastic network experience with a variety of powerful tools and fun features, connectivity and utility through text-based message delivery. Whether you're looking to perform network tests, send messages, or even play games, mesh_bot.py has you covered.
- Release 1.6.5 12/01/2025 https://github.com/SpudGunMan/meshing-around/releases/tag/v1.6.5
- Release 1.6.2 28/11/2024 https://github.com/SpudGunMan/meshing-around/releases/tag/v1.6.2
Le process d'upgrade est détaillé à la fin du tuto
ANNEXE Linux : INSTALLER SUDO ET CREER UN UTILISATEUR SUDO SUR DEBIAN 12 https://www.youtube.com/watch?v=6Tez29zEn4g&t=216s
1. Ouvrir un terminal
2. Mise à jour de l'OS (https://lecrabeinfo.net/ubuntu-linux-mettre-a-jour-paquets-systeme.html)
Mettez à jour la liste des paquets :
$ sudo apt update
Affichez les paquets pour lesquels une mise à jour est disponible :
$ apt list --upgradable
Mettez à jour les paquets installés sur le système avec au choix :
$ sudo apt upgrade upgade : les paquets seront remplacés par des versions plus récentes, mais sans qu’aucun autre paquet ne soit ajouté ou supprimé. Par exemple, une nouvelle version de Firefox sera installée avec apt upgrade. $ sudo apt full-upgrade full-upgrade : même chose que apt upgrade, mais supprime des paquets si cela est nécessaire pour installer les nouvelles versions des paquets.
Supprimez tous les paquets devenus obsolètes et qui ne sont plus nécessaires :
$ sudo apt autoremove
Supprimez le cache des paquets qui ne peuvent plus être téléchargés :
$ sudo apt autoclean
3. Installation de meshing-around (https://github.com/SpudGunMan/meshing-around)
Clone the Repository. If you dont have git you will need it
$ sudo apt-get install git # git clone https://github.com/spudgunman/meshing-around
3.1 Installation
# cd meshing-around # ./install.sh First run install.sh was to move meshing-around from lal directory to /opt/meshing-around Then change directory $ cd /opt/meshing-around And run install.sh script a second time for installation $ ./install.sh
root@aprsc25:/opt/meshing-around# ./install.sh ######################## Meshing Around Installer ######################## This script will try and install the Meshing Around Bot and its dependencies. Installer works best in raspian/debian/ubuntu or foxbuntu embedded systems. If there is a problem, try running the installer again. Checking for dependencies... Are You installing into an embedded system like a luckfox or -native? most should say no here (y/n) n Dependencies installed Adding user to dialout, bluetooth, and tty groups for serial access Config file already exists, moving to backup config.old Config files generated! lat,long updated in config.ini to 48.8534,2.3488 Recomended install is in a python virtual environment, do you want to use venv? (y/n) y The Following could be messy, or take some time on slower devices. Creating virtual environment... Virtual environment not found, trying Reading package lists... Building dependency tree... Reading state information... python3-venv is already the newest version (3.11.2-1+b1). 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. Reading package lists... Done Building dependency tree... Done Reading state information... Done python3-venv is already the newest version (3.11.2-1+b1). 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. Found virtual environment for python Virtual environment created Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting meshtastic Downloading https://www.piwheels.org/simple/meshtastic/meshtastic-2.5.10-py3-none-any.whl (299 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 299.4/299.4 kB 203.6 kB/s eta 0:00:00 Collecting pubsub Downloading https://www.piwheels.org/simple/pubsub/pubsub-0.1.2-py3-none-any.whl (2.8 kB) Collecting datetime Downloading DateTime-5.5-py3-none-any.whl (52 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.6/52.6 kB 268.1 kB/s eta 0:00:00 Collecting pyephem Downloading https://www.piwheels.org/simple/pyephem/pyephem-9.99-py3-none-any.whl (2.8 kB) Collecting requests Downloading https://www.piwheels.org/simple/requests/requests-2.32.3-py3-none-any.whl (64 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.9/64.9 kB 520.4 kB/s eta 0:00:00 Collecting maidenhead Downloading https://www.piwheels.org/simple/maidenhead/maidenhead-1.7.0-py3-none-any.whl (6.0 kB) Collecting beautifulsoup4 Downloading https://www.piwheels.org/simple/beautifulsoup4/beautifulsoup4-4.12.3-py3-none-any.whl (147 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.9/147.9 kB 316.7 kB/s eta 0:00:00 Collecting dadjokes Downloading https://www.piwheels.org/simple/dadjokes/dadjokes-1.3.2-py3-none-any.whl (4.3 kB) Collecting geopy Downloading https://www.piwheels.org/simple/geopy/geopy-2.4.1-py3-none-any.whl (114 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.3/114.3 kB 315.6 kB/s eta 0:00:00 Collecting schedule Downloading https://www.piwheels.org/simple/schedule/schedule-1.2.2-py3-none-any.whl (12 kB) Collecting wikipedia Downloading https://www.piwheels.org/simple/wikipedia/wikipedia-1.4.0-py3-none-any.whl (13 kB) Collecting googlesearch-python Downloading https://www.piwheels.org/simple/googlesearch-python/googlesearch_python-1.2.5-py3-none-any.whl (4.8 kB) Collecting bleak<0.23.0,>=0.22.3 Downloading https://www.piwheels.org/simple/bleak/bleak-0.22.3-py3-none-any.whl (142 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 142.7/142.7 kB 245.3 kB/s eta 0:00:00 Collecting packaging<25.0,>=24.0 Downloading https://www.piwheels.org/simple/packaging/packaging-24.2-py3-none-any.whl (65 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.5/65.5 kB 351.3 kB/s eta 0:00:00 Collecting protobuf>=4.21.12 Downloading protobuf-5.29.3-cp38-abi3-manylinux2014_aarch64.whl (319 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 319.6/319.6 kB 396.8 kB/s eta 0:00:00 Collecting pypubsub<5.0.0,>=4.0.3 Downloading Pypubsub-4.0.3-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.4/61.4 kB 433.7 kB/s eta 0:00:00 Collecting pyserial<4.0,>=3.5 Downloading https://www.piwheels.org/simple/pyserial/pyserial-3.5-py2.py3-none-any.whl (90 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 437.0 kB/s eta 0:00:00 Collecting pyyaml<7.0.0,>=6.0.1 Downloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (736 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 736.8/736.8 kB 422.9 kB/s eta 0:00:00 Collecting tabulate<0.10.0,>=0.9.0 Downloading https://www.piwheels.org/simple/tabulate/tabulate-0.9.0-py3-none-any.whl (35 kB) Collecting six<2,>=1 Downloading https://www.piwheels.org/simple/six/six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting zope.interface Downloading zope.interface-7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (260 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 261.0/261.0 kB 272.5 kB/s eta 0:00:00 Collecting pytz Downloading https://www.piwheels.org/simple/pytz/pytz-2024.2-py3-none-any.whl (507 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 508.0/508.0 kB 223.9 kB/s eta 0:00:00 Collecting ephem Downloading ephem-4.1.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 585.5 kB/s eta 0:00:00 Collecting charset-normalizer<4,>=2 Downloading charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (139 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 139.5/139.5 kB 199.9 kB/s eta 0:00:00 Collecting idna<4,>=2.5 Downloading https://www.piwheels.org/simple/idna/idna-3.10-py3-none-any.whl (70 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 70.4/70.4 kB 242.8 kB/s eta 0:00:00 Collecting urllib3<3,>=1.21.1 Downloading https://www.piwheels.org/simple/urllib3/urllib3-2.3.0-py3-none-any.whl (128 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.4/128.4 kB 264.6 kB/s eta 0:00:00 Collecting certifi>=2017.4.17 Downloading https://www.piwheels.org/simple/certifi/certifi-2024.12.14-py3-none-any.whl (164 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 164.9/164.9 kB 235.9 kB/s eta 0:00:00 Collecting soupsieve>1.2 Downloading https://www.piwheels.org/simple/soupsieve/soupsieve-2.6-py3-none-any.whl (36 kB) Collecting geographiclib<3,>=1.52 Downloading https://www.piwheels.org/simple/geographiclib/geographiclib-2.0-py3-none-any.whl (40 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.3/40.3 kB 367.0 kB/s eta 0:00:00 Collecting dbus-fast<3,>=1.83.0 Downloading dbus_fast-2.28.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 444.4 kB/s eta 0:00:00 Collecting typing-extensions>=4.7.0 Downloading https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.12.2-py3-none-any.whl (37 kB) Requirement already satisfied: setuptools in ./venv/lib/python3.11/site-packages (from zope.interface->datetime->-r requirements.txt (line 3)) (66.1.1) Installing collected packages: pytz, pyserial, ephem, zope.interface, urllib3, typing-extensions, tabulate, soupsieve, six, schedule, pyyaml, pypubsub, pyephem, protobuf, packaging, maidenhead, idna, geographiclib, dbus-fast, charset-normalizer, certifi, requests, pubsub, geopy, datetime, bleak, beautifulsoup4, wikipedia, meshtastic, googlesearch-python, dadjokes Successfully installed beautifulsoup4-4.12.3 bleak-0.22.3 certifi-2024.12.14 charset-normalizer-3.4.1 dadjokes-1.3.2 datetime-5.5 dbus-fast-2.28.0 ephem-4.1.6 geographiclib-2.0 geopy-2.4.1 googlesearch-python-1.2.5 idna-3.10 maidenhead-1.7.0 meshtastic-2.5.10 packaging-24.2 protobuf-5.29.3 pubsub-0.1.2 pyephem-9.99 pypubsub-4.0.3 pyserial-3.5 pytz-2024.2 pyyaml-6.0.2 requests-2.32.3 schedule-1.2.2 six-1.17.0 soupsieve-2.6 tabulate-0.9.0 typing-extensions-4.12.2 urllib3-2.3.0 wikipedia-1.4.0 zope.interface-7.2 Which bot do you want to install as a service? Pong Mesh or None? (pong/mesh/n) Pong bot is a simple bot for network testing, Mesh bot is a more complex bot more suited for meshing around mesh Do you want to add a local user (meshbot) no login, for the bot? (y/n) y useradd: user 'meshbot' already exists groupadd: group 'meshbot' already exists Added user meshbot with no home directory Added meshbot to dialout, tty, and bluetooth groups Permissions set for meshbot on logs and data directories service files updated Created symlink /etc/systemd/system/default.target.wants/pong_bot.service → /etc/systemd/system/pong_bot.service. to start pong bot service: systemctl start pong_bot Do you want to install the emoji font for debian/ubuntu linux? (y/n) y Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: fonts-noto-color-emoji 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Need to get 9,894 kB of archives. After this operation, 11.0 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian bookworm/main arm64 fonts-noto-color-emoji all 2.042-0+deb12u1 [9,894 kB] Fetched 9,894 kB in 17s (587 kB/s) Selecting previously unselected package fonts-noto-color-emoji. (Reading database ... 176233 files and directories currently installed.) Preparing to unpack .../fonts-noto-color-emoji_2.042-0+deb12u1_all.deb ... Unpacking fonts-noto-color-emoji (2.042-0+deb12u1) ... Setting up fonts-noto-color-emoji (2.042-0+deb12u1) ... Processing triggers for fontconfig (2.14.1-4) ... Emoji font installed!, reboot to load the font Optionally if you want to install the multi gig LLM Ollama compnents we will execute the following commands curl -fsSL https://ollama.com/install.sh | sh ollama pull gemma2:2b Total download is multi GB, recomend pi5/8GB or better for this Do you want to install the LLM Ollama components? (y/n) n Press enter to complete the installation, these commands saved to install_notes.txt Good time to reboot? (y/n) y Broadcast message from root@aprsc25 on pts/1 (Sun 2025-01-12 19:11:54 CET): The system will reboot now! Installation complete! root@aprsc25:/opt/meshing-around#
3.2 Reboot
3.3 Complete the installation fore this read these commands saved to install_notes.txt
3.4 Configuration
$ mv config.ini config.ini.old $ vi config.ini Modify these lines Interface de connexion au Rpi Définissez l'interface appropriée pour votre méthode (série/ble/tcp). Bien que BLE et TCP fonctionnent, ils ne sont pas aussi fiables que les connexions série. Il existe un chien de garde pour reconnecter TCP si possible. Si besoin pour obtenir l'adresse MAC BLE, utilisez la commande : $ meshtastic --ble-scan Remarque : le code a été testé avec un seul périphérique BLE et est écrit pour ne prendre en charge qu'un seul port BLE. root@aprsc25:/opt/meshing-around# meshtastic --ble-scan INFO file:ble_interface.py scan line:116 Scanning for BLE devices (takes 10 seconds)... Found: name='GHE1_5e0c' address='24:A1:60:7F:5E:0E' BLE scan finished root@aprsc25:/opt/meshing-around# Dans notre cas la connexion sera de type USB; il faut donc décommenter le port USB (/dev/ttyUSB0) # config.ini # type can be serial, tcp, or ble. # port is the serial port to use; commented out will try to auto-detect # hostname is the IP address of the device to connect to for TCP type # mac is the MAC address of the device to connect to for BLE type [interface] type = serial # port = /dev/ttyACM0 port = /dev/ttyUSB0 # hostname = meshtastic.local # mac = 24:A1:60:7F:5E:0E # Additional interface for dual radio support [interface2] enabled = False type = serial # port = /dev/ttyUSB0 # port = /dev/ttyACM1 # port = COM1 # hostname = localhost # mac = 00:11:22:33:44:55 Paramètres de localisation Les prévisions météorologiques sont définies par défaut sur NOAA. Pour les emplacements situés hors des États-Unis, vous pouvez définir UseMeteoWxAPIsur True, pour utiliser une API météo globale. Les valeurs par défaut lat et lon sont les valeurs par défaut lorsqu'un nœud n'a pas de données de localisation, ainsi que la valeur par défaut pour toutes les recherches de répéteurs NOAA. C'est également le centre du rayon pour Sentry. # location module [location] enabled = True #lat = 48.8534 #lon = 2.3488.0 lat = 47.30852 lon = 6.01049 # use Open-Meteo API for weather data not NOAA useful for non US locations UseMeteoWxAPI = True # NOAA Hydrology unique identifiers, LID or USGS ID riverListDefault = # NOAA Hydrology data, unique identifiers, LID or USGS ID # Default to metric units rather than imperial useMetric = True
3.5 Backup config.ini
$ cp config.ini config.ini.backup
4. Connecter le Rpi au Module avec un cable USB (Serial mode)
Process de mise à jour
1. Se placer dans le réperoire d'installation $ cd /opt/mashing-around 2. Faire la mise à jor avec la commande suivante $ git pull
Si des fichiers autres que le fichier de configuration ont été modifiés l'upgrade ne se fera pas Voir le résultat de la tentative ci-dessous suite à la modification de install.sh :
root@aprsc25:/opt/meshing-around# git pull remote: Enumerating objects: 129, done. remote: Counting objects: 100% (128/128), done. remote: Compressing objects: 100% (72/72), done. remote: Total 129 (delta 75), reused 101 (delta 52), pack-reused 1 (from 1) Receiving objects: 100% (129/129), 65.61 KiB | 509.00 KiB/s, done. Resolving deltas: 100% (75/75), completed with 13 local objects. From https://github.com/spudgunman/meshing-around 6c9f9f2..f1ad470 main -> origin/main [new tag] v1.6.5 -> v1.6.5 Updating 6c9f9f2..f1ad470 error: Your local changes to the following files would be overwritten by merge: install.sh Please commit your changes or stash them before you merge. Aborting root@aprsc25:/opt/meshing-around# root@aprsc25:/opt/meshing-around# git pull Updating 6c9f9f2..f1ad470 error: Your local changes to the following files would be overwritten by merge: install.sh Please commit your changes or stash them before you merge. Aborting root@aprsc25:/opt/meshing-around# root@aprsc25:/opt/meshing-around# error: Your local changes to the following files would be overwritten by merge: install.sh Please commit your changes or stash them before you merge. bash: error:: command not found bash: install.sh: command not found bash: Please: command not found root@aprsc25:/opt/meshing-around#
Il y a les 3 options suivantes pour résoudre ce problème :
1. Commit the change using
$ git commit -m "My message"
2. Stash it. Stashing acts as a stack, where you can push changes, and you pop them in reverse order.
To stash, type :
$ git stash
Do the merge, and then pull the stash:
$ git stash pop
3. Discard the local changes using git reset --hard or git checkout -t -f remote/branch
$ git reset --hard or $ git checkout -t -f remote/branch
Or: Discard local changes for a specific file using
$ git checkout filename
Dans mon cas j'ai opté pour la 3ème option avec la commande suivante:
$ git reset
Puis le git pull
$ git pull --hard root@aprsc25:/opt/meshing-around# git reset --hard HEAD is now at 6c9f9f2 Update config.template root@aprsc25:/opt/meshing-around# git pull Updating 6c9f9f2..f1ad470 Fast-forward Dockerfile | 13 ++- README.md | 15 +--- config.template | 22 ++++- entrypoint.sh | 7 -- install.sh | 28 ++++++- logs/README.md | 18 ++--- mesh_bot.py | 111 ++++++++++++++----------- modules/filemon.py | 2 +- modules/globalalert.py | 21 ++++- modules/locationdata.py | 19 ++--- modules/settings.py | 79 ++++++++++++++++++ modules/system.py | 432 +++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------- modules/web.py | 51 ++++++++++++ pong_bot.py | 76 ++++++++++------- script/docker/README.md | 25 ++++++ script/docker/compose.yaml | 52 ++++++++++++ script/docker/docker-install.bat | 6 ++ script/docker/docker-terminal.bat | 2 + script/docker/entrypoint.sh | 6 ++ script/docker/ollama-entrypoint.sh | 16 ++++ runShell.sh => script/runShell.sh | 2 +- sysEnv.sh => script/sysEnv.sh | 7 +- 22 files changed, 644 insertions(+), 366 deletions(-) delete mode 100644 entrypoint.sh create mode 100644 modules/web.py create mode 100644 script/docker/README.md create mode 100644 script/docker/compose.yaml create mode 100644 script/docker/docker-install.bat create mode 100644 script/docker/docker-terminal.bat create mode 100644 script/docker/entrypoint.sh create mode 100644 script/docker/ollama-entrypoint.sh rename runShell.sh => script/runShell.sh (58%) rename sysEnv.sh => script/sysEnv.sh (85%) root@aprsc25:/opt/meshing-around# git pull Already up to date. root@aprsc25:/opt/meshing-around# ls config.ini config.template Dockerfile install.sh logs news.txt requirements.txt config.ini.backup CONTRIBUTING.md etc launch.sh mesh_bot.py pong_bot.py script config.old data install_notes.txt LICENSE modules README.md venv root@aprsc25:/opt/meshing-around# ls -l total 248 -rw-r--r-- 1 root root 6947 Jan 12 20:44 config.ini -rw-r--r-- 1 root root 6947 Jan 12 20:44 config.ini.backup -rw-r--r-- 1 root root 6911 Jan 12 18:59 config.old -rw-r--r-- 1 root root 7454 Jan 18 00:27 config.template -rw-r--r-- 1 root root 118 Jan 11 13:41 CONTRIBUTING.md drwxr-xr-x 2 meshbot meshbot 4096 Jan 18 00:26 data -rw-r--r-- 1 root root 621 Jan 18 00:27 Dockerfile drwxr-xr-x 3 root root 4096 Jan 12 19:10 etc -rw-r--r-- 1 root root 462 Jan 12 19:10 install_notes.txt -rwxr-xr-x 1 root root 13121 Jan 18 00:27 install.sh -rwxr-xr-x 1 root root 807 Jan 11 13:41 launch.sh -rw-r--r-- 1 root root 35148 Jan 11 13:41 LICENSE drwxr-xr-x 2 meshbot meshbot 4096 Jan 18 00:27 logs -rwxr-xr-x 1 root root 68941 Jan 18 00:27 mesh_bot.py drwxr-xr-x 4 root root 4096 Jan 18 00:27 modules -rw-r--r-- 1 root root 25 Jan 11 13:41 news.txt -rwxr-xr-x 1 root root 22320 Jan 18 00:27 pong_bot.py -rw-r--r-- 1 root root 23420 Jan 18 00:27 README.md -rw-r--r-- 1 root root 124 Jan 11 13:41 requirements.txt drwxr-xr-x 3 root root 4096 Jan 18 00:27 script drwxr-xr-x 5 root root 4096 Jan 12 18:14 venv
J'ai ensuite relancé le script d'install. Ceci plus pour test que par nécéssité du fait que le script à été mis à jour et que je n'ai pas encore mis le service en production
root@aprsc25:/opt/meshing-around# ./install.sh ######################## Meshing Around Installer ######################## This script will try and install the Meshing Around Bot and its dependencies. Installer works best in raspian/debian/ubuntu or foxbuntu embedded systems. If there is a problem, try running the installer again. Checking for dependencies... Are You installing into an embedded system like a luckfox or -native? most should say no here (y/n)n Dependencies installed Adding user to dialout, bluetooth, and tty groups for serial access Config file already exists, moving to backup config.old Config files generated! lat,long updated in config.ini to 49.4097,1.0900 Recomended install is in a python virtual environment, do you want to use venv? (y/n)y The Following could be messy, or take some time on slower devices. Creating virtual environment... Found virtual environment for python Found virtual environment for python Virtual environment created Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Requirement already satisfied: meshtastic in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 1)) (2.5.10) Requirement already satisfied: pubsub in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 2)) (0.1.2) Requirement already satisfied: datetime in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 3)) (5.5) Requirement already satisfied: pyephem in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 4)) (9.99) Requirement already satisfied: requests in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 5)) (2.32.3) Requirement already satisfied: maidenhead in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 6)) (1.7.0) Requirement already satisfied: beautifulsoup4 in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 7)) (4.12.3) Requirement already satisfied: dadjokes in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 8)) (1.3.2) Requirement already satisfied: geopy in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 9)) (2.4.1) Requirement already satisfied: schedule in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 10)) (1.2.2) Requirement already satisfied: wikipedia in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 11)) (1.4.0) Requirement already satisfied: googlesearch-python in ./venv/lib/python3.11/site-packages (from -r requirements.txt (line 12)) (1.2.5) Requirement already satisfied: bleak<0.23.0,>=0.22.3 in ./venv/lib/python3.11/site-packages (from meshtastic->-r requirements.txt (line 1)) (0.22.3) Requirement already satisfied: packaging<25.0,>=24.0 in ./venv/lib/python3.11/site-packages (from meshtastic->-r requirements.txt (line 1)) (24.2) Requirement already satisfied: protobuf>=4.21.12 in ./venv/lib/python3.11/site-packages (from meshtastic->-r requirements.txt (line 1)) (5.29.3) Requirement already satisfied: pypubsub<5.0.0,>=4.0.3 in ./venv/lib/python3.11/site-packages (from meshtastic->-r requirements.txt (line 1)) (4.0.3) Requirement already satisfied: pyserial<4.0,>=3.5 in ./venv/lib/python3.11/site-packages (from meshtastic->-r requirements.txt (line 1)) (3.5) Requirement already satisfied: pyyaml<7.0.0,>=6.0.1 in ./venv/lib/python3.11/site-packages (from meshtastic->-r requirements.txt (line 1)) (6.0.2) Requirement already satisfied: tabulate<0.10.0,>=0.9.0 in ./venv/lib/python3.11/site-packages (from meshtastic->-r requirements.txt (line 1)) (0.9.0) Requirement already satisfied: six<2,>=1 in ./venv/lib/python3.11/site-packages (from pubsub->-r requirements.txt (line 2)) (1.17.0) Requirement already satisfied: zope.interface in ./venv/lib/python3.11/site-packages (from datetime->-r requirements.txt (line 3)) (7.2) Requirement already satisfied: pytz in ./venv/lib/python3.11/site-packages (from datetime->-r requirements.txt (line 3)) (2024.2) Requirement already satisfied: ephem in ./venv/lib/python3.11/site-packages (from pyephem->-r requirements.txt (line 4)) (4.1.6) Requirement already satisfied: charset-normalizer<4,>=2 in ./venv/lib/python3.11/site-packages (from requests->-r requirements.txt (line 5)) (3.4.1) Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.11/site-packages (from requests->-r requirements.txt (line 5)) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in ./venv/lib/python3.11/site-packages (from requests->-r requirements.txt (line 5)) (2.3.0) Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.11/site-packages (from requests->-r requirements.txt (line 5)) (2024.12.14) Requirement already satisfied: soupsieve>1.2 in ./venv/lib/python3.11/site-packages (from beautifulsoup4->-r requirements.txt (line 7)) (2.6) Requirement already satisfied: geographiclib<3,>=1.52 in ./venv/lib/python3.11/site-packages (from geopy->-r requirements.txt (line 9)) (2.0) Requirement already satisfied: dbus-fast<3,>=1.83.0 in ./venv/lib/python3.11/site-packages (from bleak<0.23.0,>=0.22.3->meshtastic- >-r requirements.txt (line 1)) (2.28.0) Requirement already satisfied: typing-extensions>=4.7.0 in ./venv/lib/python3.11/site-packages (from bleak<0.23.0,>=0.22.3- >meshtastic->-r requirements.txt (line 1)) (4.12.2) Requirement already satisfied: setuptools in ./venv/lib/python3.11/site-packages (from zope.interface->datetime->-r requirements.txt (line 3)) (66.1.1) Which bot do you want to install as a service? Pong Mesh or None? (pong/mesh/n) Pong bot is a simple bot for network testing Mesh bot is a more complex bot more suited for meshing around None will skip the service install mesh Do you want to add a local user (meshbot) no login, for the bot? (y/n)y useradd: user 'meshbot' already exists groupadd: group 'meshbot' already exists Added user meshbot with no home directory Added meshbot to dialout, tty, and bluetooth groups Permissions set for meshbot on logs and data directories service files updated to start mesh bot service: systemctl start mesh_bot Do you want to install the emoji font for debian/ubuntu linux? (y/n)y Reading package lists... Done Building dependency tree... Done Reading state information... Done fonts-noto-color-emoji is already the newest version (2.042-0+deb12u1). 0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded. Emoji font installed!, reboot to load the font Optionally if you want to install the multi gig LLM Ollama compnents we will execute the following commands curl -fsSL https://ollama.com/install.sh | sh ollama pull gemma2:2b Total download is multi GB, recomend pi5/8GB or better for this Do you want to install the LLM Ollama components? (y/n)n Press enter to complete the installation, these commands saved to install_notes.txt Good time to reboot? (y/n)n Installation complete! root@aprsc25:/opt/meshing-around#
Correction d'un message d'erreur du à une coupure de réseau durant l'édition du fichier config.ini
Message d'erreur :
E325: ATTENTION
Found a swap file by the name ".config.ini.swp"
owned by: root dated: Sun Jan 12 20:32:05 2025
file name: /opt/meshing-around/config.ini
modified: YES
user name: root host name: aprsc25
process ID: 2130 (STILL RUNNING)
While opening file "config.ini"
dated: Sun Jan 12 20:36:27 2025
NEWER than swap file!
Correctif :
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r config.ini"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".config.ini.swp"
to avoid this message.
Mise à jour du 26/01/2025
root@aprsc25:/opt/meshing-around# git pull remote: Enumerating objects: 221, done. remote: Counting objects: 100% (63/63), done. remote: Total 221 (delta 63), reused 63 (delta 63), pack-reused 158 (from 1) Receiving objects: 100% (221/221), 78.68 KiB | 739.00 KiB/s, done. Resolving deltas: 100% (148/148), completed with 5 local objects. From https://github.com/spudgunman/meshing-around f1ad470..830ec95 main -> origin/main * [new tag] v1.6.7 -> v1.6.7 * [new tag] v1.6.9 -> v1.6.9 Updating f1ad470..830ec95 Fast-forward README.md | 39 ++++++--- config.template | 12 +++ install.sh | 13 +-- mesh_bot.py | 79 ++++++++++++------ modules/checklist.py | 160 +++++++++++++++++++++++++++++++++++++ modules/globalalert.py | 2 +- modules/locationdata.py | 4 +- modules/qrz.py | 53 ++++++++++++ modules/settings.py | 20 ++++- modules/system.py | 14 +++- pong_bot.py | 10 ++- script/send-environment-metrics.py | 53 ++++++++++++ 12 files changed, 412 insertions(+), 47 deletions(-) create mode 100644 modules/checklist.py create mode 100644 modules/qrz.py create mode 100644 script/send-environment-metrics.py root@aprsc25:/opt/meshing-around# root@aprsc25:/opt/meshing-around# git pull Already up to date. root@aprsc25:/opt/meshing-around#
Mon API key pour accès aux données de n2yo
API Key on https://www.n2yo.com/login/edit/ SACGEM-3DJ8A3-FBWW4V-3SX9 user f8ghe pass tnevniph
