At our office, we have some plants that need watering from time to time. As nerds are, this is something we often forget. For this reason, we bought the Arduino MKR WiFi 1010 device with two sensors to measure the moisture of the soil and to get alerted when the soil moisture is below a certain threshold.
In my struggle to get this working I’ve contacted the Principal Program Manager at Microsoft Benjamin Cabe, who helped me out big time with getting everything working. Thank you, Benjamin!
To get started with IoT in Azure, you’ll need the following to be in place before starting.
The first step is to go to your Microsoft Azure Environment and to sign in. Once you’re logged in, you can start creating IoT Device Central resources. If you have trouble locating the Azure IoT Device Central service, use the search bar.
Create a default IoT Device Central on an existing or new resource group.
In my case I’ve chosen the name ‘iotdemorgcn’ as resource group name and ‘iotcndemo’ as resource name.
Now we have a successfully created IoT Device Central. In order to configure the MKR WiFi 1010 device, select the ‘MXChip’ template from the menu option ‘Device templates’.
Once the ‘MXChip’ template is selected, the provisioning of the device will start.
The default configuration has a simulated device as an example. Now it’s time to connect the real MKR WiFi 1010 to the IoT Device Central. Select the + icon in the navigation menu right on top to create a real device.
The next thing we need to do is to bind the connection between the MKR WiFi 1010 device with the Arduino Software and Azure Portal.
Download the Arduino software version.
Get started with the GitHub Library
Some steps of the readme.md from this GitHub repository are probably the same. However, the configuration file shown below needs to be changed.
After that, we have to change the connection parameters in the configure.h file.
When you have set al the needed parameters you can compile the software with this Keys.
With regard to security, be sure to not commit to a public repository with your Azure environment keys and your WiFi password.
Compile your software to build your solution custom for your device and Azure Environment. Once the compilation has succeeded, you can upload the software to the MKR WiFi 1010. You can monitor the steps and output in de COM3 windows of the Arduino Software. Additionally, you can check the information received in the Microsoft Azure portal.
When you run into a compilation error in the Arduino software, try to fix a pointer method in the Utils class.
Replace the *dtostrf method from Utils.h for an alternative shorter solution of *dtostrf.
char *dtostrf (double val, signed char width, unsigned char prec, char *sout) {
char fmt[20];
sprintf(fmt, "%%%d.%df", width, prec);
sprintf(sout, fmt, val);
return sout;
}
When you are experiencing connection problems, use this the table with error codes to troubleshoot issues in the Arduino software.
For the pricing details, click here.