LR IoT Click Board
LR IoT Click Board
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
- Based on the LR1110 - long-range, ultra-low power transceiver from the Semtech Corporation
- Can be used for asset location, traceability, loss and theft prevention, asset recovery, and inventory management
- mikroBUS: SPI Interface
The LR IoT Click Board™ is a compact add-on board that contains a long-range transceiver. This board features Semtech Corporation’s LR1110, an ultra-low power platform integrating a LoRa® transceiver, multi-constellation GNSS, and passive WiFi AP MAC address scanner. Alongside its sub-GHz capabilities, the LR1110 also has a multi-band front-end capable of receiving 802.11b/g/n WiFi Access Point MAC addresses and GNSS (GPS, BeiDou, geostationary) satellite raw data befitting geo-positioning purposes. The acquired information is then transmitted using an LPWAN network to a geolocation server, which analyzes it and correlates the position with data from a geolocation database, enabling a unique balance between low power and performance. This Click board™ is highly configurable to meet different application requirements utilizing the global LoRaWAN® standard or proprietary protocols, targeting geolocation applications.
The LR IoT Click Board™ is supported by a mikroSDK-compliant library, which includes functions that simplify software development. This Click board™ comes as a thoroughly tested product, ready to be used on a system equipped with the mikroBUS™ socket.
Software Support
We provide a library for the LR IoT Click Board™ as well as a demo application (example), developed using MikroE compilers. The demo can run on all the main MikroE development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager(recommended), downloaded from our LibStock™ or found on MikroE Github account.
Library Description
This library contains API for the LR IoT Click Board™ 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™ 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 The 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 Information
Depending on the development board you are using, you may need USB UART Click Board™, 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
The LR IoT 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.
LR IoT Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.