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.
Fork of DISCO-L072CZ-LRWAN1_LoRa_PingPong by
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:
- Click button at top-left
- Add Board
- 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
SX1276GenericLib/README.md
- Committer:
- wardm
- Date:
- 2018-05-19
- Revision:
- 12:046346a16ff4
File content as of revision 12:046346a16ff4:
# SX1276Generic Driver /* * (c) 2017 Helmut Tschemernjak (Helmut64 on mbed). * 30826 Garbsen (Hannover) Germany */ 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. ## Supported LoRa Modules The following Lora modules are supported: - HopeRF RFM95 - Murata MURATA_SX1276 (CMWX1ZZABZ-078, used the STM B_L072Z_LRWAN1 board) - SX1276MB1MAS (433, 868 MHz version) - SX1276MB1LAS (433, 915 MHz version) ## Getting Started for Developers Import the mbed sample project: http://developer.mbed.org/users/Helmut64/code/STM32L0_LoRa - It includes a PingPong sample code - It includes a PinMap.h which allows to define the LoRa SPI, DIO interrupt, reset and antenna pins. 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 ## Developers help needed A list of tasks is documented in the file: LoRa_TODO.txt 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. ## Future developments 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.