This is code is part of a Technion course project in advanced IoT, implementing a device to receive and present sensors data from a Formula racing car built by students at Technion - Israel Institute of Technology.

Dependencies:   mbed Buffer

Fork of DISCO-L072CZ-LRWAN1_LoRa_PingPong by ST

This is code is part of a Technion course project in advanced IoT, implementing a device to receive sensors data from another L072CZ-LRWAN1 installed on a Formula racing car (built by students at Technion - Israel Institute of Technology), and sends it to a GUI presenting the data (GUI project: github.com/ward-mattar/TechnionFormulaGUI).

How to install

  • Create an account on Mbed: https://os.mbed.com/account/signup/
  • Import project into Compiler
  • In the Program Workspace select "Formula_Nucleo_Receiver"
  • Select a Platform like so:
  1. Click button at top-left
  2. Add Board
  3. Search "NUCLEO F103RB" and then "Add to your Mbed Compiler"
  • Finally click "Compile", if the build was successful, the binary would download automatically
  • To install it on device simply plug it in to a PC, open device drive and drag then drop binary file in it
Committer:
wardm
Date:
Sat May 19 15:42:38 2018 +0000
Revision:
12:046346a16ff4
V1.0.0

Who changed what in which revision?

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