Overview

Skill Level: Any Skill Level

basic networking skills

We will guide you through the installation process if you need to use the IQRF wireless mesh technology for your IoT project.
The whole process is documented also on YouTube.
You need the basic IoT IQRF set to try this example.

Ingredients

We recommend you to learn more about the IQRF developments tools first: https://youtu.be/ZD2AO3PM77Q.

Learn more about the IoT Starter Kit in the video tutorials on YouTube.

All IQRF tutorials are here in the IQRF YouTube channel.

We use the basic IoT IQRF set - DS-IOT-01.

Step-by-step

  1. IQRF IDE installation

    If you haven’t done it yet, download the IQRF Startup Package from www.iqrf.org/support/download, unzip it, and install the latest version of the IQRF IDE.

    Download the software

    In the IQRF Startup Package, in the Examples/DPA/IoT-StarterKit-01 folder, you will find the IoT-StarterKit-01-demo file. Double-click the file to launch the IQRF IDE with all necessary files.

    select the project file

    Note: The IQRF IDE environment is tested for Windows 10, Windows 8.x, Windows 7 and Vista. Windows installation in a virtual machine is not tested and it is not recommended. The following minimum configuration is required to run IQRF IDE:

    Processor PC-compatible running on 1 GHz or higher
    512 MB memory
    30 MB of hard disk space
    1 USB port
    Vista, Windows 7 (32 bit, 64 bit), Windows 8.x (32 bit, 64 bit), Windows 10 (32 bit, 64 bit)
    Internet Explorer 7.0 or higher or other suitable browsers for Help

     

  2. IQRF Nodes: Node #1 – connected to sensors

    Press the SW2 button (Reset button) on a CK-USB always when you are plugging an IQRF transceiver to or you are unplugging it from the SIM connector.

    Connect the CK-USB programmer to your computer (on the picture below it is marked with a red box) and insert the first transceiver.

    image013b-1

    In the left panel, you double-click on the TR configuration.

    image014

    In the OS tab, you don’t need to change channel 52, because all Nodes which you connect to the network will inherit the channel from the Coordinator during the bonding process.

    image016

    In the DPA tab, allow usage of a Custom DPA Handler because you will upload one into this transceiver.

    image017

    In the Security tab, set your access password. Don’t forget that the same access password must be configured in all devices in your network including Coordinator. The user key is for optional payload data encryption, but this is something we will not use now.

    image018

    Save the configuration by clicking the Save button and close it.

    Select the DPA plug-in (DPA-Node-LP…) for a Node so the Node supports the DPA protocol. “LP” means the Node will work in LP power-saving mode (low power).

    image019

    Custom DPA Handler is used to customize the behavior of a transceiver.
    In the 4C02_DDC-SE_LP.c Custom DPA Handler “c file”, you will find the source code that is written according to the IQRF Interoperability standard for a standard sensor. To compile the source code, click on the Build button or push F10.

    image020

    Make sure you have all three files selected – the HEX file of the 4C02_DDC-SE_LP Custom DPA handler, the Node DPA plug-in and the configuration. Upload the selected files using the Upload button or by pushing F5.

    image021

    For safe replacement of a transceiver press and hold the Reset button (SW2) on your programmer. Now remove the connected transceiver and place it next to the Sensor kit.

    image022

  3. IQRF Nodes: Node #2 – connected to relays

    Insert the second transceiver in the CK-USB kit. Select the same configuration and the same DPA plug-in. Compile the 4802_DDC-RE_LP.c Custom DPA Handler designed to control the DDC-RE relay kit and upload these three files to the second transceiver using Upload button.

    image023

     

  4. IQRF Nodes: Node #3 - repeater

    For safe replacement of a transceiver press and hold the Reset button (SW2) on your programmer. Replace the second transceiver with the third one.

    This transceiver will work only as a repeater, so it won’t contain any Custom DPA Handler. Uncheck the Custom DPA Handler checkbox in the Configuration window. Don’t change any other parameters.

    image026

    Upload the configuration and the Node DPA plug-in to the transceiver using the Upload button. Do not upload a HEX file.

    image028

  5. IQRF Coordinator

    For safe replacement of a transceiver press and hold the Reset button (SW2) on your programmer. Now remove the third transceiver and insert the last one which will work as a Coordinator.

    In the configuration, uncheck the option for Custom DPA Handler because we will not upload any to it. Select the STD+LP network type because we use LP DPA plug-ins in Nodes.

    image026

    If you change the RF channel in the configuration of a Coordinator now, Nodes will inherit it during the bonding process and the whole network will then work on this channel. Save the configuration and close it.

    image027

    Select the Coordinator DPA plug-in and the configuration and upload them.

    image028

    You now have a Coordinator ready, so leave it connected to your computer using the programmer.

  6. Bonding and unbonding

    Adding a Node to a network is called bonding. Removing a Node from a network is called unbonding.

    For safe replacement of a transceiver press and hold the Reset button (SW2) on the evaluation board. Put the prepared transceivers into the evaluation boards and switch them on with jumpers.

    image029

    If the red LED on the IQRF transceiver is flashing, it means it has no previous bonding information stored. If this is not the case, you must unbond the Node. We will do it here manually.

    Unbonding

    You can unbond the Node by following this procedure: press both Reset (SW2) and user (SW1) buttons on the evaluation board, release the Reset button, the green LED lights for 1 second, once it goes out you have a half a second to release the user button. If the Red LED starts blinking, your Node was successfully unbonded.

    image030

    Once you have all three Nodes ready, delete any residual bonding information from the Coordinator.
    Click the Clear All Bonds button in the IQMESH Network ManagerControl tab. Check the option Only in Coordinator.

    image031

    Bonding

    Now build your wireless network. In the Local bonding, check Auto address checkbox and click the Bond Node button.  The Coordinator will listen 10 seconds for a Node request.

    image032

    During this ten-second period, press the User (SW1) button on the evaluation board with the first transceiver (configured for communication with the sensor kit).  

    image033

    Bond the second transceiver (with the Custom DPA Handler for communication with relays) as Node #2 following the same procedure. Bond the last transceiver as Node #3.

    Click the Refresh button at the top of the IQMESH Network Manager window. Then you can see the current network in the Map View. Nodes got network addresses 1, 2 and 3.

    image034

     

  7. DDC kits adding

    Connect Node #1 to the sensor kit DDC-SE and Node #2 to the relay kit DDC-RE. Connect pins 1 and 2 on the sensor kit using a jumper to select the Dallas temperature sensor.

    image035

  8. Discovery

    Now place Nodes on their final place and start a Discovery process. The physical topology will be discovered, Nodes will get VRNs – Virtual Routing Numbers and routing in a network will work properly.

    image036

    Check the Map View again. Discovered Nodes have virtual routing addresses and are marked with blue color.

    image037

     

  9. Test the wireless communication

    Terminal log

    Go to the Terminal log located at the bottom of the IQRF IDE next to the IQMESH Network manager and clear the current log.

    image038

    Macros

    In the IoT Starter KIT macro tab, macros containing commands for the IoT Starter Kit are prepared.

    Note: You may need to resize the upper panel manually if macro buttons are not visible.

    After a macro button is pressed you must hit the Send button or you can select the checkbox in the macro window to Send Macro Directly. Select the first macro SE-all-data containing the command to read all sensory data from the sensor kit connected to Node #1.

    image039

    DPA packet parts

    The DPA packet consists of several parts. The first part is a network address of a Node you want to communicate with.

    Here we use the network address #1 which corresponds to the Node with the sensor kit.

    5E is a hexadecimal representation of the Standard sensor periphery.

    The number 01 in a peripheral command field corresponds to a command for collecting sensors’ values with types.

    The FF.FF in the HWPID (hardware profile ID) field indicates that there is no hardware filtering.

    In the PDATA field, there is a bitmap of a maximum of 32 sensors on the specified Node you want to communicate with. 

    Here we want to read all available sensors.

    image040

    Send the command and see the ongoing communication in Terminal Log.

    image041

    Note: DPA protocol is described in detail here: https://www.iqrf.org/support/download&kat=54.
    IQRF Standard manuals are available here: www.iqrfalliance.org/techDocs/.

    Inspect the packet

    Double-click on the response packet to see details. In the Packet Inspector, you can see values measured by the individual sensors and types of sensors according to the IQRF Interoperability Standard.

    image042

    If you have in a network more sensors of the same type, you can collect measured values at once using the FRC (Fast Response Command). In the macros, three FRC commands are prepared to collect temperature, light intensity from photoresistors and potentiometer value.

    image043

    The other macros are used to control the two relays on the relay kit DDC-RE. You can test individual commands and inspect the ongoing communication in the Terminal Log. If everything works well, you should hear clicks of relays.

    image044

Join The Discussion