Skip to main content

Python MeshCom-Client for udp communication with MeshCom nodes

Project description

MeshCom-Client

A MeshCom-Client, written in Python, for using with MeshCom (https://icssw.org/meshcom/) Nodes

image

What is this about?

This is a MeshCom-Client, that is written in Python for simple usage on a compatible computer system. Initially it is with very basic functionality but I think it will grow up over the next weeks :-)

How to start

  • Install python3 and fullfill requirements by installing all missing libraries.
  • Connect your MeshCom-Node to your serial terminal and issue the following commands, to start the node to transfer data via udp to your computer:
    • --extudpip [ip of your computer]
    • --extudp on
  • Go to Settings and put in the new destination ip address = ip of your node.

Now it should be running!

Key features

  • Grouping messages into tabs by destination (GRC or callsign)
  • Alerting sound for new message
  • Watchlist and alerting sound for callsigns in watchlist
  • Restoring of chat-history on reopening chat-tabs
  • Reopen specific chat on demand
  • Delete complete chat history (also from restoring-source)
  • Multiple languages (actually German and English)

Functional areas

Message area upper left

This is the place where you type your message and give the target group id or callsign. With a click on the send-button your message would be transfered via Lora to the next node and maybe to the internet server.

Timestamp upper right

Within this box the timestamp transfered by the network every 5 minutes is shown. This is used as an indicator that the network is still alive.

reopen previous chat upper left

As the MeshCom-Client is saving chat-history you are able to reopen chat-tabs and reload the content. With the selectbox you can select any stored chat-history and with the button you can reopen and reload the chat-history of this chat.

chat message tabs in the lower half

This is the area where each group chat is grouped into a single tab per target. you can easily switch between the chats by selecting another tab. If there is any new message within a chat, it would be shown with a (new)-label on the tab-rider.

There are also two buttons: delete chat deletes the chat (and it's stored history) and X closes only the tab (to be reopened, if a message comes in or if you reopen it manually).

If you click on the target label, the (new)-marker would disappear in the opened tab, same if you switch over to another tab, then the label there would disappear.

Using Watchlist

via Settings - Watchlist you can configure your personal watchlist. Here you add callsigns without SSID to be alerted with alert.wav-sound (you can replace individually to your favor).

Easy Installation and Upgrade

Easiest way to install this is to use pipx install MeshCom_Client.

If you have a previous installation done with pipx you just have to use pipx upgrade MeshCom_Client for getting the lastest version. Maybe you have to do this more than once till it says that meshcom-client is already at latest version.

If you want to know, how to install pipx on your system, consult GitHub - pypa/pipx: Install and Run Python Applications in Isolated Environments

After installation, you can simply start the client running MeshCom-Client from console.

Settings-file and chat-log could be found at .local/pipx/venvs/meshcom-client/lib/python3.11/site-packages/MeshCom_Client/ or similar.

Troubles?

If you have issues with emojis under linux, you could try sudo apt-get install fonts-noto* to install needed fonts

ToDos

  • View counter of new messages in tab
  • Integration in "flutter"(Android and iOS-compatibility)
  • Displaying positions of stations (when receiving a pos-message) on a map (OSM)

Contributions

Sound Effect by freesound_community from Pixabay

Sound Effect by Rescopic Sound from Pixabay

Sound Effect by vynadot from Pixabay

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshcom_client-1.0.13.tar.gz (410.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meshcom_client-1.0.13-py3-none-any.whl (417.1 kB view details)

Uploaded Python 3

File details

Details for the file meshcom_client-1.0.13.tar.gz.

File metadata

  • Download URL: meshcom_client-1.0.13.tar.gz
  • Upload date:
  • Size: 410.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for meshcom_client-1.0.13.tar.gz
Algorithm Hash digest
SHA256 9bd284c565ddb904a7a39a72f360bf5e684b713b5ecb4bb561291491e9cb83ea
MD5 6aafe8e952458ccc008316c5b56bed6b
BLAKE2b-256 dbaf1118d02da5bac15010a3ca5c241e47d4f4840a5f51da7d5b34abf4c3ffb9

See more details on using hashes here.

File details

Details for the file meshcom_client-1.0.13-py3-none-any.whl.

File metadata

File hashes

Hashes for meshcom_client-1.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 6aea4440efe668d4946e4239d7bc7189063bd704c938e555515e7a375d504319
MD5 c91ddd0f7e93c3980987ca318f3fa070
BLAKE2b-256 f7da45fd4c7909246e4b95f189372f2782ed5b25e65d50cc2455d5de968abf80

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page