This is code is part of a Technion course project in advanced IoT, implementing a device to read and transmit 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 read and transmit sensors data from a Formula racing car built by students at Technion - Israel Institute of Technology.

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_Reader"
  • Select a Platform like so:
  1. Click button at top-left
  2. Add Board
  3. Search "B-L072Z-LRWAN1" 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 11:41:10 2018 +0000
Revision:
12:02d779e8c4f6
Code for Technion Formula car sensors reader transmit

Who changed what in which revision?

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