IoT Platforms and Connections (The Technical Details)
THE LIBRARY/FILES CHOSEN
Conveniently, STMicroelectronics has a file bundle which provides examples for connecting a variety of boards to the Azure platform. It can be found at the bottom of this page, and is labeled FP-CLD-AZURE1. This bundle allows transmitting of sensor data to the cloud and receiving commands from cloud applications, using the X-NUCLEO-IDW01M1 (WiFi expansion board) and the X-NUCLEO-IKS01A2 (Sensor expansion board). A good tutorial/walk through to use can be found here on GitHub.
I have switched over to using the AC6 System Workbench for STM32 for this part of the project, as this is what most of the tutorials use. However, I am looking into porting it over to the mbed online compiler. Make sure you have the IDW01M1 on your board and now we can get into coding!
We will start by editing azure1_config.h which can be found in the "Includes" folder.
You will want to set up the WiFi connection here by editing the AZURE_DEFAULT_SSID and AZURE_DEFAULT_SECKEY to match your personal network. Then you will need to set up the AZUREDEVICECONNECTIONSTRING, which can be found in you IoTHub on your Azure Dashboard.
Once you have finished editing azure1_config.h, you can build all (found under the "Project" tab in the Workbench), and flash the binary to the Nucleo and you are ready to go!
Now you can download TeraTerm, or use your favorite serial terminal to see the messages which are successfully sent to your Azure IoTHub (this is the step I am currently on and will make an update post with data and pictures!)