The MeshTalk name is already used, and since this program does so much more I decided now is the time to change the name.
MeshWatch is a python3 program that will allow you to send and receive messages from python. The messages are decoded and displayed in a text based interface created with Curses.
I built this project with the goal of learning about the Meshtastic API and to get used to using new development tools such as Visual Studio Code and GitHub.
My progress can be followed here: https://datagod.hashnode.dev/series/meshtalk-development
Shameless Plug: https://hashnode.com/@datagod/joinme
This project uses Curses to draw text windows and pads to keep the different types of information separated. You can use a screen directly connected to the pi or use an SSH session. I have used Kitty in my tests. If you Kitty screen is not large enough you will recieve strange display errors.
The screen has 5 areas of scrolling text.
The top row has basic information messages from the system, a debug area that shows the currently executing function, and a spot to show incoming messages.
Each packet that is intercepted will be displayed here in, decoded. Some fields such as RAW are not supported yet. This type of window is using a wrap around function to display the new lines.
This is a curses text pad that scrolls upwards as new lines are entered. In this example I am displaying the connected nodes in the mesh.
This is a curses text pad that scrolls upwards as new lines are entered. In this example I am displaying the connected nodes in the mesh.
As per the help instructions, press S to send a message. Press control+g when finished.
As messages are sent or received, they are displayed in the Messages text box.
Make sure to follow the guide here to install the tools needed to connect to the Meshtastic device using Python. https://meshtastic.org/docs/software/python/python-installation
We use a function from the GeoPy module to calculate distance between nodes.
https://pypi.org/project/geopy/
pip3 install geopy
Connect your Raspberry Pi to the Meshtastic device via USB cable. For more information on setting up software to talk to the device, see the following:
To receive packets and decode them in a fancy text based display, use the following command: