RSL10 Mesh Platform User Guide STR-RSL10-MESH-KIT-GEVK (c) Semiconductor Component Industries, LLC, 2020 June, 2020 - Rev. 0.1 1 STR-RSL10-MESH-KIT-GEVK User Guide Table of Contents 1 INTRODUCTION .................................................................................................................................................................... 4 1.1 1.2 1.3 1.4 1.5 1.6 2 FEATURES ........................................................................................................................................................................ 4 APPLICATIONS ................................................................................................................................................................... 4 MESH NODE BLOCK DIAGRAM .............................................................................................................................................. 4 INTENDED AUDIENCE .......................................................................................................................................................... 5 FURTHER READING ............................................................................................................................................................. 5 ACRONYMS AND ABBREVIATIONS ........................................................................................................................................... 5 RSL10 MESH PLATFORM SETUP ............................................................................................................................................ 5 2.1 RSL10 MESH PLATFORM CONTENTS ...................................................................................................................................... 5 2.2 POWER SELECTION ............................................................................................................................................................. 6 2.3 BATTERY .......................................................................................................................................................................... 6 2.3.1 Requirements ........................................................................................................................................................ 6 2.3.2 Recommended List................................................................................................................................................. 6 2.3.3 Charge Current Control .......................................................................................................................................... 7 2.3.4 NTC and General Precautions................................................................................................................................. 7 2.4 STRATA AND HARDWARE SETUP ............................................................................................................................................ 7 3 FEATURES ............................................................................................................................................................................. 8 3.1 SENSORS AND INDICATORS ................................................................................................................................................... 8 3.1.1 Tactile Buzzer or Solid-State Relay Connection........................................................................................................ 8 3.2 SECURITY ......................................................................................................................................................................... 8 3.3 COLOR CONTROL ............................................................................................................................................................... 8 3.4 DIMMER .......................................................................................................................................................................... 9 3.4.1 Introduction........................................................................................................................................................... 9 3.4.2 Implementation ..................................................................................................................................................... 9 3.4.3 Dimming without an enclosure ............................................................................................................................ 11 3.5 ALARM.......................................................................................................................................................................... 11 4 BASIC OPERATION .............................................................................................................................................................. 12 4.1 BASIC TAB: VIRTUAL OFFICE ENVIRONMENT NODE LOCATIONS ................................................................................................... 13 4.1.1 Security Camera .................................................................................................................................................. 13 4.1.2 Doorbell .............................................................................................................................................................. 13 4.1.3 Door .................................................................................................................................................................... 13 4.1.4 Dimmer ............................................................................................................................................................... 13 4.1.5 Strata Hub (Provisioner/Gateway) ....................................................................................................................... 13 4.1.6 Robotic Arm......................................................................................................................................................... 13 4.1.7 Solar Panel / Relay ............................................................................................................................................... 13 4.1.8 HVAC ................................................................................................................................................................... 13 4.2 BASIC TAB: VIRTUAL SMART HOME ENVIRONMENT NODE LOCATIONS .......................................................................................... 14 4.2.1 Window............................................................................................................................................................... 14 4.2.2 Strata Hub (Gateway) .......................................................................................................................................... 14 4.2.3 Door .................................................................................................................................................................... 14 4.2.4 Lights .................................................................................................................................................................. 14 4.3 BASIC TAB: SENSOR ICONS ................................................................................................................................................. 15 4.4 BASIC TAB: HELP AND NODE COMMUNICATIONS ..................................................................................................................... 15 4.5 BASIC TAB: SYNCHRONIZE .................................................................................................................................................. 15 5 ADVANCED OPERATION ..................................................................................................................................................... 15 5.1 ADVANCED TAB: ONE TO ONE ............................................................................................................................................ 16 www.onsemi.com 2 STR-RSL10-MESH-KIT-GEVK User Guide 5.2 5.3 5.4 5.5 6 ADVANCED TAB: ONE TO MANY .......................................................................................................................................... 16 ADVANCED TAB: RELAY ..................................................................................................................................................... 17 ADVANCED TAB: SENSOR ................................................................................................................................................... 17 ADVANCED TAB: NODE COMMUNICATIONS ............................................................................................................................ 17 FIRMWARE......................................................................................................................................................................... 18 6.1 SOURCE FILES ................................................................................................................................................................. 18 6.2 COMPILE EXAMPLE PROJECT ............................................................................................................................................... 18 6.3 TEST AND VERIFY EXAMPLE PROJECT WITH STRATA DEVELOPER STUDIO ........................................................................................ 18 6.4 NODE COMMUNICATIONS RAW JSON COMMANDS ................................................................................................................. 19 6.5 TEST AND VERIFY EXAMPLE PROJECT WITH RSL10 MESH APP AND STRATA DEVELOPER STUDIO ......................................................... 19 6.5.1 Configure Gateway Node in GATT Mode .............................................................................................................. 19 6.5.2 Configure a Node in GATT Mode .......................................................................................................................... 20 6.5.3 Control Nodes with Strata Developer Studio ......................................................................................................... 20 www.onsemi.com 3 STR-RSL10-MESH-KIT-GEVK User Guide 1 Introduction Bluetooth(R) Low Energy mesh networking can enable many Internet-of-Things (IoT) applications from Industry 4.0 to Home Automation and Connected Lighting. The RSL10 Mesh Platform is a versatile and easily configurable development kit that enables customers to develop mesh networking applications based on the industry's lowest power Bluetooth 5 radio- the RSL10. The platform includes two RSL10-based Mesh Nodes, with a variety of available smart sensors and indicators, and a Strata Gateway Node, which enables connectivity to the Strata Developer StudioTM and allows nodes to be added into the network. Strata enables users to experiment with basic demos as well as advanced use cases right out of the box. Additional customization is possible with the RSL10 Semiconductor Software Development Kit (SDK) Mesh CMSIS pack and the source code provided with this kit. 1.1 1.2 1.3 Features Best-in-class ultra-low-power consumption RSL10 SIP module maximizes battery life Ambient light sensor - LV0104CS Low-voltage temperature sensor - N34TS108 Hall-effect switch for simple magnet detection Wheatstone bridge for angular magnetic field measurement amplified by NCS333 Chopper-stabilized Op-Amps Dual RGB LEDs with 5-bit current-controlled dimming through NCP5623B 2.3 kHz tone indicator Optional tactile buzzer Applications Industrial IoT Home Automation and Security Connected Lighting Smart Agriculture Remote Sensing Mesh Node Block Diagram Figure 1: Mesh Node Block Diagram www.onsemi.com 4 STR-RSL10-MESH-KIT-GEVK User Guide 1.4 Intended Audience Users of the RSL10 Mesh Platform should be familiar with Bluetooth Low Energy and the Bluetooth mesh networking specification, and have an understanding of how mesh networking is implemented in Bluetooth devices. Additionally, an understanding of the ON Semiconductor RSL10 Bluetooth Radio System-on-Chip (SoC) and associated Software Development Kit (SDK) and Integrated Development Environment (IDE) will be needed to customize the features and functionality of the mesh network. 1.5 1.6 2 2.1 Further Reading RSL10 Documentation Pack RSL10 Mesh Package Bluetooth(R) Mesh Networking Specification RSL10SIP Datasheet FAN54120 Datasheet Acronyms and Abbreviations (ADC) (AMR) (IDE) (IoT) (LED) Analog-to-Digital Converter Anisotropic-Magnetoresistive Integrated Development Environment Internet-of-Things Light-emitting Diode (NTC) Negative-Temperature Coefficient (SDK) (SoC) Software Development Kit System-On-Chip RSL10 Mesh Platform Setup RSL10 Mesh Platform Contents (2) RSL10 Mesh Nodes (1) Strata Gateway Node (3) USB cables (1) Rare earth ring magnet (for Alarm and Dimmer functions) Disclaimer Figure 2: Mesh Platform Contents www.onsemi.com 5 STR-RSL10-MESH-KIT-GEVK User Guide 2.2 Power Selection Each Mesh Node has a 4-pin header to select whether or not a battery is being used. The default selection is with a jumper placed across the two middle pins, resulting in isolation of the battery rail and associated charging circuit and the node being powered directly from the 5V rail, which is sourced from USB or the Strata Gateway. If using a rechargeable battery, which fits the requirements in section 2.3.1 to power the node and allow the node's USB port to charge the battery, place two jumpers across each pair of end pins as shown in Figure 3. Figure 3: Power Selection Jumper Positions 2.3 Battery The Mesh Kit does not include batteries but if one is used it must fit the following requirements or be from the recommended list. 2.3.1 Requirements The Mesh Node contains the ON Semiconductor FAN54120, a stand-alone Lithium-Poly/Lithium-Ion single-cell battery charger. The float charge voltage is fixed such that using a battery with a different float voltage than the following specification requires changing the battery charger IC to a different fixed voltage version and is only advised for advanced users with soldering capabilities. The primary battery connection is the JST-PH connector commonly found on Li-Poly batteries available on the market. Advanced users can solder battery wires directly to the board using the provided test points, but caution must be used to identify the correct polarity and ensure the battery fits the requirements. Battery Type Li-Poly/Li-Ion Single Cell Battery Capacity 70 mAh - 1250 mAh Float Charge Voltage 4.2V Nominal Voltage 3.7V Connector JST-PH Protection Circuit Module (PCM) Required 2.3.2 Recommended List Size [mAh] Manufacturer MPN Suggested I_Fast [mA] 100 Adafruit 1570 50 150 Adafruit 1317 50 350 Adafruit 2570 100 400 Adafruit 3898 200 500 Adafruit 1578 250 1200 Adafruit 258 495 110 Sparkfun PRT-13853 50 www.onsemi.com 6 STR-RSL10-MESH-KIT-GEVK User Guide 400 Sparkfun PRT-13851 200 850 Sparkfun PRT-13854 400 1000 Sparkfun PRT-13813 495 2.3.3 Charge Current Control The FAN54120 sets the I_Fast charge current value via an external resistor, which is used to control the current during the Constant Current (CC) phase of battery charging. The Mesh Node has a dial potentiometer circuit for the set resistor so that the charge current can be adjusted across the full current range of the device, from 50 mA up to 495 mA. The potentiometer default position sets the I_Fast current to 50 mA, which is the safest value to use with all of the recommended batteries. Warning! Never set the charge current value too high for the battery being used as it can cause a fire or explosion. Always exercise caution before adjusting the battery charge current. If a specific R_set value is desired, the potentiometer can be removed and R13 replaced with the desired resistor. See the FAN54120 datasheet for more information. 2.3.4 NTC and General Precautions Each Mesh Node contains a Negative-Temperature Coefficient (NTC) resistor, RT1, on the top of the board that can be used to automatically reduce the battery charging current if the temperature gets past a certain threshold. Place the battery on top of the board near the NTC resistor to get the most benefit from this feature. Further information can be found in the FAN54120 datasheet. As with all lithium batteries, proper precautions must be followed when using them. Adhere to all warnings in the battery datasheet and use common sense. Do not leave batteries charging unattended or near heat sources like soldering irons. Always know where the nearest fire extinguisher is located and how to use one. ON Semiconductor is not responsible for any damages caused by careless use of lithium batteries. For more information, see the disclaimer included with the evaluation kit. 2.4 Strata and Hardware Setup Download Strata Developer Studio from www.onsemi.com/Strata Connect the PC running Strata to the Gateway node using one of the included USB cables, attaching to the USB port on the stacked daughter-board as depicted in Figure 4. If a battery is not being used with the nodes, connect them to any USB power source using the provided cables. Figure 4: Connect the Gateway node to Strata www.onsemi.com 7 STR-RSL10-MESH-KIT-GEVK User Guide 3 Features 3.1 Sensors and Indicators The Mesh Node supports a variety of sensors and indicators that can be customized for many applications. All sensors and indicators listed are included on each node, except the optional Tactile Buzzer which can be purchased from Adafruit. Sensor Manufacturer MPN Interface Ambient Light ON Semiconductor LV0104CS I2C Temperature ON Semiconductor N34TS108 I2C Hall Effect Magnet Detection Melexis MLX90248 Open Drain Magnetic Field Direction Honeywell HMC1512 Analog Indicator Manufacturer MPN Interface RGB LED Driver ON Semiconductor NCP5623B I2C Alarm Buzzer PUI Audio AI-1223-TWT-3V-2-R GPIO Tactile Buzzer (optional) Adafruit 1201 GPIO 3.1.1 Tactile Buzzer or Solid-State Relay Connection The tactile buzzer connection is shown below in Figure 5 and is reference designator J2. If the Adafruit tactile buzzer is purchased separately it can be connected to this header with the red wire being soldered into the square pad. Additionally, the same header can be used to connect a solid-state relay or low voltage signal relay. The resistor R7 should be updated to limit the current to no more than 50 milliamps for any connected device. Figure 5: Tactile Buzzer Header 3.2 Security All traffic in a mesh network is encrypted. When each node is provisioned into the network, it receives a Network Key (NetKey) and an Application Key (AppKey). The NetKey allows a node to decrypt the traffic passing through it and relay the information without being able to actually decrypt the application level contents of the packets, which only the nodes with the appropriate AppKey can do. This helps make the network resilient to certain types of attacks as well as guarantees that only the nodes that need to know the contents of mesh traffic are able to access it. 3.3 Color Control Each Mesh Node is assigned a color as it is provisioned into the network. All of the nodes colors can be changed to a specific node's color by clicking on that node within Strata when connected to a Gateway node, or an individual node's color can be www.onsemi.com 8 STR-RSL10-MESH-KIT-GEVK User Guide changed by right clicking that node and selecting a new color from the HSL slider. Due to the RGB LED Driver only supporting 5 bits of dimming, the selected color may not perfectly match the node. 3.4 3.4.1 Dimmer Introduction The ON Semiconductor Mesh Node contains a dual Wheatstone bridge with special resistors which exhibit a property known as Anisotropic Magnetoresistance (AMR) that causes the resistor to change its impedance based on the angle of the applied magnetic field which is saturating the material. This results in a change in current flow through the bridge elements which is proportional to the direction of the applied magnetic field. The sensor utilized is the HMC1512 sensor from Honeywell Aerospace, and the following figures are from the component datasheet and the Honeywell Application Note AN211, which describes various applications of their AMR sensors. Figure 6: Anisotropic Magnetoresistance concept and application in a Wheatstone bridge The HMC1512 sensor contains two AMR Wheatstone bridges, one of which is rotated 45 degrees with respect to the other sensor, and both of which are physically located at the exact center of the sensor package. This results in a sine and cosine output from the bridges as a magnetic field is rotated near the sensor, such that the direction of the applied magnetic field angle (Theta) can be calculated from the bridge output voltages. Figure 7: Sensor package, bridge configuration, and output signals Va = (Bridge Supply Voltage) * (Material Constant) * Sin(2) Vb = - (Bridge Supply Voltage) * (Material Constant) * Cos(2) = 1/2 ArcTan(Va/Vb) 3.4.2 Implementation Output voltages from the Wheatstone bridge sensors are typically less than 100 millivolts peak-to-peak, so they must be amplified with minimal offset voltage before being sampled by an Analog-to-Digital Converter (ADC) in a microcontroller. The Mesh Node includes two ON Semiconductor NCS333 chopper-stabilized Op-Amps, one for each Wheatstone bridge, with zero-drift and low 10 microvolt offset, in a differential amplifier configuration with gain of approximately 13 V/V. Each bridge is powered with the system voltage of 2.8V, so the signals are centered about 1.4V with a small offset due to manufacturing tolerances which must be accounted for with a calibration procedure and removed before using the measured signals to calculate Theta. www.onsemi.com 9 STR-RSL10-MESH-KIT-GEVK User Guide The NCS333 Op-Amps can be utilized in many other Wheatstone bridge sensing applications such as industrial and aerospace. Figure 8: Simplified NCS333 Block Diagram Figure 9: Mesh Node Amplification Circuit The magnet used with the Mesh Node is a diametrically magnetized ring magnet, such that the magnetic field angle can easily be measured by the AMR sensor when being rotated around the center of the ring. The dimmer functionality is only active when a magnetic field is detected by the Hall-effect open-drain switch located just above the AMR sensor, and provides 150 degrees of dimming with a 15 degree guard-band on each side. The field angle is mapped to a 5-bit current limit value which is consistent with the range available in the NCP5623B LED drivers on each node, and then sent to all the nodes in the network to control their brightness levels. www.onsemi.com 10 STR-RSL10-MESH-KIT-GEVK User Guide Figure 10: Diametrically magnetized ring magnet Figure 11: Mesh Node on dimmer pad showing range of operation 3.4.3 Dimming without an enclosure A printable template is available for download in Strata for taping down the magnet and overlaying the evaluation board to use the dimming feature without any printed plastic enclosures. A paperclip can be used to find the pole of the magnet to assist with orientation on the template. Additionally, 3D printing files for the enclosures are also available for download in Strata. 3.5 Alarm The alarm function in the mesh node is a simple hall-effect open-drain switch which is active when the node is placed on a magnetic field and inactive if no magnet is detectable at all. This is similar to how most entry sensors in home security and automation function and is meant to demonstrate that application within a mesh network. When the alarm node is removed from its magnet, a broadcast notification is sent to all other nodes to indicate an alarm condition and blink their lights red for approximately 15 seconds. Only after the node is placed back on its magnet, the alarm condition stop and all nodes return to their assigned colors. www.onsemi.com 11 STR-RSL10-MESH-KIT-GEVK User Guide The same printable template from Appendix A for the dimmer feature can be used to evaluate the alarm feature. Simply place the magnet on the printed page in the ring and place the mesh node over the board outline to disarm the alarm. Similarly, remove the mesh node from the board outline to trigger the alarm. 3D printing files for the enclosures are available for download in Strata. This type of sensing isn't only limited to doors and entry points, but can also be used with emergency equipment like AEDs and fire extinguishers to immediately notify emergency service personnel and first responders of incidents even before they get called in. 4 Basic Operation The Basic UI can be switched between a virtual office and a smart home environment via drop-down menu. Mesh nodes are located in the virtual environment and take a role based on their specific location when drag-and-dropped in the top bar. For example, a mesh node in the office image location next to the fire extinguisher labelled `doorbell' will enable the magnetic contact and make a beep sound when the provided magnet is removed. Figure 12: Basic Control View When a mesh node is powered, it will provision and show up on one of the locations in the Node Bar above the image with its color and mesh Unique Address (uAddr). Refer to Figure 12 above for the pink node with mesh uAddr 2. The Green Strata mesh node is the mesh hub node (Provisioner/Gateway) that is always present which Strata uses to send messages into the BLE mesh network. The Provisioner/Gateway node establishes the mesh network and it will always assign itself mesh uAddr 1. All nodes present in the network can be moved to a different location in the virtual environment views by dragging and dropping the node to any other open node location on the Node Bar, except the Gateway node at the Strata location (uAddr 1). The small circle in the image will change to the color of the node and also show the corresponding uAddr. The node will have different behavior and responses depending on its location. www.onsemi.com 12 STR-RSL10-MESH-KIT-GEVK User Guide 4.1 4.1.1 Basic Tab: Virtual Office Environment Node Locations Security Camera When the small circle located in the UI at security camera is clicked, all mesh nodes will change their color to the color of the mesh node at this location. If there is no mesh node at the location all of the mesh node lights will be switched off. 4.1.2 Doorbell When a node is dragged to doorbell location in the node bar, the mesh node will enable the magnetic contact to detect any magnet underneath it. If there is no magnet present a beep will sound for 2 seconds. Both the connection and disconnection events are sent from the mesh nodes to the Gateway and can be seen on the node communication window. When the small circle located in the UI at fire extinguisher is clicked, the Gateway node will send message to the mesh node to beep the buzzer for 2 seconds simulating magnet behavior. 4.1.3 Door When a node is dragged to door location in the node bar, the mesh node will enable the magnetic contact to detect any magnet underneath it. If there is no magnet present the light alarm will activate for about 10 seconds where all of the mesh nodes and the virtual office will blink red. The red flashing will continue until the magnet is detected again or the node is moved to a different location in the node bar. The alarm will stop after the timer expires and the conditions have changed as mentioned earlier. When the small circle located in the UI at door is clicked, the Strata node will send message to the mesh node to simulate alarm behavior. Door open condition can also be simulated by pressing DIO12 switch till 2 beeps occur. The alarm will stop once timer expires. 4.1.4 Dimmer The mesh node will enable the magnetic contact to detect magnetic field angle. When moving a node to this location make sure it is not making contact with the magnet. This assures magnet calibration for dimmer operation when node makes contact with magnet after the node has been dragged to dimmer position in UI. After calibration the node can be rotated slowly over the magnet and it will dim the lights on all mesh nodes. If the dimmer is moved too fast, more messages will be sent out in the network as the dimmer position updates, which can jam the mesh network. 4.1.5 Strata Hub (Provisioner/Gateway) The mesh node at this location cannot be moved. When the small circle in the UI is clicked, transmission RF power level of the strata node is toggled: white light indicates lowered RF power and green light indicates nominal RF power. Lower RF power level can be helpful in the Relay demonstration. See Relay below for more information. 4.1.6 Robotic Arm When the small circle located at robotic arm in the UI is clicked, all mesh nodes will change their color to the color of the mesh node at this location. If there is no mesh node at the location, all mesh nodes light will be switched off. 4.1.7 Solar Panel / Relay When the small circle located at solar panel in the UI is clicked, it will toggle between: Relay On or Off, turning its LEDs white or node color respectively. This is used in the Relay demonstration. With the Relay enabled, nodes normally outside the Gateway's range can communicate by relaying information through the Relay node. 4.1.8 HVAC This mesh node can be physically located out of range of all other nodes except of the Solar Panel node. When enabling Relay on the solar Panel node this node will respond to commands from the nodes that are out of range, but when relay is disabled it will not. When left-clicking the small circle in the image all mesh nodes will change their color to the color of the mesh node at this location. If there is no mesh node at the location, all mesh nodes light will be switched off. www.onsemi.com 13 STR-RSL10-MESH-KIT-GEVK User Guide 4.2 Basic Tab: Virtual Smart Home Environment Node Locations Figure 13: Basic UI View 4.2.1 Window The mesh node will enable the magnetic contact to detect any magnet underneath it. If no magnet is detected, the electronic frosting on the glass window toggles off and reveals the city skyline outside. When placed on the magnet, the electronic frosting on the glass will toggle on. 4.2.2 Strata Hub (Gateway) The mesh node at this location cannot be moved. When the small circle located at Strata in the UI it will toggle between RF power levels: white light indicates lowered RF power and green light indicates nominal RF power. 4.2.3 Door The mesh node will enable the magnetic contact to detect any magnet underneath it. If no magnet is detected, the door opens. When placed on the magnet, the door closes. 4.2.4 Lights Clicking on this location in the virtual environment image will cycle the lights on all the nodes and in the virtual smart home through several different colors. www.onsemi.com 14 STR-RSL10-MESH-KIT-GEVK User Guide 4.3 Basic Tab: Sensor Icons At the bottom of virtual environment is a series of buttons. Figure 14: Sensor Icons These buttons will ping all available nodes sequentially and read back sensor data for the environmental readings of Signal Strength, Ambient Light, Battery, Temperature, and the Node Map. When pressed, the button will go dark to indicate it is reading the sensor data from the nodes. Sensor data will be populated under the respective node in the node bar. 4.4 Basic Tab: Help and Node Communications At the top right corner of virtual environment there are 2 button icons. Figure 15: Help and Communication Icons The question mark button will open help document pane. The other icon will open node communication pane. Node communications pane will show all the print messages between Gateway and the nodes. 4.5 Basic Tab: Synchronize Synchronize button is located next to the Virtual Environment selection drop-down. Figure 16: Synchronize Button When this button is pressed all the nodes in the network will be assigned with the role based on their location in the UI. This button is required to be used only the first time when the nodes are added to the network as they are unaware of their node location. Switching between Office and Smart Home view or Basic and Advanced tab would do the same. 5 Advanced Operation The advanced tab allows the user to demonstrate various aspects of communication between Gateway and Nodes. The lowest available mesh address node will be used for these demonstrations. www.onsemi.com 15 STR-RSL10-MESH-KIT-GEVK User Guide 5.1 Advanced Tab: One to One Address in node 2 (right) is configured to subscribe to GROUP_ID (0xC1E1). When switch on node 1 is toggled, the Gateway sends message out to the GROUP_ID to toggle LEDs between white color and off. This will toggle lights of the nodes which are subscribed to the GROUP_ID, in this case address in node 2. The message sent out can be observed in Node Communications pane. Figure 17: Advanced UI View - One to One This feature can be tested by pressing DIO12 switch on the board till you hear 1 beep. It will send the same message as the switch in the UI. Note: This will only work from node which is not subscribed to GROUP_ID. 5.2 Advanced Tab: One to Many When the switch on node 1 (left) is toggled, the Gateway sends message out to BROADCAST_ID (0xFFFF) to toggle LEDs between white color and off. As the message is sent to BROADCAST_ID, all the nodes provisioned in the network (with same appKey) will receive the message and toggle their lights. The message sent out can be observed in Node Communications pane. Figure 18: Advanced UI View - One to Many This feature can be tested by pressing DIO12 switch on the board quickly (no beep should be heard). It will send the same message as the switch in the UI. www.onsemi.com 16 STR-RSL10-MESH-KIT-GEVK User Guide 5.3 Advanced Tab: Relay Relay allows node 1 to communicate with node 3 through node 2 (when relay is enabled). If node 3 is placed out of range of node 1, node 2 can pass information bi-directionally to node 3. If relay switch is off, node 3 and node 1 will not communicate with node 3 out of range. Relay switch enables/disables relay feature for the address in node 2. The messages sent out can be observed in Node Communications pane. To test relay feature easily in a small room, you can reduce transmission power of Gateway node, so that the remote node won't receive messages sent out by Gateway at a shorter distance. To reduce transmission power of Gateway node, click on the small circle in the UI on basic view. Figure 19: Advanced UI View - Relay 5.4 Advanced Tab: Sensor When the switch on node 1 is toggled, Gateway sends out message asking for temperature sensor data from node 2. Node 2 will respond back to node 1 with the sensor data. The message sent out can be observed in Node Communications pane. Figure 20: Advanced UI View - Sensor 5.5 Advanced Tab: Node Communications All the node communication exchange is printed on this pane. This pane can be accessed from Basic Tab of the UI as well. You can send raw JSON commands to the platform via line edit box on the left corner of the UI. Refer firmware section for the commands. www.onsemi.com 17 STR-RSL10-MESH-KIT-GEVK User Guide 6 Firmware 6.1 Source Files Brief description of all the important source files included in the strata_ble_mesh_node example project. File Name Description include/app_mesh.h Select between mesh application gateway or server. app.c Main application file. It has logic for all the peripherals. code/app_init.c Application initialization such as GPIOs, SPI, I2C, etc. code/app_process.c Application task handler and supporting process. ISR and peripheral callback functions. code/dimmer_operation.c Dimmer application api calls. ethermind/mesh/export/sample/appl_strata_gateway.c ADV/GATT bearer standalone provisioner application. ethermind/mesh/export/sample/appl_strata_server.c ADV/GATT bearer server sample application. ethermind/mesh/export/strata/. Generic application model client and server libraries for on-off, sensor, battery, light HSL. 6.2 Compile Example Project Download and install "RSL10" and "RSL10Mesh" CMSIS packs, if already not installed. Download "StrataRSL10Mesh" CMSIS pack from onsemi website. Import the CMSIS pack in IDE from pack manager. Copy "strata_ble_mesh_node" project from examples tab for RSL10. Setting up the example project is similar to "ble_mesh" example project. Open app_mesh.h and define MESH_APP. Use MESH_APP_SA_ADV_STRATA_GATEWAY for compiling source code for Gateway/Provisioner. Use MESH_APP_SA_ADV_STRATA_SERVER for compiling source code for a node. 7. Compile and flash the project using "Run" launch mode and Jlink. 8. Hex file for Strata-Linked board which communicated with Strata Developer Studio is provided in the pack as well as content download in Strata Developer Studio. 9. Refer section 6.6 to compile and verify the project without using Strata Developer Studio. 10. Serial communication with Strata Developer Studio is done through strata-linked board. This is an adaptor board mounted on Gateway node. Source hex file for this particular board is available in Strata Developer Studio collateral download as well as on ONSemi public website. 1. 2. 3. 4. 5. 6. 6.3 Test and Verify Example Project with Strata Developer Studio 1. 2. 3. 4. 5. 6. 7. 8. 9. Open Strata Developer Studio and log in. Connect USB cable to strata linked board on Gateway. Strata Developer Studio will detect the board and open control view for mesh platform. Once Gateway is initialized, LEDs on Gateway node will turn green. Power on Strata server node and wait till it is provisioned. You can see the communication between gateway and server node in node communications pane. Once the node is provisioned, node LEDs will change the color to pink (uAddr 2) from blue. Wait till the LEDs on the recently provisioned node dim down. This is required to finish application key bindings to the models of the node. If this is interrupted, models will not work correctly. Once the node is correctly provisioned, power up another node if wanted. Once mesh network is established, navigate through UI to test various features. www.onsemi.com 18 STR-RSL10-MESH-KIT-GEVK User Guide 6.4 Node Communications Raw JSON Commands JSON formatting is important while sending a command using "Node Communications" pane. Use a JSON validator before sending the command. Copy paste the command hit enter. 1. {"cmd":"light_hsl_set","payload":{"uaddr":2,"h":60,"s":100,"l":50}} This command will set HSL value to node address 0x0002. "h" represents hue which varies between 0 to 359. "s" represents saturation which varies between 0 to 100. "l" represents lightness which varies between 0 to 100. You can broadcast the HSL message using "uaddr" value of 65535 (0xFFFF). 2. {"cmd":"sensor_get","payload":{"uaddr":3,"sensor_type":"temperature"}} Read sensor data from a particular node provisioned in the network which can be selected by changing the uaddr. "uaddr" is unique addressed assigned to the node by Gateway at the time of provisioning. Various sensor_types can be read by changing the string to any one of the following: ambient_light, rssi (signal strength), battery, temperature. 3. {"cmd":"sensors_get_all","payload":{"sensor_type":"temperature"}} Read sensor data from all the nodes provisioned in the network. Various sensor_types can be read by changing the string to any one of the following: ambient_light, rssi (signal strength), battery, temperature. 4. {"cmd":"set_groupid","payload":{"uaddr":2,"group_id":49633,"model":"light_hsl_server","subscribe":true}} This command would subscribe a model to a particular group id. For example in the above command, Light HSL Server model of node with address 0x0002 is subscribed to group id 0xC1E1. If light HSL message is sent to 0xC1E1 group id, Node address 2 will change its color. To de-subscribe from a group id, change "subscribe" value to false. Following server models are supported sensor_server, battery_server, onoff_server. 5. {"cmd":"set_node_mode","payload":{"uaddr":2,"mode":"dimmer","enable":true]}} This command will enable various modes from Strata UI such as dimmer, door, etc. for node address 0x0002. To disable the mode value of "enable" will be false. This command uses sensor setup server to send message. 6. {"cmd":"bind_appkey_model","payload":{"uaddr":2,"model":"light_hsl_server"}} This command would bind application key to light HSL Server model of node with address 0x0002. Following server models are supported light_hsl_setup_server, sensor_server, sensor_setup_server, battery_server, onoff_server, config_server. 7. {"cmd":"get_network_map","payload":{"format":1}} This command will show the network map. It will return with available node addresses, all the bound models for the particular nodes. If "ready" is 1, it implies the node is provisioned in the network. 6.5 Test and Verify Example Project with RSL10 Mesh App and Strata Developer Studio 1. 2. 3. 6.5.1 1. 2. 3. 4. Download "RSL10 Mesh" mobile app from Google Play. Open Strata Developer Studio and log in. Power up strata linked board on Gateway via USB cable. Configure Gateway Node in GATT Mode By default all the nodes and Gateway node power up in ADV mode. To switch it to GATT mode, reset strata link CPU twice and hold the reset button. Now press and hold DIO12 button (action button) on mesh board. Release reset button but hold the DIO12 button for couple of seconds. www.onsemi.com 19 STR-RSL10-MESH-KIT-GEVK User Guide Figure 21: Annotated Node Board 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 6.5.2 1. 2. 3. 4. 5. 6.5.3 LEDs on the Gateway node will stay BLUE until the node is provisioned with mobile app. Meanwhile, Strata Developer Studio will detect the board and open control view for mesh platform. You can observe Node Communications on it. Open the RSL10 Mesh mobile app and select "Add new device". Select ON-SEMI-GATEWAY once detected in the scan. Select "Identify" and then followed by "Provision". You will see the "Provisioning log". Once provisioning is complete, LEDs will go GREEN. Select "CONFIGURE NOW". Select "Add App Key" followed by "Select AppKey" from the list. Open list of models under "Element Details" from the drop-down. Select a model from the list for example "Light HSL Client". Now bind App key the model by selecting "+" sign. Follow the step 12 for all the models in the list. Select "Add Feature" and enable "Proxy". This step only needs to be done for Gateway node. Now go back to "My Network" => "Devices", you should see ON-SEMI-GATEWAY under configured nodes. Select vertical 3 dots menu located next to the ON-SEMI-GATEWAY label. Select "Mesh Control", this will open controls for the model. Currently only Light HSL Server model is supported. Changing the sliders for Hue, Saturation and Lightness will reflect the color on the LEDs. Configure a Node in GATT Mode Follow same steps as Gateway Node to switch to GATT mode. In RSL10 Mesh mobile app, select blue colored "+" sign to add new device. Select ON-SEMI-SERV-NODE once detected in the scan. Follow same steps as Gateway node except step 17. Once the node is provisioned, the LEDs will change color. Reset Network in GATT Mode Go back to "My Network" => select "Settings" in top right corner => select "RESET PROVISIONER". This will clear all the nodes in network shown in the app. You can now start over with a new network. 6.5.4 1. 2. Control Nodes with Strata Developer Studio In Strata Developer Studio => Basic Tab => Signal Strength, click on RSSI/Signal Strength button on the bottom of the UI. This will detect all the nodes available in the network which were set up over mobile app earlier. www.onsemi.com 20 STR-RSL10-MESH-KIT-GEVK User Guide 6.6 Test and Verify Example Project without Strata Developer Studio 1. 2. 3. 4. 5. Remove strata-linked board from Gateway node board. Recompile the example project with following changes: a. Open "EM_platform.h" from strata_ble_mesh_node project ethermind/platforms/rsl10/EM_platform.h b. Define RSL10_DBG variable to be DBG_UART instead of DBG_SPI. c. This will enable UART on GPIO 6 and 7 as RX and TX respectively. Compile and flash the project onto the board. Use any USB to TTL UART RS232 Serial Port Converter available in the market and attach RX, TX, GND pins on the strata header J4 pins 11, 13, 2 respectively. Open a serial terminal program such as PuTTY, TeraTerm, CoolTerm,etc. at 115200 baud rate and you can see all the communication on the terminal. NOTE: You will not be able to send JSON commands over this interface as they are decoded in the strata-linked firmware. www.onsemi.com 21 STR-RSL10-MESH-KIT-GEVK User Guide ON Semiconductor and the ON Semiconductor logo are trademarks of Semiconductor Components Industries, LLC dba ON Semiconductor or its subsidiaries in the United States and/or other countries. ON Semiconductor owns the rights to a number of patents, trademarks, copyrights, trade secrets, and other intellectual property. A listing of ON Semiconductor's product/patent coverage may be accessed at www.onsemi.com/site/pdf/Patent-Marking.pdf. ON Semiconductor is an Equal Opportunity/Affirmative Action Employer. This literature is subject to all applicable copyright laws and is not for resale in any manner. The evaluation board/kit (research and development board/kit) (hereinafter the "board") is not a finished product and is as s uch not available for sale to consumers. The board is only intended for research, development, demonstration and evaluation purposes and should as such only be used in laboratory/development areas by persons with an engineering/technical training and familiar with the risks associated with handling electrical/mechanical components, systems and subsystems. This person assumes full responsibility/liability for proper and safe handling. Any other use, resale or redistribution for any other purpose is strictly prohibited. The board is delivered "AS IS" and without warranty of any kind including, but not limited to, that the board is production-worthy, that the functions contained in the board will m eet your requirements, or that the operation of the board will be uninterrupted or error free. ON Semiconductor expressly disclaims all warranties, express, implied or otherwise, including without limitation, warranties of fitness for a particular purpose and non-infringement of intellectual property rights. ON Semiconductor reserves the right to make changes without further notice to any board. You are responsible for determining whether the board will be suitable for your intended use or application or will achieve your intended results. Prior to using or distributing any systems that have been evaluated, designed or tested using the board, you agree to test and validate your design to confirm the functionality for your application. Any technical, applicati ons or design information or advice, quality characterization, reliability data or other services provided by ON Semiconductor shall not constitute any representation or warranty by ON Semiconductor, and no additional obligations or liabilities shall arise from ON Semiconductor having provided such information or services. The boards are not designed, intended, or authorized for use in life support systems, or any FDA Class 3 medical devices or medical devices with a similar or equivalent classification in a foreign jurisdiction, or any devices intended for implantation in the human body. Should you purchase or use the board for any such unintended or unauthorized application, you shal l indemnify and hold ON Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that ON Semiconductor was negligent regarding the design or manufacture of the board. This evaluation board/kit does not fall within the scope of the European Union directives regarding electromagnetic compatibility, restricted substances (RoHS), recycling (WEEE), FCC, CE or UL, and may not meet the technical requirements of these or other related directives. FCC WARNING - This evaluation board/kit is intended for use for engineering development, demonstration, or evaluation purposes only and is not considered by ON Semiconductor to be a finished end product fit for general consumer use. It may generate, use, or radiate radio frequency energy and has not been tested for compliance with the limits of computing devices pursuant to part 15 of FCC rules, which are designed to provide reasonable protection against radio frequency interference. Operation of this equipment may cause interference with radio communicati ons, in which case the user shall be responsible, at its expense, to take whatever measures may be required to correct this interference. ON Semiconductor does not convey any license under its patent rights nor the rights of others. LIMITATIONS OF LIABILITY: ON Semiconductor shall not be liable for any special, consequential, incidental, indirect or puniti ve damages, including, but not limited to the costs of requalification, delay, loss of profits or goodwill, arising out of or in connection with the board, even if ON Semiconductor is advised of th e possibility of such damages. In no event shall ON Semiconductor's aggregate liability from any obligation arising out of or in connection with the board, under any theory of liability, exceed the purchase price paid for the board, if any. PUBLICATION ORDERING INFORMATION LITERATURE FULLFILLMENT: N. American Technical Support: Literature Distribution Center for ON Semiconductor 19521 E. 32nd Pkwy, Aurora, Colorado 80011 USA 800-282-9855 Toll Free USA/Canada ON Semiconductor Website: https://www.onsemi.com/ Order Literature: Phone: 303-675-2175 or 800-344-3860 Toll Free USA/Canada Europe, Middle East and Africa Technical Support: https://www.onsemi.com/orderlit Phone: 421 33 790 2910 Fax: 303-675-2176 or 800-344-3867 Toll Free USA/Canada For additional information, please contact your local Sales Representative Email: orderlit@onsemi.com www.onsemi.com 22