====== Introduction to LoRa features ====== {{ :images:loratopology.png?600 |}} ===== How is the data from an end-device transmitted to a LoRa Network Server (LNS) ===== The classical communication case is: * A LoRa end-device emits a packet and opens a short reception window after the emission.\\ * The gateway uses its LoRa specific hardware to receive the RF packet.\\ * A program installed on the gateway named "packet forwarder" retrieves the packet and forwards it to the LNS.\\ * The LNS analyses the packet and stores it.\\ * If the LNS decides to reply to this packet, it sends the answer back to the packet forwarder.\\ * The packet forwarder uses the hardware of the gateway to send the frame (during the reception window).\\ * The end-device receives the packet.\\ ===== LoRaWan protocol ===== The protocol used by the end-device, the gateway and the LNS is the LoRaWAN protocol. You will find a presentation, a technical introduction, and the detailed specification on the [[https://www.lora-alliance.org/what-is-lora|official website]]. ===== LoRa specific hardware ===== The LoRa specific hardware differs from one type of gateway to another. It defines the capabilities of the gateways such as the number of channels, the diversity, the sensitivity, maximal conducted output power (especially for the Wirnet™ iFemtocell-evolution). ... ^ Gateway type ^ Conducted output power range ^ ^ Wirnet iBTS | 0dBm to +30dBm | ^ Wirnet iFemtoCell | 0dBm to +27dBm | ^ Wirnet iStation | 0dBm to +27dBm | ^ Wirnet iFemtoCell-evolution | 0dBm to +24dBm (see [[wiki:ifemtocell-e:installation_ifevo|installation recommendations]]) | ^ Wirnet iZeptoCell Ethernet | 5dBm to +27dBm | ++++ Wirnet iBTS | {{ :images:iBTS LoRa hardware architecture_v1.1.png?800 |}} Wirnet iBTS gateways are composed of multiple boards. The LoRaLOC boards are responsible for the management of LoRa packets. Depending on the Wirnet iBTS hardware versions, up to 4 LoRaLOC boards can be integrated into the gateway. Each LoRaLOC board is composed of: * 1 frontend * 1 AD9361 * 2 SX1301 * 1 FPGA * 1 SX1239 Each SX1301 is capable of demodulating 8x multiSF LoRa bands (125KHz bandwidth only), 1x monoSF LoRa band (125, 250 or 500KHz bandwidth) and 1x FSK band. Since there are 2x SX1301 in each LoRaLOC, a LoRaLOC can use up to 16x multiSF LoRa bands. Each frontend has 2x SMB antennas ports. The use of both SX1301 can be achieved with only one antenna. Actually, using 2 antennas is only useful to cover a wider area. For example, two directional antennas could be used from the same place or two omnidirectional antennas could be used from different places. Each LoRaLoc is calibrated on a testbench. The result of the calibration process is copied at each startup in the ''/tmp/calib_loraloc.json'' file. ++++ ++++ Wirnet iFemtoCell | {{ :images:ifemtocell_lora_hardware_architecture_v1.0.png?800 |}} Wirnet iFemtoCell is composed of: * 1 frontend * 2 SX1257 * 1 SX1301 * 1 FPGA * 1 SX1239 The SX1301 is capable of demodulating 8x multiSF LoRa bands (125KHz bandwidth only), 1x monoSF LoRa band (125, 250 or 500KHz bandwidth) and 1x FSK band. Wirnet iFemtoCell is calibrated on a testbench. The result of the calibration process is copied at each startup in the ''/tmp/calib_loraloc.json'' file. ++++ ++++ Wirnet iStation and iFemtoCell-evolution| {{ :images:istation_lora_hardware_architecture_v1.0.png?800 |}} Wirnet ​iStation and Wirnet iFemtoCell-evolution ​are composed of: * 1 frontend * 2 SX1257 * 1 SX1301 * 1 FPGA * 1 SX1272 The SX1301 is capable of demodulating 8x multiSF LoRa bands (125KHz bandwidth only), 1x monoSF LoRa band (125, 250 or 500KHz bandwidth) and 1x FSK band. Wirnet ​iStation ​and iFemtoCell-evolution ​are calibrated on a testbench. The result of the calibration process is copied at each startup in the ''/​tmp/​calib_rf.json''​ file. ++++ ++++ Wirnet iZeptoCell| {{ :images:izeptocell_lora_schema.png?800 | }} Wirnet iZeptoCell are composed of: * 1 front-end module (SKY66420) * 2 transceivers (SX1250) * 1 lora demodulator (SX1302) The SX1302 is capable of demodulating 8x multiSF LoRa bands (125KHz bandwidth only), 1x monoSF LoRa band (250 or 500KHz bandwidth) and 1x FSK band. ++++ ===== FPGA/HAL ===== LoRa specific hardware of the gateways is driven by an FPGA. Firmware of this FPGA is regularly updated by Semtech to improve its performances, to add new features and to correct bugs. A static library written in C named HAL (Hardware Abstraction Layer) comes alongside each update. For almost all users, the use of the FPGA and of the HAL is transparent. Kerlinks provides a CPF (see next paragraph) that takes care of the FPGA update and integrates the HAL. For the other users, the HAL source code is provided by Kerlink in the //"lorad"// source code. ===== Kerlink Common Packet Forwarder (CPF) ===== The CPF is a set of two daemons (working together) used to send the packets received from the end-devices to the LNS and vice-versa, hence its name. The CPF is the main program of a LoRa gateway. It has to be installed and configured to implement a LoRaWAN network. This CPF implements "GWMP" protocol to transmit packets to LNS. More details about how to install/configure the CPF [[wiki:lora:cpf|here]]. ===== Kerlink Basic Station Packet Forwarder (BSPF) ===== The BSPF implements [[https://lora-developers.semtech.com/build/software/lora-basics/lora-basics-for-gateways/|Lora Basics Station principle]]. It allows CUPS or LNS connections to various compatible services (AWS, Chirpstack, ...) More details about how to install/configure the BSPF [[basic_station_forwarder|here]]. ===== Regulation ===== Each country has different regulation about RF transmission. Since this is the LNS that schedules the LoRa packets and chooses the RF power used by the gateways, make sure that your LNS configuration fits with your country regulation. LNS does not handle the LBT feature (Listen Before Talk). A few countries (Japan and Korea) requires it. This feature is directly activated in the packet forwarder configuration.