Guida a Meshtastic - Suggerimenti per la configurazione del modulo dei messaggi predefiniti

Il modulo dei messaggi predefiniti consente di inviare messaggi alla rete mesh dal dispositivo senza usare l’app del telefono. È possibile predefinire messaggi di testo tra cui scegliere.
Le opzioni di configurazione del modulo dei messaggi predefiniti includono: Enabled, Send Bell, Messages, Input Source, Rotary Encoder Enabled, Up Down Encoder Enabled, Input Broker Pin A, Input Broker Pin B, Input Broker Pin Press, Input Broker Event Clockwise, Input Broker Event Counter Clockwise e Input Broker Event Press. La configurazione dei messaggi predefiniti utilizza un messaggio amministrativo per inviare un protobuf ConfigModule.CannedMessage.

Valori di configurazione del modulo dei messaggi predefiniti

  • Enabled: Abilita il modulo dei messaggi predefiniti.
  • Send Bell: Invia un carattere campanello con ogni messaggio. È possibile configurare l’modulo di notifica esterna per emettere un segnale acustico quando arriva un nuovo messaggio. Inoltre, è possibile configurare questo modulo affinché emetta un segnale acustico solo quando un messaggio contiene il carattere campanello.
  • Messages: L’elenco dei messaggi preimpostati configurati dall’utente. I messaggi devono essere separati da barre verticali |. Il conteggio totale dei byte dell’elenco dei messaggi può essere al massimo di 200 byte.
  • Input Source: Origini degli eventi di input accettate dal modulo dei messaggi predefiniti.
Valore Descrizione
_any Predefinito. Consente l’uso di qualsiasi dispositivo periferico di input collegato al dispositivo.
rotEnc1 Encoder rotativo di base
upDownEnc1 Encoder su/giù (usare anche per l’encoder rotativo RAK14006)
scanAndSelect Singolo pulsante (pressione breve e prolungata)
cardkb M5 Stack CardKB (include la matrice di tasti RAK14004)
serialkb Tastierino seriale a contatti
  • Rotary Encoder Enabled: Abilita l’encoder rotativo predefinito.
  • Up Down Encoder Enabled: Abilita l’encoder su/giù.
  • Input Broker Pin A: Valore del pin GPIO (1-39) per la porta A dell’encoder.
  • Input Broker Pin B: Valore del pin GPIO (1-39) per la porta B dell’encoder.
  • Input Broker Pin Press: Valore del pin GPIO (1-39) per la porta di pressione dell’encoder.
  • Input Broker Event Clockwise: Genera l’evento rotatorio in senso orario.
  • Evento antiorario dell'Input Broker: genera l'evento rotatorio antiorario.
  • Evento di pressione dell'Input Broker: genera un evento di input quando viene premuto questo tipo di comando.

Client di configurazione del modulo dei messaggi predefiniti

Android

Le opzioni di configurazione dei messaggi predefiniti sono disponibili per Android.
  1. Apri l'app Meshtastic.
  2. Vai a: Ellissi verticale (3 puntini in alto a destra) > Configurazione radio > Messaggio predefinito.

Apple

Tutte le opzioni di configurazione del modulo dei messaggi predefiniti sono disponibili su iOS, iPadOS e macOS in Impostazioni > Configurazione modulo > Messaggi predefiniti.

CLI

Tutte le opzioni di configurazione del modulo dei messaggi predefiniti sono disponibili nella CLI Python.
Impostazione Valori accettabili Predefinito
canned_message.enabled vero, falso FALSO
canned_message.send_bell vero, falso FALSO
canned_message.allow_input_source rotEnc1, _any, upDownEnc1, cardkb _any
--set-canned-message stringa "" (separare usando barre verticali)
canned_message.inputbroker_event_cw InputEventChar (non definito)
canned_message.inputbroker_event_ccw InputEventChar (non definito)
canned_message.inputbroker_event_press InputEventChar (non definito)
canned_message.inputbroker_pin_a intero (non definito)
canned_message.inputbroker_pin_b intero (non definito)
canned_message.inputbroker_pin_press intero (non definito)
  • Abilita/Disabilita il modulo dei messaggi predefiniti
 meshtastic --set canned_message.enabled true
 meshtastic --set canned_message.enabled false
  • Abilita/Disabilita l'invio del carattere campanello
 meshtastic --set canned_message.send_bell true
 meshtastic --set canned_message.send_bell false
  • Imposta messaggi
 meshtastic --set-canned-message "Mi serve un alpinista!|Chiamami|Ricevuto, ricevuto|Mantieni la calma|Sto arrivando"
  • Imposta la sorgente di input
 meshtastic --set canned_message.allow_input_source "_any"
 meshtastic --set canned_message.allow_input_source "rotEnc1"
  • Abilita/Disabilita rotary1
 meshtastic --set canned_message.rotary1_enabled 1
  • Imposta/Rimuove il pin A dell'encoder
 meshtastic --set canned_message.inputbroker_pin_a 17
 meshtastic --set canned_message.inputbroker_pin_a 0
  • Imposta/Rimuove il pin B dell'encoder
 meshtastic --set canned_message.inputbroker_pin_b 39
 meshtastic --set canned_message.inputbroker_pin_b 0
  • Imposta/Rimuove il pin di pressione dell'encoder
 meshtastic --set canned_message.inputbroker_pin_press 21
 meshtastic --set canned_message.inputbroker_pin_press 0
  • Imposta/Rimuove l'evento orario dell'Input Broker
 meshtastic --set canned_message.inputbroker_event_cw UP
 meshtastic --set canned_message.inputbroker_event_cw ""
  • Imposta/Rimuove l'evento antiorario dell'Input Broker
 meshtastic --set canned_message.inputbroker_event_ccw DOWN
 meshtastic --set canned_message.inputbroker_event_ccw ""
  • Imposta/Rimuove l'evento di pressione dell'Input Broker
 meshtastic --set canned_message.inputbroker_event_press SELECT
