Implement a secure ICS protocol targeting LoRa Node151 microcontroller for controlling irrigation.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 
John-Mark Gurney 52316ea2cc add an include guard... 2 роки тому
loramac add pin description, and use the analog pin to provide randomness.. 3 роки тому
mk get the basic rs485 to cdc gateway working... 2 роки тому
rs485hid get the basic rs485 to cdc gateway working... 2 роки тому
stm32 add adc and flash HAL files, delete customhid, as it won't be used.. 2 роки тому
strobe add the start of the C version for the uC... 3 роки тому
.gitignore ignore my standard venv dir name.. 2 роки тому
EXCLUDEST.txt add warning about the license excluding use by ST. 2 роки тому
LICENSE.txt add warning about the license excluding use by ST. 2 роки тому
LORA-IRR.md break up the README to an overview and the parts.. 2 роки тому
Makefile move more into mu.progs.mk, reorder depends.. 2 роки тому
NOTES.md add info on how to debug irq handler issues.. 2 роки тому
PROTOCOL.md mention the specific curve/dh used.. 2 роки тому
README.md get the basic rs485 to cdc gateway working... 2 роки тому
RS485HID.md get the basic rs485 to cdc gateway working... 2 роки тому
arch.getxt add some diagrams, and the infrastructure to make them... 3 роки тому
board-config.h get tx/rx working between two Node151's.. 3 роки тому
board.c missed setting up routing for the analog pin.. 3 роки тому
box.sh add some diagrams, and the infrastructure to make them... 3 роки тому
comms.c implement the C (responder) side of ecdhe... 2 роки тому
comms.h add an include guard... 2 роки тому
conns.getxt add some diagrams, and the infrastructure to make them... 3 роки тому
hal_generic.c use SYSINIT and break things out/make more generic and modular... 2 роки тому
irr_main.c forgot to fix this to compile w/ new api 2 роки тому
linker_set.h add framework to get things started... 2 роки тому
lora.py s/liblora/libsyote/ s/lora_comms/syote_comms/ 2 роки тому
loraserv.py make sure we don't buffer the serial port, we need the packets to 3 роки тому
main.c use funopen/stdio to buffer output, "fix" for FreeBSD... 2 роки тому
misc.c use funopen/stdio to buffer output, "fix" for FreeBSD... 2 роки тому
misc.h add memory debug buffer.. Fix FreeBSD by adding a delay.. 2 роки тому
multicast.py drop debug print 2 роки тому
requirements.txt add the required python packages.. 3 роки тому
si_usb.c get the basic rs485 to cdc gateway working... 2 роки тому
si_usb.h add wrapper, si_usb.h, clean up si_usb a little, and use wrapper 2 роки тому
strobe_rng_init.c use sbrk(0) instead of end to get the uninitalized memory... 3 роки тому
strobe_rng_init.h add support for saving PRNG state to EEPROM... 3 роки тому
syote_comms.py s/liblora/libsyote/ s/lora_comms/syote_comms/ 2 роки тому
sysIrqHandlers.h get tx/rx working between two Node151's.. 3 роки тому
sysinit.c add framework to get things started... 2 роки тому
sysinit.h make compile w/o other header pollution.. 2 роки тому
util.py forgot to add the copyright for this file.. 3 роки тому
util_load.py change the default to be func.. 3 роки тому

README.md

Syote: Secure IoT

This project started off as a project to control an irrigation system via a LoRa radio, but the core architecture of the communication and security can easily be reused for other projects.

The projects that make use of the core protocol are included in this repo to make development easier for now, but if/when the project gets large enough, they will be broken out into their own repositories.

Projects

LoRa Irrigation: Control over LoRa radio.

RS-485 USB HID KVM: USB Keyboard over RS-485

File Layout

Note that things are a mess as they stand right now. The first project was based upon the SemTech reference code which implemented their own HAL on top of ST’s HAL which is partly implemented on top of ARM’s HAL, and in some cases bypasses them. It was also originally written not expecting to be used for another board.

loramac/ - SemTech reference code. Has reference code for LoRa and the Node151 based board. mk/ - Files supporting the build infrastructure. rs485hid/ - Files relating to the RS-485 HID project stm32/ - This is the HAL for ST based parts. It comtains the ARM CMSIS HAL as well, for the parts the ST chose to use. strobe/ - Crypto code that form the basis of the protocol.

Options

Default on: STROBE - This contains all the cryptography parts. SYSINIT - This contains the initalization frmae work, similar to FreeBSD.

Default off: NODE151 - Code necessary for the Heltech Node151 module. RS485FRAME - Code implementing framing tx/rx over RS-485. STM32F103 - Code for a STM32F103 based board. SX1276 - Code necessary for the LoRa Radio. USB_CDC - Code for implementing a USB CDC Endpoint.