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? Feb 8 '20 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. Feb 8 '20 at 17:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.