"IoT Made Easy!"
Devices: | PIC32CXBZ2 | WBZ45x |
Features: | OpenThread |
THE SOFTWARE ARE PROVIDED "AS IS" AND GIVE A PATH FOR SELF-SUPPORT AND SELF-MAINTENANCE. This repository contains example code intended to help accelerate client product development.
For additional Microchip repos, see: https://github.com/Microchip-MPLAB-Harmony
Checkout the Technical support portal to access our knowledge base, community forums or submit support ticket requests.
- Introduction
- Bill of materials
- Hardware Setup
- Software Setup
- Harmony MCC Configuration
- Board Programming
- Run the demo
This application enables the users to create a Full Thread Device. Thread Temperature sensor reports temperature value to the Thread co-processor device with the use of Temp&Hum 13 click. The Thread co-processor device prints the reported temperature data onto the console.
Tip | Go through the overview for understanding few key Thread protocol concepts |
---|
TOOLS | QUANTITY |
---|---|
PIC32CX-BZ2 and WBZ451 Curiosity Development Board | 1 |
TEMP&HUM 13 CLICK | 1 |
Connect the Temp&Hum 13 click onto the Mikro bus header of the WBZ451 Curiosity board.
-
- Version: 6.20
- XC32 Compiler v4.35
- MPLAB® Code Configurator v5.5.0
- PIC32CX-BZ_DFP v1.2.230
- MCC Harmony
- csp version: v3.18.0
- core version: v3.13.1
- bsp version: v3.17.0
- CMSIS-FreeRTOS: v10.4.6
- dev_packs: v3.18.1
- wolfssl version: v5.4.0
- crypto version: v3.8.1
- wireless_pic32cxbz_wbz: v1.3.0
- wireless_15_4_phy version: v1.2.0
- wireless_thread: v1.1.1
- openthread version : thread-reference-20230706
-
Any Serial Terminal application like TERA TERM terminal application
Tip | New users of MPLAB Code Configurator are recommended to go through the overview |
---|
Step 1 - Connect the WBZ451 CURIOSITY BOARD with Temp&Hum 13 click to the device/system using a micro-USB cable.
Step 2 - This application is built by using Thread UDP Application as the building block. Please go through this link to create the project from scratch.
Step 3 - The "MCC - Harmony Project Graph" below depicts the harmony components utilized in this project.
-
From Device Resources, go to Libraries->Harmony->Board Support Packages and add WBZ451 Curiosity BSP.
-
From Device Resources, go to Libraries->Harmony->Wireless->Drivers->Thread and add Thread Stack. Click "Yes" on all the Pop-ups to add the link the dependencies.
-
Ensure the configuration of Thread Stack is as below.
- Ensure the configuration of FreeRTOS is as below. Total heap size should be 61440.
- From Device Resources, go to Libraries->Harmony->System Services and add COMMAND. Ensure the below configuration.
- Right Click on SYS_CONSOLE of COMMAND and add CONSOLE as below. Ensure the configurations.
- Right Click on UART of CONSOLE and add SERCOM0 as below. Ensure the configurations.
- In Device resources, go to Harmony->Peripherals->SERCOM and select SERCOM2. The SERCOM2 I2C configuration is depicted as follows.
- The SYSTEM configuration is depicted as follows.
Step 4 - Generate the code.
Step 5 - In "app_user_edits.c", make sure the below code line is commented
- "#error User action required - manually edit files as described here".
Step 6 - Copy the mentioned files from this repository by navigating to the location mentioned below and paste it your project folder.
Note | This application repository should be cloned/downloaded to perform the following steps. |
---|
- Copy the "app_temphum13" folder, "Thread_demo.c" and "Thread_demo.h" files, which can be found by navigating to the following path: "...firmware\src"
- Paste the folder under source files in your project folder (...\firmware\src).
Step 7 - Add the files in MPLAB X IDE to your project by following the steps mentioned below.
- In Projects section, right click on Source files to add the ".c" file and Header files to add the ".h" file.
- Select "Add existing items from folder"/"Add existing item".
- Select Add and browse the location of the mentioned files(...\firmware\src).
- Make sure the "Files of type" is "C Source files" while adding ".c" files and "Header files" while adding ".h" files.
- Select the folder and click "add".
Step 8 - Copy the mentioned files from this repository by navigating to the location mentioned below and paste it your project folder.
Note | This application repository should be cloned/downloaded to perform the following steps. |
---|
- Copy the "app.c" and "app.h" folder, which can be found by navigating to the following path: "...firmware\src"
- Paste the folder under source files in your project folder (...\firmware\src).
Step 9 - Clean and build the project. To run the project, select "Make and program device" button.
The application hex file can be found in the hex folder.
Follow the steps provided in the link to program the precompiled hex file using MPLABX IPE to program the pre-compiled hex image.
Follow the steps provided in the link to Build and program the application.
- Once the Thread co-processor device is powered on the Temperature sensor will join the network. The temperature will get reported periodically to the Thread co-processor device. Once the Thermostat HVAC joins the network the Thread co-processor device sends the HVAC address and now the Temperature sensor will start reporting the sensor values to the HVAC device.