Hello,
I’m having FreeRTOS code:-V201912.00, which is being built over STM32WB55 MCU, we modifed our Apllication code as per our need.
Now I’m trying to test authentication of code using AWS IoT Device Tester Version: 1.6.2
1.We have passed the AWS FreeRTOS IDT Test for BLE.
========== Test Summary ==========
Execution Time: 2m0s
Tests Completed: 51
Tests Passed: 51
Tests Failed: 0
Tests Skipped: 0Test Groups:
Optional Test Groups:
FullBLE: PASSED
2.Now trying to pass OTACore
3.Following are the steps done OTACore Test.
-Check the Prerequisites for OTA updates using MQTT
-Create an Amazon S3 bucket to store your update
-Create an OTA Update service role
-Create an OTA user policy
-Create a code-signing certificate
-Grant access to code signing for AWS IoT
-vendors\st\boards\p_nucleo_wb55\aws_demos\config_files\aws_demo_config.h):
#define CONFIG_OTA_UPDATE_DEMO_ENABLED
And all the other CONFIG_*_ENABLED flags are commented.
-To do an OTA update, a new version of the application must be compiled in a .sfb file
and uploaded on AWS S3 file server.
-Flash the current version of the application to the P-NUCLEO-WB55 Nucleo board. Then
increase the Amazon FreeRTOS application version in
demos/include/aws_application_version.h and build a new binary with STM32CubeIDE.
-The installable .sfb firmware is under build\ directory (build\aws_demos.sfb file). It must be
copied to the AWS S3 bucket created in 2.3.2.
- The aws_demos project must be running on P-NUCLEO-WB55.Nucleo board and be
connected to the mobile application (see 2.6.3). - On AWS web console, create a FreeRTOS OTA update job (IoT Core / Manage / Jobs /
Create): select: - the ‘thing’ to update. Ex: STWB55
- the MQTT protocol for image transfer, (HTTP is not supported)
- “Sign a new firmware for me”,
- your code signing profile,
- your .sfb firmware file, referenced from the S3 bucket where you have uploaded it,
- the destination pathname can be any non-empty file name (ex: firmware.bin)
- the OtaUpdateServiceRole,
and finally choose a unique job ID.
4.After doing all these I’m setting configuration of AWS IoT Device Tester Configs provided in attachmentAWS_IDT_OTA_Configs.zip (2.5 KB)
–Running Test
./devicetester_linux_x86-64 run-suite -g OTACore --userdata userdata.json
========== Test Summary ==========
Execution Time: 6s
Tests Completed: 2
Tests Passed: 0
Tests Failed: 2
Tests Skipped: 0Test Groups:
Optional Test Groups:
OTACore: FAILEDFailed Tests:
Group Name: OTACore
Test Name: Full_OTA_AGENT
Reason: failed to setup environment with error: encoding/hex: invalid byte: U+0059 ‘Y’ Please refer to /home/kaushendra/IDT_TEST/STM_Release_Nov/devicetester_afreertos_linux_1.6.2/devicetester_afreertos_linux/results/1d011ba8-8d4e-11eb-a9e5-c03eba6cbb6a/logs/OTACore__Full_OTA_AGENT.log for more information.
Test Name: Full_OTA_PAL
Reason: failed to setup environment with error: encoding/hex: invalid byte: U+0059 ‘Y’ Please refer to /home/kaushendra/IDT_TEST/STM_Release_Nov/devicetester_afreertos_linux_1.6.2/devicetester_afreertos_linux/results/1d011ba8-8d4e-11eb-a9e5-c03eba6cbb6a/logs/OTACore__Full_OTA_PAL.log for more information.
Please find the attached logs zipped Ota_failure_logs.zip (5.8 KB)
kindly help me understand , If i’m missing something as part of OTA setup.
Also kindly let me know the importance usage of Rasberry Pi in OTA Test case.
waiting for quick feedback.
Regards,
Arjun Salariya