Skip to content

"IoT Made Easy!" - This application demonstrates the integration of the Solar Panel kit and Thread stack on the PIC32CxBZ2/WBZ451 device.

Notifications You must be signed in to change notification settings

MicrochipTech/PIC32CXBZ2_WBZ45x_THREAD_SOLAR_PANEL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PIC32CXBZ2_WBZ45x THREAD SOLAR PANEL DEMO

"IoT Made Easy!"

Devices: | PIC32CXBZ2 | WBZ45x |
Features: | OpenThread |

⚠ Disclaimer

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.

Contents

  1. Introduction
  2. Bill of materials
  3. Hardware Setup
  4. Software Setup
  5. Harmony MCC Configuration
  6. Board Programming
  7. Run the demo

1. Introduction

This application enables the users to create a Full Thread Device. Thread Servo Panel reports Light Intensity and Solar Panel Voltage values to the Thread co-processor device with the use of BH1750 Module and ADC. The Thread co-processor device prints the reported Light Intensity and Solar Panel Voltage data onto the console.

Supported Propreitary Device Types:
1. Thread co-processor device
2. Thread temperature sensor
3. Thread Thermostat
4. RGB Light control

Tip Go through the overview for understanding few key Thread protocol concepts

2. Bill of materials

TOOLS QUANTITY
PIC32CX-BZ2 and WBZ451 Curiosity Development Board 1
BH1750 Light Intensity Module 1
Servo Motor Mounting Bracket 1
MG90S Metal Gear Servo Motor 2
Mini Solar Panel 1

3. Hardware Setup

Connect the SERVO Motor, BH1750 Light Intensity and Solar Panel onto the Mikro bus header of the WBZ451 Curiosity board as shown below.

4. Software Setup

  • MPLAB X IDE

    • 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.1
      • wireless_thread: v1.1.1
      • openthread version : thread-reference-20230706
  • Any Serial Terminal application like TERA TERM terminal application

  • MPLAB X IPE v6.20

5. Harmony MCC Configuration

Getting started with Multisensor application in WBZ451 Curiosity board

Tip New users of MPLAB Code Configurator are recommended to go through the overview

Step 1 - Connect the WBZ451 CURIOSITY BOARD 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.

  • 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.

  • In Device resources, go to Harmony->Peripherals->ADCHS and select ADCHS. The ADCHS configuration is depicted as follows.

  • In Device resources, go to Harmony->Peripherals->TCC and select TCC0. The TCC0 configuration is depicted as follows.

  • In Device resources, go to Harmony->wireless->System Service and select APP_TIMER_SERVICE to add it.

  • The SYSTEM configuration is depicted as follows.

  • In Plugins, go to Pin Settings and configure as shown below.

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 "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.

6. Board Programming

Program the precompiled hex file using MPLAB X IPE

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.

Build and program the application using MPLAB X IDE

Follow the steps provided in the link to Build and program the application.

7. Run the demo

  • Once the Thread co-processor device is powered on the Solar Panel will join the network. The Solar Voltage and Light Intensity will get reported periodically to the Thread co-processor device. Once the Solar Panel has joined with Thread co-processor device we can set the position of the solar panel from gateway console.Refer the Thread co-processor device to know more about the commands to set the Solar Panel position.

About

"IoT Made Easy!" - This application demonstrates the integration of the Solar Panel kit and Thread stack on the PIC32CxBZ2/WBZ451 device.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published