I am trying to set up an Arduino MKR Wifi 1010 to push MQTT messages to AWS IOT. I am following this tutorial https://create.arduino.cc/projecthub/Arduino_Genuino/securely-connecting-an-arduino-mkr-wifi-1010-to-aws-iot-core-a9f365 but I run into problems when the standard (secure) MQTT port (8883) seems to be filtered out somewhere between me and AWS. So I try to switch to 443, but AWS advises that you have to use the TLS extension ALPN and set ProtocolName to to "x-amzn-mqtt-ca" (see https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html).

I am at a loss how I am to do this in ArduinoBearSSL (https://github.com/arduino-libraries/ArduinoBearSSL).

  • Are you 100% sure your network drops conenctions between you and AWS on port 8883? You shouldn't work on a workaround for the wrong problem. What entitity drops your packets? Can you do something against that? Commented Feb 8, 2020 at 17:48
  • Also, bearssl already has the ALPN function, see github.com/arduino-libraries/ArduinoBearSSL/blob/…. You can set give br_ssl_engine_set_protocol_names a list of strings, but you would need to modify your MQTT client to call that function. Commented Feb 8, 2020 at 17:51


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.