De Canned Message Module stelt je in staat om berichten naar het mesh-netwerk te sturen vanaf het apparaat zonder de telefoonapp te gebruiken. Je kunt vooraf gedefinieerde tekstberichten kiezen.
De configuratieopties van de canned message module omvatten: Ingeschakeld, Bel verzenden, Berichten, Invoerbron, Rotary Encoder ingeschakeld, Up Down Encoder ingeschakeld, Input Broker Pin A, Input Broker Pin B, Input Broker Pin Druk, Input Broker Gebeurtenis Kloksgewijs, Input Broker Gebeurtenis Tegen Kloksgewijs, en Input Broker Gebeurtenis Druk. De configuratie van Canned Message maakt gebruik van een admin-bericht om een ConfigModule.CannedMessage protobuf te verzenden.
Configuratiewaarden voor de Canned Message Module
-
Ingeschakeld: Schakelt de canned message module in.
-
Bel verzenden: Verzendt een belteken met elk bericht. De Externe notificatiemodule kan worden geconfigureerd om te piepen wanneer een nieuw bericht binnenkomt. Daarnaast kan deze module zo worden ingesteld dat hij alleen piept wanneer een bericht het belteken bevat.
-
Berichten: De lijst met vooraf ingestelde berichten geconfigureerd door de gebruiker. Berichten moeten gescheiden zijn door pipes |. Het totale aantal bytes voor de berichtenlijst kan oplopen tot 200 bytes.
-
Invoer Bron: Invoergebeurtenisbronnen geaccepteerd door de canned message module.
| Waarde | Beschrijving |
| _any | Standaard. Staat elk randapparaat toe dat op het apparaat is aangesloten. |
| rotEnc1 | Basis Rotary Encoder |
| upDownEnc1 | Up Down Encoder (gebruik dit ook voor RAK14006 Rotary Encoder) |
| scanEnSelecteer | Enkele drukknop (korte en lange druk) |
| cardkb | M5 Stack CardKB (deze dekt RAK14004 Keymatrix) |
| serialkb | Chatter seriële toetsenbord |
-
Roterende encoder ingeschakeld: Schakel de standaard roterende encoder in.
-
Omhoog/omlaag encoder ingeschakeld: Schakel de omhoog/omlaag encoder in.
-
Input Broker Pin A: GPIO-pinwaarde (1-39) voor encoderpoort A.
-
Input Broker Pin B: GPIO-pinwaarde (1-39) voor encoderpoort B.
-
Input Broker Pin Druk: GPIO-pinwaarde (1-39) voor encoder druk poort.
-
Input Broker Event Met de klok mee: Genereer de roterende met de klok mee gebeurtenis.
-
Input Broker Event Tegen de klok in: Genereer de roterende tegen de klok in gebeurtenis.
-
Input Broker Event Druk: Genereer een invoergebeurtenis bij drukken van dit type.
Configuratieclient voor module met voorgedefinieerde berichten
Android
Configuratie-opties voor voorgedefinieerde berichten zijn beschikbaar voor Android.
-
Open de Meshtastic App.
-
Navigeer naar: Verticale ellipsis (3 puntjes rechtsboven) > Radioconfiguratie > Voorgedefinieerd bericht.
Apple
Alle configuratie-opties voor het module met voorgedefinieerde berichten zijn beschikbaar op iOS, iPadOS en macOS via Instellingen > Moduleconfiguratie > Voorgedefinieerde berichten.
CLI
Alle configuratie-opties van de canned message module zijn beschikbaar in de Python CLI.
| Instelling | Toegestane waarden | Standaard |
| canned_message.enabled | true, false | FALSE |
| canned_message.send_bell | true, false | FALSE |
| canned_message.allow_input_source | rotEnc1, _any, upDownEnc1, cardkb | _any |
| --set-canned-message | string | "" (scheid met pijpen) |
| canned_message.inputbroker_event_cw | InputEventChar | (niet gedefinieerd) |
| canned_message.inputbroker_event_ccw | InputEventChar | (niet gedefinieerd) |
| canned_message.inputbroker_event_press | InputEventChar | (niet gedefinieerd) |
| canned_message.inputbroker_pin_a | integer | (niet gedefinieerd) |
| canned_message.inputbroker_pin_b | integer | (niet gedefinieerd) |
| canned_message.inputbroker_pin_press | integer | (niet gedefinieerd) |
-
Schakel de Canned Message Module in/uit
| meshtastic --set canned_message.enabled true meshtastic --set canned_message.enabled false |
-
Schakel het zendbelteken in/uit
| meshtastic --set canned_message.send_bell true meshtastic --set canned_message.send_bell false |
-
Berichten instellen
| meshtastic --set-canned-message "Ik heb een alpinist nodig!|Bel me|Roger Roger|Blijf kalm|Ik ben onderweg" |
-
Invoermethode instellen
| meshtastic --set canned_message.allow_input_source "_any" meshtastic --set canned_message.allow_input_source "rotEnc1" |
-
Rotary1 in-/uitschakelen
| meshtastic --set canned_message.rotary1_enabled 1 |
-
Encoder Pin A in-/uitschakelen
| meshtastic --set canned_message.inputbroker_pin_a 17 meshtastic --set canned_message.inputbroker_pin_a 0 |
-
Encoder Pin B in-/uitschakelen
| meshtastic --set canned_message.inputbroker_pin_b 39 meshtastic --set canned_message.inputbroker_pin_b 0 |
-
Encoder Pin indrukken in-/uitschakelen
| meshtastic --set canned_message.inputbroker_pin_press 21 meshtastic --set canned_message.inputbroker_pin_press 0 |
-
Invoerevenement Broker CW Instellen/Uitzetten
| meshtastic --set canned_message.inputbroker_event_cw UP meshtastic --set canned_message.inputbroker_event_cw "" |
-
Invoerevenement Broker CCW Instellen/Uitzetten
| meshtastic --set canned_message.inputbroker_event_ccw DOWN meshtastic --set canned_message.inputbroker_event_ccw "" |
-
Invoerevenement Broker Druk Instellen/Uitzetten
| meshtastic --set canned_message.inputbroker_event_press SELECT meshtastic --set canned_message.inputbroker_event_press "" |
OPMERKING: Omdat het apparaat zal herstarten na elke opdracht die via de CLI wordt verzonden, wordt aanbevolen om opdrachten samen te voegen als één wanneer je meerdere waarden instelt in een configuratiesectie. Bijvoorbeeld:
| meshtastic --set canned_message.enabled true --set canned_message.send_bell true |
Web
Alle configuratie-opties voor de module met vooraf ingestelde berichten zijn beschikbaar in de Web UI.
Hardware
Om door berichten te navigeren en er een te selecteren, heb je wat hardware nodig die aan je apparaat is gekoppeld. Momenteel is de module getest met een generieke draaiknopencoder, een omhoog/omlaag/select 3-knoppen logica en verschillende I2C toetsenborden. Extra invoermethoden zullen in de toekomst worden toegevoegd.
I2C toetsenmatrix
Dit is getest met het RAK14004 toetsenbord. Een toetsindruk zal onmiddellijk het bericht verzenden dat aan het betreffende knopnummer is gekoppeld. Knoppen zijn genummerd van linksboven naar rechtsonder op de toetsenpanelen. Daarom zal het indrukken van de linkerbovenknop het eerste bericht verzenden, de tweede knop het tweede bericht, enzovoort.
Let op: De RAK 3x4 toetsenmatrix mist de 4e knoppenrij tijdens het scannen, dus je moet elke 4e berichtslot overslaan. Knop 1 verzendt bericht 1, en knop 4 zal bericht 5 verzenden. Bijvoorbeeld: 1|2|3||5|6|7||9|10|11||13|14|15 — de slots 4, 8 en 12 kunnen niet worden gebruikt.
CardKB
De CardKB wordt volledig ondersteund in vrije tekstmodus en selectiemodus. Gebruik OMHOOG/OMLAAG/ENTER om een vooraf gedefinieerd bericht te kiezen en te verzenden. Voor een vrij tekstbericht typ je het gewoon in en druk je op ENTER om het te verzenden.
Als je er de voorkeur aan geeft je vrije tekstbericht niet uit te zenden, kun je de CardKB gebruiken om het naar een specifieke node te sturen. Druk gewoon op TAB en selecteer de doelnode met de LINKS/RECHTS toetsen. Het bericht wordt verzonden naar de node met de bijbehorende naam en nodenummer. De doelnode wordt onthouden voor je volgende bericht.
3 knoppen omhoog/omlaag en RAK draaiknopencoder
Gebruik gewoon OMHOOG/OMLAAG/ENTER om een vooraf gedefinieerd bericht te selecteren en te verzenden.
Scannen en Selecteren
Gebruik een enkele drukknop om vooraf gedefinieerde berichten te selecteren en te verzenden.
Instellen
-
Sluit een normaal-open drukknop aan tussen ground en een GPIO pin naar keuze.
-
Configureer de canned messages module. 1. Stel Input Source in op scanAndSelect. 2. Stel Input Broker Pin Press in op je gekozen GPIO. 3. Definieer een lijst met vooraf ingestelde berichten.
Gebruik
-
Kort indrukken: Scroll door berichten.
-
Lang indrukken: Stuur het momenteel gemarkeerde bericht naar je primaire kanaal.
Rotary encoder
Meshtastic ondersteunt bedrade rotary encoders als invoerapparaten.
Je hebt een generieke rotary encoder nodig. De hieronder genoemde types hebben vijf pootjes, waarvan er twee zijn toegewijd aan een "druk" actie, maar andere types zullen waarschijnlijk ook werken. Je kunt ook een drie-poot versie gebruiken, waarbij de "druk" actie moet worden aangesloten via een onafhankelijke schakelaar.
Sluit je rotary encoder als volgt aan: de rotary encoder heeft twee rijen pootjes. Eén rij bevat twee pootjes, terwijl de andere drie pootjes bevat. Onderzijde weergave:
| B o --- o PRESS GND o | | A o --- o GND |
De twee pootjes zijn voor het detecteren van de drukactie (of duwen). Verbind een van de twee pootjes met GROUND en de andere met een GPIO pin (het maakt niet uit welke waar gaat). We noemen deze verbonden poorten 'PRESS'.
De drie pootjes zijn voor het detecteren van de rotatieactie. Verbind het middelste pootje met GROUND en de pootjes aan de zijkanten met GPIO pinnen. We labelen deze poorten als 'A' en 'B', volgens het onderstaande schema.
| A --|| GND --||]======== B --|| |
Aanbevolen GPIO pinnen voor het aansluiten van een rotary encoder:
TTGO LoRa V1:
-
A - GPIO-22
-
B - GPIO-23
-
DRUKKEN - GPIO-21
Er is een referentie case 3D ontwerp dat de rotary encoder gebruikt voor TTGO LoRa V1: Case voor TTGO-ESP32-LORA-OLED-v1.0 met rotary encoder.
Voorbeelden
Sluit een compatibel perifeer apparaat aan. Let op de GPIO-nummers die je gebruikt, want die zijn nodig in de volgende stap.
Opmerking: Vervang elk GPIO (x3) hieronder door de GPIO-nummers van je hardwareconfiguratie.
Hier is de Canned Message Module - Vereiste Rotary Encoder Module Instellingen.
| 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 |
Dat is het! Met een functionerende en ingeschakelde rotary encoder ben je klaar om de Canned Message Module te configureren.
