Skip to content

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]

W5100S-EVB-Pico is first RP2040-based AWS Qualified board. This project will demonstrate how to connect to AWS IoT Core and transmit data.

louis_m

Published September 20, 2023

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]

Components

Hardware components Software Apps and online services

Project description

’m going to introduce how to connect W5100S-EVB-Pico to AWS IoT Core and transmit data to cloud.

For your reference, WIZnet has a separate docs website,

https://docs.wiznet.io/Product/iEthernet/W5100S/w5100s-evb-pico

First and foremost, you need an AWS account (sign up if you do not have one).

Once logged in, go to IoT Core Service and create a thing.

AWS IoT Core Home
AWS IoT Core Home
 
Create a single thing
Create a single thing
 
Enter thing name and DO NOT create shadow
Enter thing name and DO NOT create shadow
 
Auto-generate new certificates
Auto-generate new certificates
 

 

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]
 

 

Attach a policy (you must create one if you haven’t created one). In my case, I allowed all for testing purposes; please create your policy corresponding to your needs. For more information about policies please refer to: https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]
 

Download 4 certificates from the pop-up window. FYI, public key won’t be used. Please keep in mind that you won’t be able to download these keys later, so copy them to a safe place. Also, for security reasons it is recommended to delete these keys after adding them to the firmware.

One a ‘thing’ is created in AWS IoT Core, let’s move on to the next step – Firmware.

A sample firmware can be downloaded or cloned from the following Github link: https://github.com/Wiznet/RP2040-HAT-AWS-C

Please clone, update submodule and patch.

Copy the downloaded keys into..\.RP2040-HAT-AWS-C\examples\AWS_IoT_MQTT\mqtt_certificate.h.

RSA 2048bit key: Amazone Root CA 1 -> mqtt_root_ca

Device certificate -> mqtt_client_cert

Private keyfile -> mqtt_private_key

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]
 

Next, it is necessary to input domain, publish & subscribe topic, Client ID. This information shall be added to define variables in..\RP2040-HAT-AWS-C\examples\AWS_IoT_MQTT\AWS_IoT_MQTT.c

Thing name shall be used as Client ID.

For testing purposes I used shadow/update, shadow/update/accepted as Topics.

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]
 

You should be able to see the following log in the serial terminal.

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]

Vice versa, you can also check the published data from the ‘MQTT test client to subscribed topic.

W5100S-EVB-Pico to AWS IoT Core [FreeRTOS]

Comments

Comments