Service Web d'équipements embarqués communicant sur bus CAN


 * Projet INFO4 S8 2020-2021
 * Encadrant: Didier DONSEZ.
 * 2 groupes de 2 élèves

Les bus CAN sont des bus (dit de terrain) de communication entre des équipements embarqués. Ils sont très largement utilisés dans l'industrie automobile, l'avionique, les satellites, les ascenseurs ...

L'objectif du projet sera de réaliser un service web pour piloter et pour observer des équipements connectés par un bus CAN.

Ce service sera réalisé en 2 étapes
 * Etape 1 : au moyen d'un canevas Web Python (supportant les websockets) sur Linux (x86 ou RPI).
 * Etape 2 : au moyen d'un service Web embarqué (supportant les websockets) sur RIOT OS sur une carte Nucleo Nucleo-F767ZI ou Nucleo-F722ZI, STM32H757I-EVAL and STM32F769I-EVAL.

La première démonstration (prioritaire) se fera sur la maquette d'ascenseur du département GEII de l'IUT1 de Grenoble.

La seconde démonstration se fera sur le bus CAN de votre véhicule pour visualiser les différents paramètres de celui-ci (vitesse, rpm moteur, consommation carburant, ...)

Les équipements à votre disposition seront des cartes driver CAN (STM L9616, NXP TJA1042, MCP2515, MCP2551), un dongle USB CAN https://ucandevices.github.io/uccb.html et d'un connecteur OBD II.

Un des premières taches sera le portage du civetweb sur RIOT OS sous la forme d'un package.

Ce projet sera réalisé en collaboration avec un groupe de 3 élèves IESE.

Cartes

 * https://www.seeedstudio.com/blog/2019/11/27/introduction-to-can-bus-and-how-to-use-it-with-arduino/
 * https://www.seeedstudio.com/CAN-BUS-Shield-V2.html
 * https://fr.aliexpress.com/item/32647794351.html
 * https://www.seeedstudio.com/OBD-II-CAN-BUS-Development-Kit-p-2993.html
 * https://www.st.com/en/evaluation-tools/nucleo-f722ze.html
 * https://www.st.com/en/evaluation-tools/nucleo-f767zi.html

Logiciels

 * https://elinux.org/Can-utils
 * http://riot-os.org/files/RIOT-Summit-2017-slides/6-1-Network-Session-OTAkeys-CAN.pdf
 * https://doc.riot-os.org/group__drivers__can.html
 * https://github.com/AlSeel/can-obd