ETIMEDOUT AWS - IOT using Micropython

Hello everyone,

I have an XBee 3 Cellular LTE-M/NB-IoT Global, firmware version L0.0.00.00.05.06,A.02.01, with a Brazilian sim card.

Using the microPython, I’ve already tested with success those examples from digi: connection_status, ftp_client, http_request. However I can not connect to AWS IoT, but the test in my computer using my certificates worked fine.

Computer:


PS C:\Users\user> & python c:/Users/user/Downloads/aws_https_pc.py
HTTP/1.1 200 OK
content-type: application/json
content-length: 219
date: Wed, 23 Jun 2021 19:08:35 GMT
x-amzn-RequestId: ffa2cfbd-1510-0a1f6-0213-ebce1e95a2
connection: keep-alive

{"state":{"desired":{"welcome":"aws-iot"},"reported":{"welcome":"aws-iot"}},"metadata":{"desired":{"welcome":{"timestamp":1624468808}},"reported":{"welcome":{"timestamp":1624468808}}},"version":1,"timestamp":1624475315}

XBee:


 +-----------------------------------+
 | XBee MicroPython AWS HTTPS Sample |
 +-----------------------------------+

- Waiting for the module to be connected to the cellular network... [OK]
- Connecting to AWS... Traceback (most recent call last):
  File "/flash/main.py", line 134, in 
  File "/flash/main.py", line 84, in https_test
OSError: [Errno 7110] ETIMEDOUT

I’ve used the certificate downloaded https://ssl-ccp.secureserver.net/repository/sf-class2-root.crt as instructed in another post in this forum (https://forums.digi.com/70583/problems-connecting-to-aws-iot-using-micropython) and also the Starfield Services Root Certificate Authority - G2 from https://www.amazontrust.com/repository. As mentioned, both of them working with the computer test, but not in the XBee, same behaviour with and without ‘-ats’ in my endpoint name.

Using the XBee, I always receive the OSError: [Errno 7110] ETIMEDOUT problem.

I’ve seen someone here asking another user to test the ATLA command with my endpoint and it returned the IP, so I think that it is working.

I’m currently trying to get the aws_http test to work.

Also tried


>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> s.connect((b'abcdefgklmnopq-ats.iot.us-west-2.amazonaws.com', 8883))
Traceback (most recent call last):
  File "", line 1, in 
OSError: [Errno 7110] ETIMEDOUT


ATVR 1141
ATMV L0.0.00.00.05.06,A.02.01
ATMU ERROR

May I suggest you start by updating the firmware versions you are working on. Then make sure that you are checking the status of the connection before you try to send the data.