Implement a secure ICS protocol targeting LoRa Node151 microcontroller for controlling irrigation.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 
John-Mark Gurney f41ced6f53 Merge commit 'fa9a60a10f9b2c0c650b502c98ba648767289bad' 1 год назад
board convert the irrigation project to sysinits... 2 лет назад
loramac add pin description, and use the analog pin to provide randomness.. 3 лет назад
mk convert the irrigation project to sysinits... 2 лет назад
rs485hid convert the irrigation project to sysinits... 2 лет назад
stm32 rename var to prevent collision 1 год назад
strobe Merge commit 'fa9a60a10f9b2c0c650b502c98ba648767289bad' 1 год назад
.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 лет назад
LINKS.md add some useful reference links.. 2 лет назад
LORA-IRR.md comment which pins for programming to save me looking at the pdf.. 2 лет назад
Makefile now that we require obj dir, we need to cd into CURDIR for these commands.. 1 год назад
NOTES.md add info on how to debug irq handler issues.. 2 лет назад
PROTOCOL.md mention the specific curve/dh used.. 2 лет назад
README.md describe board directory.. 2 лет назад
RS485HID.md fix misspelling of by 1 год назад
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 convert the irrigation project to sysinits... 2 лет назад
box.sh add some diagrams, and the infrastructure to make them... 3 лет назад
comms.c if the pending session returns a packet, use it, might be first of neg 2 лет назад
comms.h add an include guard... 2 лет назад
conns.getxt add some diagrams, and the infrastructure to make them... 3 лет назад
dummy.py add tests for python version round trip... and minor fix for seeding 1 год назад
hal_generic.c switch to main.h so it pulls in the correct hal headers.. 2 лет назад
irr_main.c convert the irrigation project to sysinits... 2 лет назад
linker_set.h add framework to get things started... 2 лет назад
lora.py add test for pk version of the commands... 1 год назад
loraserv.py clean up test output, and verify that the error message is correct.. 1 год назад
main.c convert the irrigation project to sysinits... 2 лет назад
misc.c wrap debugpos when at end of buffer.. 2 лет назад
misc.h add memory debug buffer.. Fix FreeBSD by adding a delay.. 2 лет назад
multicast.py drop debug print 2 лет назад
requirements.txt big drop adding the USB HID part of this project... 2 лет назад
si_usb.c make generic, but turns out unneeded on NODE151.. 2 лет назад
si_usb.h add wrapper, si_usb.h, clean up si_usb a little, and use wrapper 2 лет назад
strobe_rng_init.h big drop adding the USB HID part of this project... 2 лет назад
syote_comms.py support generating a private/public key pair by running this... 1 год назад
sysIrqHandlers.h get tx/rx working between two Node151's.. 3 лет назад
sysinit.c convert the irrigation project to sysinits... 2 лет назад
sysinit.h add USB, add proper _LAST, and verify range, support void functions 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.

board/ - Board specific code 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.