LoRa gateway to link to Raspberry - Working ok

Fork of SX1276GenericLib by Helmut Tschemernjak

Committer:
Helmut Tschemernjak
Date:
Thu May 11 10:11:13 2017 +0200
Revision:
46:e78a1d0391ac
Child:
47:ec1183094b71
Updated LoRa_TODO.txt
Added template code to the Arduino HAL files
Change DigitalInOut to DigitalOut for the antenna switch
Added README.md file

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut Tschemernjak 46:e78a1d0391ac 1 # SX1276Generic Driver
Helmut Tschemernjak 46:e78a1d0391ac 2 /*
Helmut Tschemernjak 46:e78a1d0391ac 3 * (c) 2017 Helmut Tschemernjak (Helmut64 on mbed).
Helmut Tschemernjak 46:e78a1d0391ac 4 * 30826 Garbsen (Hannover) Germany
Helmut Tschemernjak 46:e78a1d0391ac 5 */
Helmut Tschemernjak 46:e78a1d0391ac 6
Helmut Tschemernjak 46:e78a1d0391ac 7 This library represents a common SX1276 module driver supporting SX1276 based modules. The approach is to support multiple OS versions including mbed, Arduino and Linux using the same driver code and little adjustments for the different OS version. The SX1276 driver is based on the Semtech 1276 code which can be seen in the revisions of this library repository.
Helmut Tschemernjak 46:e78a1d0391ac 8
Helmut Tschemernjak 46:e78a1d0391ac 9 ## Supported LoRa Modules
Helmut Tschemernjak 46:e78a1d0391ac 10
Helmut Tschemernjak 46:e78a1d0391ac 11 The following Lora modules are supported:
Helmut Tschemernjak 46:e78a1d0391ac 12 - HopeRF RFM95
Helmut Tschemernjak 46:e78a1d0391ac 13 - Murata MURATA_SX1276 (CMWX1ZZABZ-078, used the STM B_L072Z_LRWAN1 board)
Helmut Tschemernjak 46:e78a1d0391ac 14 - SX1276MB1MAS (433, 868 MHz version)
Helmut Tschemernjak 46:e78a1d0391ac 15 - SX1276MB1LAS (433, 915 MHz version)
Helmut Tschemernjak 46:e78a1d0391ac 16
Helmut Tschemernjak 46:e78a1d0391ac 17 ## Getting Started for Developers
Helmut Tschemernjak 46:e78a1d0391ac 18 Import the mbed sample project:
Helmut Tschemernjak 46:e78a1d0391ac 19 http://developer.mbed.org/users/Helmut64/code/STM32L0_LoRa
Helmut Tschemernjak 46:e78a1d0391ac 20 - It includes a PingPong sample code
Helmut Tschemernjak 46:e78a1d0391ac 21 - It includes a PinMap.h which allows to define the LoRa SPI,
Helmut Tschemernjak 46:e78a1d0391ac 22 DIO interrupt, reset and antenna pins.
Helmut Tschemernjak 46:e78a1d0391ac 23 The STM32L0_LoRa is a turnkey sample application for the STM B_L072Z_LRWAN1, however it will work with all other mbed based boards by adjusting the PinMap.h
Helmut Tschemernjak 46:e78a1d0391ac 24
Helmut Tschemernjak 46:e78a1d0391ac 25 ## Developers help needed
Helmut Tschemernjak 46:e78a1d0391ac 26 A list of tasks is documented in the file: LoRa_TODO.txt
Helmut Tschemernjak 46:e78a1d0391ac 27 I (Helmut Tschemernjak) spend a very significant time to complete the initial version of the SX1276Generic packet driver. Enhancements, further module support and tuning is more than welcome. Please send me your patches via mbed. Also questions can be submitted in the mbed “Questions” area or a personal message via mbed.
Helmut Tschemernjak 46:e78a1d0391ac 28
Helmut Tschemernjak 46:e78a1d0391ac 29 ## Future developments
Helmut Tschemernjak 46:e78a1d0391ac 30 I work in a advanced private protocol using basic LoRa modules to communicate between simple nodes (battery powered) and stations (permanent power). The station should support thousands of nodes running on an Linux based OS using this 1276Generic driver or the LoRa concentrator module. The station should also work on mbed or Arduino assuming sufficient memory is provided. I believe there is an opportunity to do a better protocol compared to the official LoRa protocol which requires an Concentrator, a LoRa server and an application server. The idea is to over only efficient, reliable and secure communication between the nodes and the stations. Further forwarding to MQTT and other network services can be handled separately on the station.
Helmut Tschemernjak 46:e78a1d0391ac 31
Helmut Tschemernjak 46:e78a1d0391ac 32