Hallo!
Ich versuche ein Lilygo-T-SIM7000G Entwicklungsboard mit einem
MQTT-Server (Port 8883 per SSL/TLS, Authentifizierung mit
username/password, client-certificate benötigt) per GSM zu verbinden.
(Hier der Link zum Board:
https://www.amazon.de/dp/B099RQ7BSR?ref=nb_sb_ss_w_as-reorder-t1_k0_1_6&=&crid=1SCEQBF2W1Q7A&=&sprefix=lilygo
)
Ich benutze zum Programmieren Visual Studio Code mit PlatformIO mit
Arduino-Framework.
Habe auch schon diese recht aktuell anmutende Bibliothek gefunden:
SSLClient
https://github.com/govorox/SSLClient
Es gibt auch ein Beispielcode für genau meinen Anwendungsfall und genau
mein Board:
https://github.com/govorox/SSLClient/tree/master/examples/Esp32/mqtt_secure_gsm_SIM7000
Habe dieses Beispiel genommen, die entsprechenden Variablen angepasst
(SIM-PIN, apn, user, password, Zertifikate, etc.) und auf den ESP32 des
Lilygo-Boards aufgeflasht.
Am seriellen Monitor konnte ich beobachten, dass das Board sich mit dem
Mobilfunknetz (auch Internet, es zeigt die IP-Adresse an) verbindet und
dann jedoch folgende Fehlermeldung kommt:
1 | Attempting MQTT connection...[ 18962][E][ssl_client.cpp:41] _handle_error(): [start_ssl_client():347]: (-29696) SSL - No RNG was provided to the SSL module
|
2 | [ 18963][E][SSLClient.cpp:133] connect(): start_ssl_client: -29696
|
3 |
|
4 | assert failed: heap_caps_free heap_caps.c:360 (heap != NULL && "free() target pointer is outside heap areas")
|
5 |
|
6 | Backtrace: <anonymized>
|
7 |
|
8 | ELF file SHA256: <anonymized>
|
9 |
|
10 | Rebooting...
|
Ich habe bereits gegoogelt, dass RNG Random Number Generator bedeutet.
Ich weiß auch, dass man das braucht, um sichere Schlüssel generieren zu
können und dass man dafür einen nicht angeschlossenen analogen Pin
nehmen kann. Aber ich weiß nicht, wie ich den Code anpassen sollte, um
dies zu erreichen.
Ich habe auch diese ältere Bibliothek gefunden, der noch die Möglichkeit
bietet, so einen Analog-Pin festzulegen:
https://github.com/OPEnSLab-OSU/SSLClient
Die selbe Funktion in der aktuelleren Bibliothek hat diese Funktion
nicht mehr.
Die ältere Bibliothek wurde aber seit 3 Jahren nicht mehr angegriffen
und es steht auch "failing" bei der Anzeige, die normalerweise grün sein
sollte (In der obersten Zeile von Readme.md).
Kennt sich jemand mit diesem Problem aus?
Habt ihr Erfahrung mit diesem Problem?
Könnt ihr vielleicht eine Lösung für dieses Problem empfehlen? Oder eine
andere Bibliothek?
Danke im Voraus!
Gruß,
elpat