Système Meshcore

Installation d’un système de base.

Installation du repeater

Le firmware repeater standard est installé via une connexion USB au module et Google Chrome accédant la page Firmware flasher

Une fois l’installation effectuée, pour configurer le module, il nous faut utiliser une application, soit sur un smartphone soit un ordinateur.

La connexion se fait via BLUETOOTH

Il faut donc apparier le smartphone/ordinateur au module, le code d’appairage apparait sur l’écran du module.

Un fois l’appairage réalisé l’application aura accès aux paramètres de configuration

Configurer:

  • le nom
  • Latitute Logitude (un carte est disponible pour simplifier le calcul des coordonnées géographiques)
  • Partage de position dans l’annonce (envoyer les coordonnées dans les message annocant le répéteur)
  • Paramètre Radio (EU/UK (Narrow), Switzerland) définition des fréquences RF utilisées
  • D’autres paramètres que l’on souhaiterais modifier
App Config

J’ai pour ma part imprimé un boitier en ASA qui permet d’installer le module dans une enceinte étanche avec des batteries et un panneau solaire.

Installation du Compagnon Tracker

Même procédure que pour le repeater, choisir le firmware compagnon pour le module.

Un petit boitier est imprimé en ASA pour installer le module ainsi qu’une batterie. Boitier Tracker

En ce qui concerne le Heltec V4 (sans écran), j’installe le firmware patché pour permettre de communiquer avec le modele via mon réseau en WiFi.

Pour cela il faut accéder a la page du patcher à l’aide de Google Chrome.

Choisir heltec_v4_companion_radio_wifi_patchable dans le menu firmware

Entrer les paramètres du WiFi auquel se connecter (SSID/password) ensuite patch et flash (sur USB).

Le module est alors accessible en WiFi, comme il n’y a pas de display il faut chercher son adresse sur le serveur DHCP.

Pour le connecter, l’app smartphone est utilisée en choisissant connecter, WiFi et indiquer l’adresse IP du module.

Une fois connecté on peut commencer a chercher les autres modules et le ajouter aux contacts.

Contactes

L’intérêt du firmware patché étant de pouvoir connecter le module en WiFi a partir d’un logiciel Python

En installant la librairie python meshcore

pip install meshcore

ou

pip install meshcore --break-system-packages

On peut alors envoyer des messages via le meshcore en python:

#!/usr/bin/python
import asyncio
from meshcore import MeshCore, EventType

async def main():
    # Connect to your device
    meshcore = await MeshCore.create_serial("/dev/ttyUSB0")
    
    # Get your contacts
    result = await meshcore.commands.get_contacts()
    if result.type == EventType.ERROR:
        print(f"Error getting contacts: {result.payload}")
        return
        
    contacts = result.payload
    print(f"Found {len(contacts)} contacts")
    
    # Send a message to the first contact
    if contacts:
        # Get the first contact
        contact = next(iter(contacts.items()))[1]
        
        # Pass the contact object directly to send_msg
        result = await meshcore.commands.send_msg(contact, "Hello from Python!")
        
        if result.type == EventType.ERROR:
            print(f"Error sending message: {result.payload}")
        else:
            print("Message sent successfully!")
    
    await meshcore.disconnect()

asyncio.run(main())

Ce qui nous donne

MacBook

et la réception:

Module via Chrome