meshtastic --set canned_message.inputbroker_event_press ""
NOTA: poiché il dispositivo verrà riavviato dopo ogni comando inviato tramite la CLI, quando si impostano più valori in una sezione di configurazione è consigliabile concatenare i comandi in uno solo. Ad esempio:
 meshtastic --set canned_message.enabled true --set canned_message.send_bell true

Web

Tutte le opzioni di configurazione del modulo dei messaggi predefiniti sono disponibili nell'interfaccia Web.

Hardware

Per navigare tra i messaggi e selezionarne uno, è necessario collegare del hardware al dispositivo. Attualmente, il modulo è stato testato con un codificatore rotativo generico, una logica a 3 pulsanti su/giù/selezione e diverse tastiere I2C. In futuro verranno aggiunti altri metodi di input.

Matrice di tasti I2C

Questo è stato testato con la tastiera RAK14004. La pressione di un tasto invia immediatamente il messaggio associato al rispettivo numero del pulsante. I pulsanti sono numerati dall'alto a sinistra verso il basso a destra sui pannelli dei tasti. Pertanto, premendo il pulsante in alto a sinistra verrà inviato il primo messaggio, premendo il secondo pulsante verrà inviato il secondo messaggio, e così via.
Attenzione: la matrice di tasti 3x4 RAK non include la quarta riga di pulsanti durante la scansione, quindi devi saltare ogni quarto slot dei messaggi. Il pulsante 1 invia il messaggio 1, mentre il pulsante 4 invia il messaggio 5. Ad esempio: 1|2|3||5|6|7||9|10|11||13|14|15 — gli slot 4, 8 e 12 non possono essere utilizzati.

CardKB

CardKB è completamente supportato in modalità testo libero e modalità selezione. Usa SU/GIÙ/INVIO per scegliere un messaggio predefinito e inviarlo. Per un messaggio di testo libero, digitalo semplicemente e premi INVIO per inviarlo.
Se preferisci non trasmettere il tuo messaggio di testo libero, puoi usare CardKB per inviarlo a un nodo specifico. Premi semplicemente TAB e seleziona il nodo di destinazione con i tasti SINISTRA/DESTRA. Il messaggio verrà inviato al nodo con il nome e il numero di nodo corrispondenti. Il nodo di destinazione verrà ricordato per il messaggio successivo.

3 pulsanti su/giù e codificatore rotativo RAK

Usa semplicemente SU/GIÙ/INVIO per selezionare un messaggio predefinito e inviarlo.

Scansione e selezione

Usa un singolo pulsante per selezionare e inviare messaggi predefiniti.

Configurazione

Utilizzo

  • Pressione brevemente: scorri i messaggi.
  • Pressione prolungata: invia il messaggio attualmente evidenziato al tuo canale principale

Encoder rotativo

Meshtastic supporta gli encoder rotativi cablati come dispositivi di input.
Ti servirà un encoder rotativo generico. I tipi elencati di seguito hanno cinque terminali, di cui due dedicati all'azione di "pressione", ma probabilmente funzioneranno anche altri tipi. Puoi anche usare una versione a tre terminali, collegando l'azione di "pressione" a un interruttore indipendente.
Collega l'encoder rotativo come segue: l'encoder rotativo ha due file di terminali. Una fila contiene due terminali, mentre l'altra ne contiene tre. Vista dal lato inferiore:
      B o --- o PREMI
GND o | |
      A o --- o GND
I due terminali servono a rilevare la pressione (o spinta). Collega uno dei due terminali a GROUND e l'altro a un pin GPIO (è indifferente quale colleghi a ciascuno). Ci riferiremo a queste porte collegate come 'PREMI'.
I tre terminali servono a rilevare la rotazione. Collega il terminale centrale a GROUND e quelli laterali ai pin GPIO. Chiameremo queste porte 'A' e 'B', secondo lo schema seguente.
 A --||
 GND --||]========
 B --||
Pin GPIO consigliati per collegare un encoder rotativo:
TTGO LoRa V1:
  • A - GPIO-22
  • B - GPIO-23
  • PREMI - GPIO-21
È disponibile un progetto 3D di riferimento che utilizza l'encoder rotativo per TTGO LoRa V1: Case for TTGO-ESP32-LORA-OLED-v1.0 with rotary encoder.

Esempi

Collega un dispositivo periferico compatibile. Prendi nota dei numeri GPIO utilizzati, poiché serviranno nel passaggio successivo.
Nota: sostituisci ciascun GPIO (x3) qui sotto con i numeri GPIO della tua configurazione hardware.
Ecco le impostazioni richieste del modulo dell'encoder rotativo per il modulo dei messaggi predefiniti.
 meshtastic --set canned_message.inputbroker_pin_a GPIO
 meshtastic --set canned_message.inputbroker_pin_b GPIO
 meshtastic --set canned_message.inputbroker_pin_press GPIO
 meshtastic --set canned_message.inputbroker_event_cw UP
 meshtastic --set canned_message.inputbroker_event_ccw DOWN
 meshtastic --set canned_message.inputbroker_event_press SELECT
 meshtastic --set canned_message.rotary1_enabled True
Ecco fatto! Con un encoder rotativo funzionante e abilitato, sei pronto per iniziare a configurare il modulo dei messaggi predefiniti.

 

Register for our newsletter

Get the latest information about our products and special offers.

Website Feedback

Help us improve OpenELAB

Found a website issue or have an idea? Tell us what would make your experience better.