B-L072Z-LRWAN1 Discovery kit

Getting Started

In this tutorial you’re going to program the B-L072Z-LRWAN1 LoRa®Discovery kit using the System Workbench for STM32 IDE.

Get the ST Micro Resources

  • Log into your ST Micro account or create an account if you don’t already have one
  • Download the ST Micro I-CUBE-LRWAN SDK
  • Unzip the I-CUBE-LRWAN SDK file en.i-cube_lrwan.zip you just downloaded

System Workbench STM32 IDE

I-CUBE-LRWAN SDK in the System Workbench IDE

  • Open the System Workbench IDE
  • Click File > Open Projects from File System…
  • Click Directory > Browse to the en.i-cube_lrwan directory that was created when you unzipped the en.i-cube_lrwan.zip file
  • Continue browsing to /Projects/Multi/Applications/LoRa/End_Node/SW4STM32/B-L072Z-LRWAN1/
  • Select the mlm32l07x01 directory > Click OK
  • Check the box next to the mlm32l07x01 directory
  • Click Finish

Initial Build of the mlm32l07x01 Project

At this point you’ve opened the mlm32l07x01 project and now you must build all the SDK libraries.

  • In the Project Explorer you should see the mlm32l07x01 directory
  • Click the Project Menu > Build All or Press CTRL-B to build
  • When the build completes you should see success messages such as this 15:13:22 Build Finished (took 22s.424ms)

Configure Global Environment Settings

If you are in the USA you must change the LoRaWAN frequency to 915MHZ in the project’s Preprocessor setting within the IDE

  • In the Project Explorer window find the mlm32l07x01 project
  • Right Click the mlm32l07x01 directory > Click Properties
  • Expand C/C++ Build tree > Click Settings
  • Click Tools Settings tab > Expand the MCU GCC Compiler tree
  • Click Preprocessor directory > Double Click the REGION_EU868 value in the Defined Symbols section
  • Replace the REGION_EU868 value with REGION_US915 > Click OK > Click OK again
  • Recompile with new settings > Click the Project Menu > Build All or Press CTRL-B to build

After the project compiles successfully you’re ready to being programming the B-L072Z-LRWAN1 device to join a LoRaWAN network such as Senet

Provision B-L072Z-LRWAN1 Discovery Kit on Senet

Before you begin programming the device to join the Senet LoRaWan network you must add your device to your Senet Developer account profile.

Register for a Senet Developer Account

If you don’t have a Senet account go over to the Senet website & apply for a developer account. When your Senet Developer account is approved you must log into the Developer Portal and register your new device using the Over The Air OTAA activation using the Senet Device Registration instructions.

When registering a new device in the Senet portal interface do the following.

  • Generate a DevEUI by clicking the Senet’s EUI Registry link under the DevEUI Field. This will assign the device a DevEUI in the platform.
  • Activate Type: OTAA
  • Device Type: Nucleo + ST SX1276 Shield

Capture Required LoRa Device Keys

After adding your new device be sure to capture the MSB Hex Formated Numbers which resembles this example {0x00,0x22,0x09,0x00,0x00,0x01,0x03,0x04}

Get the values for the following keys:

  • Device EUI - You’ll have to convert the DevEUI value from the Senet portal to the MSB Hex formatted number mentioned above. For example if you have the number 12345678 the MSB Hex value is: { 0x12, 0x34, 0x56, 0x78 }. Break the values into pairs then prefix the number pairs with 0x and use a comma to separate the pairs. Braces { } must surround the entire MSB formatted value

  • App EUI - You can click the Copy icon next to the MSB number
  • AppKey - You can click the Copy icon next to the MSB number

You will program the device with these values.

Configure the Devices for OTAA Activation

Here you’re going to change the values to some variables in the source code to match the values assigned to your device in the Senet platform.

In the System Workbench IDE:

  • Expand the mlm32l07x01 project in the Project Explorer
  • Expand the Includes directory
  • Find the Project’s Include files which is normally the last directory in this list. The file path is similar to this < filepath to your project directory>/Projects/Multi/Applications/LoRa/End_Node/incwhere the < filepath to your project directory> value is the location of your project on disk.
  • Expand the inc directory and open these files in the IDE:
    • hw_conf.h
    • Commissioning.h

Open main.c file

  • Expand the Projects\End_Node\ directory
  • Open the main.c file

Configure hw_conf.h File

The hw_conf.h file has some variables that should be set when using a sensor shield or when you need to debug your application.

  • If you have a sensor shield attached the device then unComment the #define SENSOR_ENABLED statement

Configure Commissioning.h File

At this point you’re ready to configure the Senet OTAA values for your device.

Open the Commissioning.h file. Find the following statements in the code & replace their values

  • #define STATIC_DEVICE_EUI              1
  • #define LORAWAN_DEVICE_EUI        Device EUI value from Senet Platform converted to MSB Hexidecimal format
  • #define LORAWAN_APPLICATION_EUI        App EUI value from Senet Platform
  • #define LORAWAN_APPLICATION_KEY        AppKey value from Senet Platform
  • Save your changes

Configure main.c File

The payload data that this device is sending will be formatted using the Cayenne LPP format

  • Uncomment the //#define CAYENNE_LPP statement
  • #define LORAWAN_ADR_ON        1
  • #define LORAWAN_CONFIRMED_MSG        ENABLE

Build the Binary

After configuring the device with the appropriate values from the Senet platform you can now build/compile the project which will produce an application binary file.

  • Click the Project Menu > Build All or Press CTRL-B to build
  • You should see a Successful Build message in the IDE’s Console Tab

Program the Device

The binary file is ready to be uploaded to the device.

  • Connect the device via USB to your computer
  • Open a file explorer window and find the attached device. It should appear as an external device and have a name similar to DIS_L072Z

Now you need to grab the binary and upload to the device.

  • Browse to < filepath to your project directory> /Projects/Multi/Applications/LoRa/End_Node/SW4STM32/B-L072Z-LRWAN1/mlm32l07x01/Debug/ where the < filepath to your project directory> value is the location of your project on disk.
  • Find the mlm32l07x01.bin file and Copy/Paste or Drag & Drop it into the DIS_L072Z device listed in your operating systems file explorer
  • The device led will flash green & red while the device is being programmed and will remain solid green or red when complete.

Congratulations! The device is now running the code that you compiled. Next we’ll check the Senet dashboard to see actual LoRaWAN traffic being collected from your device.

Confirm the Device is Transmitting to Senet

Log into the Senet Portal and click on your registered B-L072Z device. If the device is transmitting properly then you should see data in the Senet device portal in a few minutes. Use the Senet User Interface Documentation to learn about the Senet UI

If you’re not seeing any data after a few minutes then:

  • Confirm you properly configured the code with the proper values from this tutorial
  • Ensure the code compiled without any Errors
  • Copy the .bin file to the device again using steps in Programming the Device section
  • Ensure that you are withing range of a Senet LoRaWAN Gateway or in an area within Senet Outdoor coverage check the coverage map here

Stream IoT packets from Senet to Microshare

Follow this Senet tutorial to set up a redirection of IoT packets to the microshare platform.