Skip to content

MQTT Chat

HAMHOBBY.PL edited this page Apr 21, 2026 · 2 revisions

MorseLAB – MQTT Chat / Czat MQTT / MQTT-Chat


🇵🇱 Polski

Czat przez MQTT

Urządzenie MorseLAB umożliwia komunikację między użytkownikami poprzez serwer MQTT, tworząc prosty czat oparty o topiki.

Konfiguracja serwera

Dane serwera należy umieścić w pliku:

/configs/chat.txt

Struktura pliku:

adres_serwera
haslo

Przykład:

test.testmqtt.pl
password_mqtt
  • 1 linia – adres serwera MQTT
  • 2 linia – hasło dostępu
  • Nazwa użytkownika (login) = ID urządzenia

Konfiguracja pokoi (topików)

Prywatne pokoje (topiki MQTT) definiuje się w pliku:

rooms.txt

Przykład:

private1
private2
  • Każda linia to osobny pokój (topic)
  • Urządzenia podłączone do tego samego topiku mogą się ze sobą komunikować

Obsługa czatu

Po wybraniu pokoju dostępne są tryby:

  • CHAT + DECODER – odbiór i dekodowanie Morse’a
  • CHAT – komunikacja tekstowa (Morse)
  • CHANGE ROOM – zmiana pokoju
  • EXIT – wyjście z czatu

Nadawanie i odbiór

  • Wiadomości wysyłane są znak po znaku w czasie rzeczywistym
  • Każda wiadomość zawiera identyfikator nadawcy (ID urządzenia)
  • Spacja między słowami jest przesyłana jako separator
  • Możliwa jest także transmisja danych innych niż Morse

Sterowanie

  • Wybór opcji odbywa się enkoderem
  • Naciśnięcie przycisku zatwierdza wybór
  • Prędkość nadawania (WPM) można zmieniać w trakcie pracy (10–50 WPM)

Ważne

  • Podczas nadawania nie słychać odbioru – działa to jak w rzeczywistej łączności radiowej
  • Odbiór wraca automatycznie po zakończeniu nadawania
  • Wymagane jest poprawne połączenie z siecią Wi-Fi

🛠 Debugowanie

❌ Brak połączenia z MQTT

Sprawdź:

  • czy plik /configs/chat.txt istnieje
  • czy adres serwera jest poprawny
  • czy hasło jest poprawne
  • czy urządzenie ma dostęp do internetu (Wi-Fi)

Objawy:

  • brak reakcji po wejściu do czatu
  • brak odbieranych wiadomości

❌ Brak dostępnych pokoi

Sprawdź:

  • czy plik rooms.txt istnieje (opcjonalny)
  • czy nie zawiera błędów

Informacje:

  • zawsze dostępne są pokoje:

    PUBLIC1
    PUBLIC2
    TEST
    

❌ Nie widać innych użytkowników

Możliwe przyczyny:

  • inni użytkownicy nie są w tym samym pokoju (topicu)
  • brak połączenia z serwerem MQTT
  • chwilowy brak synchronizacji

❌ Nie dochodzą wiadomości

Sprawdź:

  • czy urządzenie nie nadaje (odbiór jest wtedy wyłączony)
  • czy połączenie MQTT jest aktywne
  • czy wybrany pokój jest taki sam u wszystkich

❌ Czat przestaje działać

Urządzenie:

  • automatycznie ponawia połączenie

  • spróbuj:

    • zmienić pokój
    • wejść ponownie do czatu
    • zrestartować urządzenie

❌ Problemy z Morse

  • sprawdź prędkość WPM
  • upewnij się, że nadajesz poprawnie
  • sprawdź jakość sygnału w dekoderze

🇬🇧 English

MQTT Chat

The MorseLAB device can connect to an MQTT server and enable communication between users via a simple chat based on topics.

Server configuration

Server settings must be placed in the file:

/configs/chat.txt

File structure:

server_address
password

Example:

test.testmqtt.pl
password_mqtt
  • Line 1 – MQTT server address
  • Line 2 – access password
  • Username (login) = device ID

Room (topic) configuration

Private rooms (MQTT topics) are defined in the file:

rooms.txt

Example:

private1
private2
  • Each line represents a separate room (topic)
  • Devices connected to the same topic can communicate with each other

Chat operation

After selecting a room, the following modes are available:

  • CHAT + DECODER
  • CHAT
  • CHANGE ROOM
  • EXIT

Transmission and reception

  • Messages are sent character-by-character in real time
  • Each message includes the sender ID
  • Word spaces are transmitted as separators
  • Non-Morse data transmission is supported

Controls

  • Use the encoder to navigate
  • Press to confirm selection
  • Speed can be adjusted during operation (10–50 WPM)

Important

  • During transmission, incoming messages are not heard
  • Reception resumes automatically after transmission
  • A working Wi-Fi connection is required

🛠 Troubleshooting

❌ No MQTT connection

Check:

  • /configs/chat.txt
  • server address and password
  • Wi-Fi connection

❌ No rooms available

Check rooms.txt

Default rooms:

PUBLIC1
PUBLIC2
TEST

❌ Cannot see other users

  • different room
  • MQTT issue
  • sync delay

❌ Messages not received

  • device is transmitting
  • MQTT disconnected
  • different room

❌ Chat stops working

  • reconnect happens automatically
  • try changing room or restarting device

❌ Morse issues

  • check WPM
  • verify input
  • check signal quality

🇩🇪 Deutsch

MQTT-Chat

Das MorseLAB-Gerät kann sich mit einem MQTT-Server verbinden und eine einfache Chat-Kommunikation über Topics ermöglichen.

Serverkonfiguration

Die Serverdaten müssen in folgender Datei gespeichert werden:

/configs/chat.txt

Dateistruktur:

server_adresse
passwort

Beispiel:

test.testmqtt.pl
password_mqtt
  • 1. Zeile – MQTT-Serveradresse
  • 2. Zeile – Zugriffspasswort
  • Benutzername (Login) = Geräte-ID

Raum-/Topic-Konfiguration

Private Räume (MQTT-Topics) werden in folgender Datei definiert:

rooms.txt

Beispiel:

private1
private2
  • Jede Zeile entspricht einem Raum (Topic)
  • Geräte im selben Topic können miteinander kommunizieren

Bedienung

Nach Auswahl eines Raumes:

  • CHAT + DECODER
  • CHAT
  • CHANGE ROOM
  • EXIT

Senden und Empfangen

  • Zeichenweise Übertragung in Echtzeit
  • Geräte-ID wird mitgesendet
  • Worttrennung über Separator
  • Auch Nicht-Morse-Daten möglich

Steuerung

  • Auswahl per Encoder
  • Bestätigung per Tastendruck
  • Geschwindigkeit einstellbar (10–50 WPM)

Wichtig

  • Während des Sendens kein Empfang
  • Empfang danach automatisch aktiv
  • WLAN erforderlich

🛠 Fehlerbehebung

❌ Keine MQTT-Verbindung

  • Datei prüfen
  • Serverdaten prüfen
  • WLAN prüfen

❌ Keine Räume

Standard:

PUBLIC1
PUBLIC2
TEST

❌ Keine Benutzer sichtbar

  • falscher Raum
  • MQTT Problem

❌ Nachrichten fehlen

  • Gerät sendet
  • Verbindung problem

❌ Chat hängt

  • neu verbinden
  • Raum wechseln
  • Gerät neu starten

❌ Morse Probleme

  • WPM prüfen
  • Eingabe prüfen
  • Signalqualität prüfen

Clone this wiki locally