Failed to publish to a topic in AWS

I'm using DA 16200mod evk  to publish to a topic in Aws. Downloaded the DA16200 firmware image '.ttl'  script from DA16200_DA16600_AWS_v3.2.8.0_ATCMD_img. Have sent the three certificates files over uart.I have done the configurations using AT commands sending from nRF52840 DK uart, as follows

"AT+AWS=SET APP_THINGNAME tap-pet-nrf-device\r\n");
   
("AT+AWS=SET AWS_BROKER a3kbzziaf9hg4n-ats.iot.us-east-1.amazonaws.com\r\n");
    ("AT+AWS=SET APP_LPORT 8443\r\n");
    ("AT+AWS=CFG 0 sample/pet 0 0\r\n");
    ("AT+AWS=CMD MCU_DATA 0 sample/pet 25\n\r");
All in station mode
As per the manual after this a factory reset is to be done which leads to soft ap mode and waiting for provisioning. But here it is entering soft AP mode but no wfscan happens or provisioning cannot be done. 
In teraterm I'm getting it with error as shown below (when nrf transmits AT COMMANDS to DA)
Parents
  • Hi There,

    Thank you for posting your question online.

    As per the manual after this a factory reset is to be done which leads to soft ap mode and waiting for provisioning. But here it is entering soft AP mode but no wfscan happens or provisioning cannot be done. 

    In order to go into Provisioning mode, you will have to use the Android or IOS mobile application. 
    Please refer on UM-WI-038 , on A.1.2 Provisioning Mode, on page: 31
    Regarding the error you are facing when transmitting AT commands to the DA16200:
    I will have to take a look and get back to you as soon as possible. 
    In the meantime, could you please access the NVRAM via the Debug Console Interface (UART0) and check if the AWS broker configuration has been properly saved?

    Best Regards,
    OV_Renesas

  • hi, I cheked the nvram and got this response.

    and the certificate status is as below.Is the DH parameter necessary for this to work?If necessary,how can I get it?

    and getting error message as

