Copyright © https://mongoose-os.com

Mongoose OS Forum

frame

Problem with connecting to Microsoft Azure

SterlingSterling Zagreb
edited September 6 in Mongoose OS

Hello,

I'm trying to connect to Microsoft Azure and send it some data using C code, not JavaScript as shown in the example. Now, I updated all the server config in the mos.yml file:

  • ["wifi.sta.enable", true]
  • ["wifi.sta.ssid", "*****"]
  • ["wifi.sta.pass", "*****"]
  • ["wifi.ap.enable", false]
  • ["device.id", "esp32_050258"]
  • ["mqtt.enable", true]
  • ["mqtt.server", "**********.azure-devices.net:8883"]
  • ["mqtt.client_id", "esp32_050258"]
  • ["mqtt.user", "**********.azure-devices.net:8883/esp32_050258"]
  • ["mqtt.pass", "SharedAccessSignature sr=*******"]
    # - ["mqtt.ssl_ca_cert", "ca.pem"]

and I'm using this code to publish messages:

mgos_mqtt_pub(topicTemp, tempStr, sizeof(tempStr), 1);

  • topicTemp is string name of the topic: "devices/esp32_050258/messages/events/"
  • tempStr is stringified representation of the measured temperature

After initialization I get the following message in console:
[Sep 6 14:44:09.010] mgos_mqtt_ev MQTT Connect (1)
[Sep 6 14:44:09.097] mgos_mqtt_ev MQTT Disconnect
[Sep 6 14:44:09.097] mqtt_global_reconnec MQTT connecting after 3768 ms
[Sep 6 14:44:09.097] mongoose_poll New heap free LWM: 183060
[Sep 6 14:44:12.154] timer_cb 0 devices/esp32_050258/messages/events/ -> Temperature: 26.799999

The zero in the last line means that mgos_mqtt_pub returned false.

I desperately need help please!
Thanks in advance.

Comments

  • SergeySergey Dublin, Ireland

    Per https://mongoose-os.com/docs/libraries/cloud_integrations/azure.html, you need:

    mqtt.enable=true
    mqtt.server=YOUR_HUB_NAME.azure-devices.net:8883
    mqtt.client_id=DEVICE_ID
    mqtt.user=YOUR_HUB_NAME.azure-devices.net/DEVICE_ID
    mqtt.pass=SharedAccessSignature............
    mqtt.ssl_ca_cert=ca.pem
    

    You have ca.pem disabled, meaning it does not use SSL, meaning you can't connect.

    Currently, only esp8266 can connect. ESP32 crashes because of the very time-consuming TLS options, we'll fix that soon.

  • Ok, but when I enable ca.pem it begins core dump.

    Task watchdog got triggered. The following tasks did not feed the watchdog in time:
    [Sep 7 09:38:37.345] - mgos (CPU 0)
    [Sep 7 09:38:37.345] Tasks currently running:
    [Sep 7 09:38:37.345] CPU 0: mgos
    [Sep 7 09:38:37.346] Aborting.
    [Sep 7 09:38:37.346] abort() was called at PC 0x400d213d on core 0
    [Sep 7 09:38:37.346]
    [Sep 7 09:38:37.346] Backtrace: 0x4008723f:0x3ffc05b0 0x40086f4f:0x3ffc05d0 0x400d213d:0x3ffc05f0 0x400817c5:0x3ffc0610
    [Sep 7 09:38:37.346]
    [Sep 7 09:38:37.346] --- BEGIN CORE DUMP ---

    I assume that's because I haven't added ca-bundle lib, but when I do add it, I get the following error during build:

    Error: preparing local copy of the lib "ca-bundle": failed to git checkout 1.14: error: pathspec '1.14' did not match any file(s) known to git.
    exit status 1

    I tried to do "mos update latest" as shown on another topic on this forum but it doesn't work. I get that mos is currently on it's latest version, 1.14.

  • rojerrojer Dublin, Ireland

    1.15 has been released, this should not be a problem anymore

Sign In or Register to comment.