Contributions logicielles au projet RIOT OS pour le New Space
Le but de ce projet est de réaliser, de tester et de contribuer des implémentations open-source pour le projet RIOT OS qui est un système d'exploitation open-source
Outils et langages : C, Make, Eclipse CDT, Visual Studio, Carte STM32 Nucleo et ESP32.
ThingSat
- ThingSat Updates
- SUIT over LoRa - Only send diff: https://github.com/jue89/tiny-vcdiff - Compresssed payloads:
- ThingSat firmware backups:
- Memory Technology Devices - Fatfs
Update Semtech LoRaMAC Node Package
RIOT supports LoRaWAN through a in the house stack [GNRC LoRaWAN] and through the [Semtech LoRaMAC] package. The later is stuck on version V4.4.1 which implements the LoRaWAN specification 1.0.2. Since then 1.1 and 1.0.4 have been releaced, including among others security updates.
RIOT current support for [Semtech LoRaMAC] package will be the starting point, updatting the package to version > V4.7.0. It can be decoupled into two stages:
- Bump [Semtech LoRaMAC] to support the LoRaWAN 1.0.4 specification - Add support for the LoRaWAN 1.1 specification - Explore and add support for FUOTA, a good starting point are Semtech Loramac examples:
- https://github.com/Lora-net/LoRaMac-node/tree/master/src/apps/LoRaMac/fuota-test-01
- Add lib for [LoRaWAN App Clock Sync](https://lora-alliance.org/resource_hub/lorawan-application-layer-clock-synchronization-specification-v1-0-0/) - Add lib for LoRaWAN utilities (OTAA incremental procedure, Blind ADR ...) - Add driver for SX1302 - Add Semtech UDP Packet Forwarder (for SX1302) : requires mainly a JSON parser lib.
Participe in an OpenSource Project
- Bug fixing, see [issues](https://github.com/RIOT-OS/RIOT/issues) - Update / extend existing support for inference libraries on RIOT
- Add driver support: - [ ] [GNSS modules](https://github.com/RIOT-OS/RIOT/issues/17253) - [ ] [MPR121 Touch Sensor](https://github.com/RIOT-OS/RIOT/issues/17249) - [ ] [A3G425OD digital gyroscope and temperature sensor](https://github.com/RIOT-OS/RIOT/issues/17058) - [ ] [STTS751 temperature sensor](https://github.com/RIOT-OS/RIOT/issues/17054) - [ ] [LSM6DS3 6-Axis Accelerometer&Gyroscope](https://github.com/RIOT-OS/RIOT/issues/17053) - Add modules: - TLE ([Two-Line Element](https://en.wikipedia.org/wiki/Two-line_element_set) for satellite tracking and visibility window prediction for transmission) - [LibCSP](https://github.com/libcsp/libcsp) (CubeSat Protocol) over CAN Bus - LibCSP utilities - Add developement BOARD support: - [ ] [Wio Terminal](https://www.google.com/search?channel=fs&client=ubuntu&q=seeedstudio+wio+terminal) - etc ...
SenML, SAUL, MQTT Integrations
The IoT, previously known as WSN (wireless sensor network) still finds many use cases in sensors networks. These usecases share a common base: need to convey a value, information of when/where the value was taken, and what that value corresponds too. Standarizing the way this is done, and doing so in a simple exntensible fashion has been done through [SenML](). SenML is defined by a data model for measurements and simple metadata about measurements and devices. It has recently been integrated into RIOT with a simple example using [SAUL](https://api.riot-os.org/group__drivers__saul.html), RIOTs sensors and actuators abstraction layer.
Popular communication protocols used in IoT include MQTT and COAP, RIOT supports both of them offering often multiple implementations. What's missing is a module integrating SAUL, SenML and different IoT communication protocols in such a way that setting up a IoT sensing application in a standarized way.
- [paho-mqtt](https://github.com/RIOT-OS/RIOT/tree/master/examples/paho-mqtt) - [SenML](https://github.com/RIOT-OS/RIOT/pull/16384) - [SAUL](https://api.riot-os.org/group__drivers__saul.html) - [COAP] - [pyaiot](https://github.com/pyaiot/pyaiot)
- [Semtech LoRaMAC]: https://github.com/Lora-net/LoRaMac-node
- [GNRC LoRaWAN]: https://api.riot-os.org/group__net__gnrc__lorawan.html