Communicating with AWS IoT with the EXS82-W Module | Telit Cinterion IoT Developer Community
January 19, 2023 - 2:24pm, 423 views
Hello,
I'm trying to communicate with AWS IoT using EXS82-W and MQTT but I have some questions.
I installed the 3 certificates obtained from AWS securely using the cmd_ipcertmgr.jar tool (device certificate, private key and AmazonRootCA). To install them safely I followed the document "tls_certificate_management_exsx2_v2.pdf".
To carry out communication via MQTT I am using the commands available in the document "2022_08_15_data_transfer_methods_aws_enrollment.pdf", however when executing the command AT^SISO=1,2 the service is not opened and a timed out error occurs.
I read some things about Midlet, but I didn't understand if I need to install it in this case.
ATI1
Cinterion
EXS82-W
REVISION 01.200
A-REVISION 01.000.01
java version "1.7.0_80"
Can anyone help me with this?
Thanks in advance!
Hello,
Could you share a log with connection configuration and opening?
Please check the network connection parameters with AT^SMONI, AT+CREG?, AT+CGREG?, AT+CEREG?.
Please also try the same with AT^SISS=X,"secOpt",0.
Please check the installed certificates with AT^SBNR="is_cert".
Have you also tried the similar with some other public MQTT broker or any other connection to any public server?
MIDlets are not relevant here - these are the Java programs that can run on some other module types.
Best regards,
Bartłomiej
Hello!
Here are the answers to the commands you asked. The second parameter of AT+CREG? was equal to 2, according to the AT command document this means that the module is not registered on the network, however I tried to perform a ping test and it worked, but I do not know if this test is valid in this case.
These are the certificates installed in the module:
I also tried to carry out the communication using the Hivemq broker and it worked, I was able to see the messages that I published through the module.
Hello Bartłomiej,
I made some changes in the broker address, defined that the connection port is 8883. After that, when opening the service, the following response appears:
AT^SISO=1,2
OK
^SIS: 1,0,8800,"Mqtt connect 18.228.216.66:8883"
^SIS: 1,0,502,"Connection Refused, server unavailable."
Any suggestions of what might be going on? I await your return.
Hello,
I made one more change in the address, I changed from "mqtt://" to "mqtts://". I am sending the commands below, but there is still an error when opening the service
AT^SIND="is_cert",1
^SIND: is_cert,1,0,"","","","","",""
OK
AT^SCFG="Tcp/WithURCs","on"
^SCFG: "Tcp/WithURCs","on"
OK
AT^SISS=1,srvType,"mqtt"
OK
AT^SISS=1,conId,1
OK
AT^SISS=1,address,"mqtts://xxxxxxxxxxxxxxx-ats.iot.sa-east-1.amazonaws.com:8883;connackTimeout=30"
OK
AT^SISS=1,"cmd","publish"
OK
AT^SISS=1,"topic","topic1"
OK
AT^SISS=1,"hcContent","*****"
OK
AT^SISS=1,"hcContLen",5
OK
AT^SISS=1,"secOpt",1
OK
AT^SISS=1,"secsni",1
OK
AT^SISS=1,"clientid","Cinterion-EXS82-Module"
OK
AT^SICA=1.1
OK
AT^SISO=1.2
OK
^SIS: 1,0,76,"Certificate format error"
Hello!
I'm very sorry for the delay, Bartłomiej is currently unavailable.
For the time being I'll try to help you with your AWS certificate issue.
I'll set it up on my side and try to provide some meaningful feedback.
At first glance it looks like the certificate installation went wrong - try doing the same with secOpt = 0
The http -> https change was right - only now you started actually using the certificates.
I'll come back to you soon.
Best regards,
Lukasz
Hello, Lukasz!
Thanks for the feedback =)
I deleted the certificates I had installed before and did the step by step again and this time it worked. The only difference was that this time I didn't install the AmazonRootCA1 certificate, but activated the certificates that are already pre-configured in the module. That way I was able to send the messages to the AWS broker.
But anyway, thank you very much!