Reply Children
  • Hi There,

    Thank you for the reply.
    Apologies for the delay but I am travelling on a biz trip until Friday 10th. 
    Please note that there will be a delay on the responses but I will look into it.

    Best Regards,
    OV_Renesas

  • Hi There,

    Apologies for the delay.

    and getting error message as

    The MQTTBadParameter error code corresponds to if the packet would exceed the size allowed by the MQTT spec or if a subscription is empty. 
    It seems that you did not issue the MQTT request with the correct parameters.

    Please refer on User Manual DA16200 DA16600 Getting Started with AWS® IoT Using AT Command UM-WI-038
    It would be helpful for us if you could share the whole UART0 and UART1 log files so we can understand the AT commands sequence you used and how you configured your DA16200.
    With the Wi-Fi Provisioning Mobile application were you able to do provisioning and access the AWS server?

    Best Regards,
    OV_Renesas

  • Hi,
         Please find the attached document containing the At commands and their corresponding responses. I have also mentioned the Firmware image that I used, to make sure that it is not the Issue with the firmware I chose.
  • A gentle remainder. Please let me know if any updates.

  • Hi Vani,

    Apologies for the delay. 
    Could you please share the whole UART0 (Debug Console Interface) logs with Timestamps?
    In order to add timestamp and keep the log file:
    On Tera Term--> FIle--> Log.. --> Make sure you select the Timestamp option.
    Please also make sure you define the DEBUG_ATCMD macro, so we can get all the debug info from the AT commands on the UART0.

    Best Regards,
    OV_Renesas

  • Hi,

    I will be following this from now on behalf of Vani. Regret any inconvenience caused. 

    As you mentioned, we enabled the timestamp option and have attached the file herein. But please note that firmware ‘DA16200_DA16600_AWS_v3.2.8.0_ATCMD_img’ from https://www.renesas.com/us/en/document/sws/aws-iot-atcmd-image-freertos-sdk?r=1600096 was used by us. 

    If we need to include the DEBUG_ATCMD macro, could you please help us with the corresponding sample software file which will support the AT commands and wherein we can possibly define the mentioned DEBUG_ATCMD macro? 

    Please let me know your feedback.

    Thanks and Regards,

    Raji

    0552.teraterm.log

  • Hi Raji,

    Thank you for the reply.
    You are using the pre-compiled images.
    For the generic FreeRTOS SDK v3.2.8.0 AWS:
    1) Download the FreeRTOS SDK v3.2..8.1
    2) Download the AWS IoT Reference for FreeRTOS SDK
    Inside the AWS IoT Reference for FreeRTOS there is a ReadMe file on how to integrate the AWS functionalities on the generic SDK.

    In order to enable the AT commands please refer on UM-WI-003, on section 4.1.1 How to Run AT-CMD on UART, on page: 26

    You can define the DEBUG_ATCMD macro there or in the atcmd.c/h files.
    Follow the steps of the UM-WI-056, on section 5.4 Importing DA16200 FreeRTOS SDK Project into e 2studio, on page: 36 so you can understand how to Import and Build your project on e2studio.

    We would also recommend you follow our available example first to understand how to configure the AWS Server and the DA16200 based on the following documents. 
    1) UM-WI-017 DA16200 AWS IoT Server Setup (renesas.com)
    2) UM-WI-016 DA16200 Door Lock Application Using AWS IoT (renesas.com)
    3)UM-WI-038 DA16200 DA16600 Getting Started with AT Command for AWS IoT (renesas.com)
    For our Demo, you will our Wi-Fi Provisioning App to test it:
    Renesas WiFiProvisioning - Apps on Google Play

    From the log file you shared it is not clear to me how you issue the AT commands and the responses, this is the reason we need the DEBUG_ATCMD macro defined.
    On the log file I can see:

                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                   
    =======================================================                                                                                                                                                                                                                                                        
    argc num = 2                                                                                                                                                                                                                                                                                                   
    argv[0]: AT+AWS                                                                                                                                                                                                                                                                                                
    argv[1]: SET APP_THINGNAME vani_aws_iot                                                                                                                                                                                                                                                                        
    =======================================================                                                                                                                                                                                                                                                        
    APP SET vani_aws_iot                                                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                   
    =======================================================                                                                                                                                                                                                                                                        
    argc num = 2                                                                                                                                                                                                                                                                                                   
    argv[0]: AT+AWS                                                                                                                                                                                                                                                                                                
    argv[1]: SET APP_PUBTOPIC vani_aws_iot/DeviceControl                                                                                                                                                                                                                                                           
    =======================================================                                                                                                                                                                                                                                                        
    APP SET vani_aws_iot/DeviceControl                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                   
    =======================================================                                                                                                                                                                                                                                                        
    argc num = 2                                                                                                                                                                                                                                                                                                   
    argv[0]: AT+AWS                                                                                                                                                                                                                                                                                                
    argv[1]: SET AWS_BROKER a3kbzziaf9hg4n-ats.iot.us-east-1.amazonaws.com                                                                                                                                                                                                                                         
    =======================================================                                                                                                                                                                                                                                                        
    APP SET a3kbzziaf9hg4n-ats.iot.us-east-1.amazonaws.com                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                                                   
    =======================================================                                                                                                                                                                                                                                                        
    argc num = 2                                                                                                                                                                                                                                                                                                   
    argv[0]: AT+AWS                                                                                                                                                                                                                                                                                                
    argv[1]: CFG 1 mcu_door 1 0                                                                                                                                                                                                                                                                                    
    =======================================================                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                   
    =======================================================                                                                                                                                                                                                                                                        
    Att[1] number   : 1                                                                                                                                                                                                                                                                                            
    Att[1] name     : mcu_door                                                                                                                                                                                                                                                                                     
    Att[1] data type: 1                                                                                                                                                                                                                                                                                            
    Att[1] MQTT type: 0                                                                                                                                                                                                                                                                                            
    =======================================================    

    Which according to UM-WI-038:

    You have set 1 MQTT connection, on topic named mcu_door, which has value of string and you would like to publish on that.
    However later on the logs I can see:
    =======================================================                                                                                                                                                                                                                                                        
    argc num = 2                                                                                                                                                                                                                                                                                                   
    argv[0]: AT+AWS                                                                                                                                                                                                                                                                                                
    argv[1]: CMD MCU_DATA 1 mcu_door opened                                                                                                                                                                                                                                                                        
    =======================================================                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                   
    board feature :                                                                                                                                                                                                                                                                                                
    topicCount : 1                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                   
    Count : 0, cmdNum = 1                                                                                                                                                                                                                                                                                          
    mqtttype = 0                                                                                                                                                                                                                                                                                                   
    data type(publish)=1                                                                                                                                                                                                                                                                                           
    call publish: 1 mcu_door opened                                                                                                                                                                                                                                                                                
    [ERROR] [MQTT] [validatePublishParams:1756] Packet Id is 0 for PUBLISH with QoS=1.                                                                                                                                                                                                                             
    [ERROR] [MQTT] [MQTT_Publish:2193] MQTT PUBLISH failed with status MQTTBadParameter.                                                                                                                                                                                                                           
    [ERROR] [PkcsTlsTransport] [xPublishToTopic:1396] Failed to send PUBLISH packet to broker with error = MQTTBadParameter.                                                                                                                                                                                       
    publish (contents update) NG - topic : vani_aws_iot/DeviceControl payload: 1 mcu_door opened                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                   
    [/DA16200] #                                                                                                                                                                                                                                                                                                   
    =======================================================                                                                                                                                                                                                                                                        
    argc num = 2                                                                                                                                                                                                                                                                                                   
    argv[0]: AT+AWS                                                                                                                                                                                                                                                                                                
    argv[1]: CMD MCU_DATA 1 mcu_door opened                                                                                                                                                                                                                                                                        
    =======================================================                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                   
    board feature :                                                                                                                                                                                                                                                                                                
    topicCount : 1                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                   
    Count : 0, cmdNum = 1                                                                                                                                                                                                                                                                                          
    mqtttype = 0                                                                                                                                                                                                                                                                                                   
    data type(publish)=1                                                                                                                                                                                                                                                                                           
    call publish: 1 mcu_door opened                                                                                                                                                                                                                                                                                
    [ERROR] [MQTT] [MQTT_SerializePublishHeader:1995] Argument cannot be NULL: pFixedBuffer->pBuffer is NULL.                                                                                                                                                                                                      
    [ERROR] [MQTT] [MQTT_Publish:2193] MQTT PUBLISH failed with status MQTTBadParameter.                                                                                                                                                                                                                           
    [ERROR] [PkcsTlsTransport] [xPublishToTopic:1396] Failed to send PUBLISH packet to broker with error = MQTTBadParameter.                                                                                                                                                                                       
    publish (contents update) NG - topic : vani_aws_iot/DeviceControl payload: 1 mcu_door opened    

    The MQTTBadParameter return status corresponds to wrong parameters or configuration. 
    I believe that you should follow the AWS Server Setup to make sure that everything is configured correctly and follow the doorlock example based on the Mobile application we provide.

    Best Regards,
    OV_Renesas



  • Hi,

    Thank you for you detailed reply.  I followed your instructions, copied the AWS IoT package in the '~SDK\apps\' directory of the DA16200_DA16600 Generic SDK V3.2.8.1, defined the DEBUG_ATCMD macro and built it using e2 studio.  But after flashing the new images in the DA16200MOD-DeVKT through teraterm using the macro and .ttl script generated as shown below,

    it failed to take in the AWS AT commands to connect to my IOT thingname.  as shown here- 
    Earlier when we used the precompiled images taken from the site, the SDK version showed an AWS reference as shown below-
    On flashing the custom image, this is what I received-
    Also the earlier case had resulted in a status message soon after the wifi connection message was established as shown below-
    Please let me know if this SDK has AWS support and if yes, why was I getting an error for AT+AWS SET APP_THINGNAME
    Please note that we are trying to establish a connection to the AWS through PC via DA16200 module via teraterm using AT commands alone for the time being. 
    Thanks and Regards,
    Raji
  • Hi, 

    Request you to please help me debug the above connection issue on flashing the custom image.  Any modification need to be done in any of the sdk headers/files?

    Thanks in advance,

    Raji