NOTE: LR IoT Click possesses the N.FL antenna connectors for connecting the appropriate antenna, offered by Mikroe, for improved range and received signal strength. Also, for the simplest possible implementation of SMA antennas on these types of connectors, the MMCX-SMA Cable from our offer is recommended.
How does it work?
LR IoT Click is based on the LR1110, a long-range, ultra-low power transceiver from Semtech Corporation designed to enhance LoRa®-based geolocation applications. This platform solution supports LoRa® and (G)FSK modulations for LPWAN use cases over the active 868/915MHz ISM band antenna, which Mikroe also offer. The LR1110 also features a low-power multi-band front-end that can acquire several signals of opportunity for geolocation purposes (802.11b/g/n WiFi AP MAC addresses, GNSS (GPS, BeiDou) satellites signals) and then transmit them using LPWAN network to a geolocation server, which computes the position of the object. This Click board™ is optimized for low-power applications requiring indoor and outdoor geolocation, such as asset location, traceability, loss and theft prevention, asset recovery, and inventory management.
The LR1110 uses three operating modes: WiFi passive scanning and two GNSS modes for outdoor geolocation, such as GNSS autonomous and assisted modes. With WiFi passive scanning, the LR1110 can discover the WiFi b/g/n access points available in the vicinity of the device and extract MAC addresses to geolocate them. The objective is to obtain at least 2 MAC addresses and position the device after being sent to an online WiFi lookup service. The WiFi passive scanning implemented in LR1110 can also extract the country code information of an access point contained in the beacon or probe response.
In addition to WiFi, there is also a fast and low-power GNSS scanner which, with an active GNSS antenna from our offer, captures a short portion of the signal broadcast by the GNSS satellites and extracts the information required to calculate the device position. This information is then aggregated into a NAV message which can be sent to a back-end system to compute the device position. As mentioned before, the GNSS scanner has two modes of operation: autonomous and assisted. In autonomous mode, which does not require any assistance data, the LR1110 searches and decodes the signal from the strong satellites for indoor/outdoor detection, while in the assisted mode, allows searching for all the visible satellites and also requires connectivity with the geolocation server for calculation of the device position.
This Click board™ communicates with an MCU through a standard SPI interface supporting the most common SPI mode, SPI Mode 0, with a maximum frequency of 16MHz. It also possesses an interrupt pin, routed to the INT pin of the mikroBUS™ socket, allowing the host MCU to react to special events in the LR1110 system without register-poll. A “BUSY” indicator, labeled as BSY and routed to the PWM pin of the mikroBUS™ socket, indicating that the internal MCU can’t receive any commands from the host MCU, and general reset function routed on the RST pin of the mikroBUS™ socket as well as on the onboard RESET button. It also uses two LED indicators labeled STAT1 and STAT2 for optional GNSS and WiFi network-activity status visual indications. Still, they can also be configured according to the wishes and needs of the user himself.
NOTE: Users can enrich its asset management application by combining this Click board™ and Semtech’s LoRa Edge™ Tracker platform, which efficiently processes information such as GNSS RAW data and WiFi MAC addresses. Thanks to the Quick Start Guide, all info from setting your device to final service connections is available free of charge.
This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used as a reference for further development.
Specifications
Type
LoRa
Applications
Can be used for asset location, traceability, loss and theft prevention, asset recovery, and inventory management
On-board modules
LR1110 – long-range, ultra-low power transceiver from Semtech Corporation
Key Features
Low power consumption, worldwide ISM bands support, high efficiency and sensitivity, multi-purpose radio front-end targeting geolocation purposes, SPI interface, interrupt and reset, and more
Interface
SPI
Feature
ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on LR IoT Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
LD2 | STAT2 | – | WiFi Status LED Indicator |
LD3 | STAT1 | – | GNSS Status LED Indicator |
T1 | Reset | – | Reset Button |
LR IoT Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Operating Frequency Range | 150 | – | 960 | MHz |
Software Support
We provide a library for the LR IoT Click as well as a demo application (example), developed using Mikroe compilers. The demo can run on all the main Mikroe development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for LR IoT Click driver.
Key functions
-
lriot_get_wifi_scan_results
This function performs a WiFi scanning and reads the results. -
lriot_get_gnss_scan_results
This function performs a GNSS scanning and reads the results. -
lriot_send_lora_message
This function sends a LoRa message to the receiver.
Example Description
This example demonstrates the use of the LR IoT click board by reading a GNSS and WiFi scanning results and displaying it on the USB UART. In the case of a tranceive firmware the communication between two devices over LoRa will be demonstrated as well.
void application_task ( void )
{
#if ( LRIOT_FIRMWARE_SELECTOR == LRIOT_TRANSCEIVE_FIRMWARE )
uint8_t lora_buffer[ LRIOT_LORA_PKT_PAYLOAD_LEN ] = { 0 };
#ifdef DEMO_APP_TRANSMITTER
lriot_gnss_scan_results_t gnss_results = { 0 };
lriot_wifi_scan_results_t wifi_results = { 0 };
uint8_t tmp_buf[ 30 ] = { 0 };
float temperature = 0;
if ( LRIOT_OK == lriot_get_gnss_scan_results ( &lriot, &gnss_results ) )
{
lriot_display_gnss_scan_results ( gnss_results );
}
memset( lora_buffer, 0, sizeof ( lora_buffer ) );
strcpy( lora_buffer, "Number of sattelites found is " );
uint16_to_str ( gnss_results.num_satellites, tmp_buf );
l_trim ( tmp_buf );
strcat( lora_buffer, tmp_buf );
if ( LRIOT_OK == lriot_send_lora_message ( &lriot, lora_buffer ) )
{
log_printf( &logger, "Send LoRa message - donern" );
}
if ( LRIOT_OK == lriot_get_wifi_scan_results ( &lriot, &wifi_results ) )
{
lriot_display_wifi_scan_results ( wifi_results );
}
memset( lora_buffer, 0, sizeof ( lora_buffer ) );
strcpy( lora_buffer, "Number of WiFi scan results is " );
uint16_to_str ( wifi_results.num_wifi_results, tmp_buf );
l_trim ( tmp_buf );
strcat( lora_buffer, tmp_buf );
if ( LRIOT_OK == lriot_send_lora_message ( &lriot, lora_buffer ) )
{
log_printf( &logger, "Send LoRa message - donern" );
}
log_printf ( &logger, "**************************************************************rn" );
if ( LRIOT_OK == lriot_get_temperature ( &lriot, &temperature ) )
{
log_printf ( &logger, "Temperature : %.2f degCrn", temperature );
}
memset( lora_buffer, 0, sizeof ( lora_buffer ) );
strcpy( lora_buffer, "My temperature is " );
float_to_str ( temperature, tmp_buf );
l_trim ( tmp_buf );
tmp_buf[ 5 ] = 0;
strcat( lora_buffer, tmp_buf );
strcat( lora_buffer, " degC" );
if ( LRIOT_OK == lriot_send_lora_message ( &lriot, lora_buffer ) )
{
log_printf( &logger, "Send LoRa message - donern" );
}
#else
lriot_lora_packet_status_t pkt_status;
if ( LRIOT_OK == lriot_read_lora_message ( &lriot, &pkt_status, lora_buffer ) )
{
log_printf ( &logger, "**************************************************************rn" );
log_printf ( &logger, "* RECEIVED LORA PACKET *rn" );
log_printf ( &logger, "**************************************************************rn" );
log_printf ( &logger, " RSSI : %d dBmrn", ( uint16_t ) pkt_status.rssi_pkt_in_dbm );
log_printf ( &logger, " Signal RSSI : %d dBmrn", ( uint16_t ) pkt_status.signal_rssi_pkt_in_dbm );
log_printf ( &logger, " SNR : %d dBrn", ( uint16_t ) pkt_status.snr_pkt_in_db );
log_printf ( &logger, " Message : "%s"rnn", lora_buffer );
}
#endif
#else
lriot_gnss_scan_results_t gnss_results = { 0 };
lriot_wifi_scan_results_t wifi_results = { 0 };
if ( LRIOT_OK == lriot_get_gnss_scan_results ( &lriot, &gnss_results ) )
{
lriot_display_gnss_scan_results ( gnss_results );
}
if ( LRIOT_OK == lriot_get_wifi_scan_results ( &lriot, &wifi_results ) )
{
lriot_display_wifi_scan_results ( wifi_results );
}
#endif
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.LRIoT
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all Mikroe compilers.
mikroSDK
This Click board™ is supported with mikroSDK – Mikroe Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.