Naja, was heißt Klartext ... das MQTT ist ja binary, aber da sind ein paar Klartexte drin, ja. Device-ID, Username, Password. Wobei Device-ID und Username 2x das Gleiche sind.
Überhaupt ist das keine exakte Wissenschaft, was der NIU sendet. So frägt er gelegentlich den Status der Funkzelle ab - ist ihm aber egal, dass ich mit "servingcell","SEARCH" anworte, die Karte also (angeblich) noch gar nicht eingebucht ist. Er frägt sofort danach die Signalstärke ab, und wenn die gut ist, zeigt er das GSM-Symbol im Display an. Wenn er verwirrt genug ist, schickt er (auch im Klartext) kein MQTT, sondern einen normalen (unverschlüsselten) JSON-POST an api-iot.niu.com, an /ecu/error. Payload sind Fahrzeug-ID, imei, imsi, iccid und ein Fehlercode. Ob das klappt oder nicht interessiert ihn nicht, er macht dann normal weiter. Wenn ihm sonst nix mehr einfällt, schickt er mal "POWER DOWN" an's SIM-Modul und startet es kurz danach wieder.
Witzig auch: Wenn Betriebsspannung kommt, bläst er auf dem UART, der am SIM-Modul hängt, zunächst mal den Infoscreen von seinem Bootloader raus. Danach fängt er mit AT-Kommandos an. Dass das Modul noch gar nicht gestartet hat und sich erst später irgendwann mit "RDY" meldet, ist ihm egal.
Was für einen NIU hast Du denn? Meiner hier ist ein N-GT von 2019, mit Quectel EC21-SIM-Modul
Hier übrigens der Bootloader: