To access the site you need to provide the user code and the password.

Enter the site

Nos serveurs IoT:

Nos plateformes IoT:
Pomme-Pi IoT DevKits
ESP32 IoT DevKit  et NanoPi IoT DevKit 

ESP32 IoT DevKit mini   et ESP32 IoT DevKit double 

ARM LoRaWAN IoT DevKit  et ESP32 microPython IoT DevKit 



Introduction

SmartComputerLab va bientôt fêter sa 6ème année d’activité. Notre mission initiale a été la maîtrise des architectures ARM et des SoC ARM. Cette mission est partiellement accomplie avec la création de plusieurs modules d’enseignement (M2) suivie de multiples projets techniques.

Les SoC ARM intègrent les processeurs 32/64 bits (Cortex-A7,A9,A15,A17 et Cortex-A53,A55,A72,A73).
Ces processeurs, souvent en multi-cœur, et un ensemble d’unités fonctionnelles telles que VPU, NEON, et MALI forment les SoC ARM.

Nos modules d’enseignement exploitent toutes ces fonctionnalités :
  1. internet et multi-media – VPU (traitement de vidéo)
  2. réseaux et IoT terminaux (ESP12/32), gateways, serveurs, LoRa, LoRaWAN, protocoles IoT, ..
  3. programmation parallèle (traitement de signal et d’image) sur  NEON, MALI, MCore,
  4. programmation massivement parallèle sur les GPU de Tegra X1/ Tegra Nano.
  5. AI et deep-learning TensorFlow-Keras, GPUs et TPUs - Nvidia, Kendryde
A noter que les SoC Tegra X1 sont utilisés dans les robots et les voitures autonomes pour les traitements nécessaires.
A notre connaissance, en France, ce type d’enseignement n’est pas encore disponible.

La deuxième mission est relative aux développements dans l’IoT. Dans ce cadre nous utilisons une approche orientée composants.
Les composants essentiels sont des mini-cartes avec SoC ARM et SoC ESP ; les autres composants sont des capteurs, des actuateurs et des modems radio.
Les SoC ESP conçus par Espressif Systems (Shanghai) et fabriques par TSMC par centaines de millions d’unités intègrent les processeurs Xtensa proposés par CADENCE sous la forme d’IP en Verilog configurable.
Cette forme d’IP a un potentiel d’évolution plus fort que les IP ARM.

Les SoC ESP (ESP12/ESP32) mono- et multi- cœur dominent déjà les architectures matérielles IoT grâce à leurs fonctionnalités très complètes et leur faible coût (€2-€5 selon le modèle).
Sur la base de cartes ESP32+LoRa intégrant les technologies WiFi, Bluetooth et ESP-NOW, nous avons développé des plateformes IoT DevKit complétées par de multiples mini-cartes d’extension pour accueillir des capteurs/actuateurs et modems radio supplémentaires.
A signaler que les SoC ESP32 fonctionnent sous le contrôle de FreeRTOS.
IoT DevKit (ESP32) est déjà exploité pour l’enseignement et est à la base de multiples projets techniques dans les technologies IoT de plusieurs formations de l’Université de Nantes. Pour l’instant, ce IoT DevKit n’est pas accessible aux autres universités. Dans le futur proche, nous espérons qu’il deviendra un «standard» pour l’enseignement et le développement des architectures IoT en France.

Plus récemment, nous avons proposé également un DevKit IoT (ARM) basé sur le composants NanoPi-Duo (H2+) et NanoPi-Duo2 (H3) développés à Beijing par FriendlyARM. Ce kit est de même format (carte de base+batterie LiPo) que le kit IoT DevKit (ESP). Certaines cartes d’extension sont interchangeables.
Les cartes NanoPi-Duo(2) sont les plus petits SBC avec les processeurs ARM multi-cœur disponibles sur le marché.

Les IoT DevKit (ESP/ARM) permettent de créer des terminaux intelligents et des passerelles IoT vers les serveurs IoT (FreeRTOS).
Pour les besoins pédagogiques et les projets techniques, nous disposons de deux types de serveurs IoT : ThingSpeak.fr et Thinger.fr accessibles gratuitement à nos étudiants et chercheurs.

La troisième mission est associée à la récente introduction des unités IA GPUs/TPUs
pour IA et deep-learning. Dans ce contexte, nous proposons les cours de deep-learning (TensorFloe-Keras) à et projets techniques dans le domaine de IA - edge computing et vidéo.


Internet et Multimedia (2020)

M1 - Partie 1 : Internet - Protocoles et Architectures
Computer Networks et programmation réseau avec API "socket"

Cette partie du module inclue une présentation - cours en vidéo et les laboratoires de programmation avec l'interface (API) "socket".
Vous allez regarder-étudier les présentations en vidéo et écrire un rapport synthètique sur leurs contenus.
Le cours est composé de 7 séries. Pour chaque série vous rédigez un texte de 3 à 10 pages, selon le nombre de vidéos par série.
Dans le texte il faut intégrer les schémas et les équations.

Les laboratoires seront introduits en présentiel ou en distanciel - Lab1 et Lab2 sur les cartes Nvidia Jetson X1 et/ou sur vos ordinateurs personnels.
En cas du travail à distance, vous pouvez travailler directement sur vos ordinateurs sous Linux-Ubuntu ou sous Windows avec CodeBlocs
Evidemment la solution Linux-Ubuntu est primordiale et sera la même sur les cartes Nvidia Jetson.
Un compte-rendu sur 6-10 pages sera également demandé. Toujours en format pdf.

M1 - Partie 2 : Multimédia - Capture, Enregistrement, Conversion, et Streaming

La deuxième partie du module ( Lab3, Lab4, et Lab5) va se derouler sur les cartes embarquées avec VPUs et GPUs type Nvidia Jetson.

Cours en pdf:
Lect.01.introduction.internet.protocols
Lect.02.multimedia.internet.protocols
Lect.03.Gstreamer.multimedia.and.internet

Labs en pdf:
Attention: vous travaillez avec les cartes Nvidia Jetson X1 sur le compte ubuntu, le mot de passe est ubuntu.

4 Laboratoires IandM de base
NAT - redirection      Exemples à télécharger
Cours en video:
Pour accéder aux vidéos donnez le code utilisateur et le mot de passe.

Accéder au site

Computer Networks with NetKit

The Book Computer Networks with NetKit
Les Laboratoires Les Laboratoires avec NetKit


Architectures IoT

Cours en pdf:
M5-IoT : IoT - Introduction Une Introduction à l'Internet des Objets


Labs IoT avec Micropython et ESP32 - 5 Laboratoires - PYCOM-X (ESP32 et MicroPython)

  PYCOM-X Labs - IoT avec PYCOM-X (non copiable)
  PYCOM-X Labs - IoT avec PYCOM-X (protégé)
  PYCOM-X Labs - IoT with PYCOM-X
  PYCOM-X Labs - IoT with PYCOM-X (protected)

  PYCOM-X Labs - IoT short introduction for Business Schools

IoT - 4 Laboratoires IoT pour bien commencer avec ESP32 et Arduino

   Heltec WiFi-LoRa: 4 Laboratoires pour bien commencer (non copiable)
   Heltec WiFi-LoRa: 4 Laboratoires (protégé)
   LOLIN D32: 4 Laboratoires pour bien commencer (non copiable)
   LOLIN D32: 4 Laboratoires (protégé)

   Mini-projets techniques (2021) - affectation et documents

IoT - 6 Laboratoires IoT de base avec ESP32 et Arduino

  Lab1 - Introduction: capteurs et afficheurs (non copiable)
  Lab1 - Introduction: capteurs et afficheurs (protégé)
  Lab2 - WiFi et serveur ThingSpeak (non copiable)
  Lab2 - WiFi et serveur ThingSpeak (protégé)
  Lab3 - Protocole et broker MQTT plus WiFi (non copiable)
  Lab3 - Protocole et broker MQTT plus WiFi (protégé)
  Lab4 - Bluetooth et BLE (non copiable)
  Lab4 - Bluetooth et BLE (protégé)
  Lab5 - WiFi et serveurs IoT WEB (non copiable)
  Lab5 - WiFi et serveurs IoT WEB (protégé)
  Lab6 - Programmation OTA avec WiFi (non copiable)
  Lab6 - Programmation OTA avec WiFi (protégé)


Labs IoT Avancés 1 - 6 Laboratoires IoT avancés avec ESP32 et Arduino

  Lab7 - Introduction à la technologie LoRa (non copiable)
  Lab7 - Introduction à la technologie LoRa (protégé)
  Lab8 - Programmation pour faible consommation (non copiable)
  Lab8 - Programmation pour faible consommation (protégé)
  Lab9 - Programmation multitâche avec FreeRTOS (non copiable)
  Lab9 - Programmation multitâche avec FreeRTOS (protégé)
  Lab10 - Protocoles LoRa niveaux lien et réseau (non copiable)
  Lab10 - Protocoles LoRa niveaux lien et réseau (protégé)
  Lab11 - Protocole et Passerelles LoRa - ThingSpeak (non copiable)
  Lab11 -Protocole et Passerelles LoRa - ThingSpeak (protégé)
  Lab12 - Protocole et Passerelles LoRa - MQTT (non copiable)
  Lab12 - Protocole et Passerelles LoRa - MQTT (protégé)

  Lab12 - Annexe - Bibliothèques (non copiable)
  Lab12 - Annexe - Bibliothèques (protégé)


Labs IoT Avancés 2 - 4 Laboratoires Low Power IoT Architectures with ARM - LoRa (SX1262) and Power Profiler Kit II

  Low Power IoT - Low Power IoT Architectures : 4 Labs and Assignment (non copiable)
  Low Power IoT - Low Power IoT Architectures: 4 Labs and Assignment (protégé)

Labs IoT Avancés 3 - 6 Laboratoires - avec ESP32 et PlatformIO

  PIO - Lab0 - Introduction au IoTDevKit et PlatformIO (non copiable)
  PIO - Lab0 - Introduction au IoTDevKit et PlatformIO (protégé)
  PIO - Lab1 - IoTDevKit et PlatformIO - capteurs et affichage(non copiable)
  PIO - Lab1 - IoTDevKit et PlatformIO - capteurs et affichage(protégé)
  PIO - Lab2 - IoTDevKit et PlatformIO - WiFi et MQTT (non copiable)
  PIO - Lab2 - IoTDevKit et PlatformIO - WiFi et MQTT (protégé)
  PIO - Lab3 - IoTDevKit et PlatformIO - WiFiManager et ThingSpeak (non copiable)
  PIO - Lab3 - IoTDevKit et PlatformIO - WiFiManager et ThingSpeak (protégé)
  PIO - Lab4 - IoTDevKit et PlatformIO - Technologie LoRa (non copiable)
  PIO - Lab4 - IoTDevKit et PlatformIO - Technologie LoRa (protégé)
  PIO - Lab5 - IoTDevKit et PlatformIO - Passerelles LoRa-Wifi (MQTT et ThingSpeak) (non copiable)
  PIO - Lab5 - IoTDevKit et PlatformIO - Passerelles LoRa-Wifi (MQTT et ThingSpeak) (protégé)

IoT :IoT Labs (8 Labs)) 8 Laboratoires IoT pour bien commencer

Labs IoT Avancés 4 - 5 Laboratoires - PYCOM-V (RISC-V et MicroPython)

  PYCOM-V Labs - IoT avec PYCOM-V (non copiable)
  PYCOM-V Labs - IoT avec PYCOM-V(protégé)


Labs IoT Avancés 5 - 3 Laboratories - Multi-platform IoT Architectures with PYCOM-V and CubeCell DevKit

These laboratories deal with the development of mixed IoT architectures with Low Power Terminal nodes and IoT gateways build on PYCOM-V platform (RISC-V and microPython).

  PYCOM-V and Low Power Labs - Multi-platform IoT Architectures (non copiable)
  PYCOM-V and Low Power Labs - Multi-platform IoT Architectures (protégé)


M5-IoT : Presentation in English-2019 - Laboratoires Internet of Things - in English
M5-IoT : Presentation en Français - Laboratoires Internet of Things - en Français
M5-IoT : Annexes Annexes - IoT DevKiT cartes et exemples

GPUs et IA embarquée - CUDA et Deep Learning

Le module CUDA et IA embarquée est préparé pour fonctionner sur les cartes Nvidia Tegra: Tegra Jetson X1, Tegra Jetson Nano et Xavier.

M6-GPU-CUDA: Présentation Introduction: GPUs et programmation CUDA
M6-GPU-CUDA:Pour bien commencer la Programmation Parallèle sur ARM et GPU avec CUDA
Google Colab for CUDA M6-AI-Deep Learning : Présentation Introduction to Machine Learning and Deep Learning
M6-AI-Deep Learning : Document à lire IA pour Systèmes Embarqués

Introduction au Machine Learning:

IA Embarquéee - Introduction
Une introduction au Machine Learning
Lab 0: Une introduction au Machine Learning.

M6-AI_Deep Learning - Lab 1 - Machine Learning - Regression avec Tensorflow et Keras
M6-AI_Deep Learning - Lab 2 - Deep Learning - MNIST avec TensorFlow et Keras
Sample_Images Zip file with test Images
M6-AI_Deep Learning - Lab 3 - Deep Learning - Auto-encodeurs
Zip file with autoencoder models (.h5)
M6-AI_Deep Learning - Lab 4 - Inférence pour image: détection et reconnaissance d'objets
M6-AI_Deep Learning - Lab 5 - Inférence pour la détection et la reconnaissance des visages
M6-AI_Deep Learning - Lab 6-7 - AI Voice - Principles Training and Inference

Introduction to Embedded AI with RPI, Google-CORAL and Nvidia Jetson:

  RPI and EAI- Lab1, Lab3 and Lab3 - Inference with TFLite: Images, Video, Audio (non copiable)
  RPI and EAI- Lab1, Lab3 and Lab3 - Inference with TFLite: Images, Video, Audio (protégé)
  Google CORAL and EAI- Lab1, Lab3 and Lab3 - Inference with TFLite EDGE: Images, Video, Audio (non copiable)
  Google CORAL and EAI- Lab1, Lab3 and Lab3 - Inference with TFLite EDGE: Images, Video, Audio (protégé)
  Jetson Nano and EAI- Lab1, Lab3 and Lab3 - Inference with TensorFlow - TRT: Images, Video, Audio (non copiable)
  Jetson Nano and EAI- Lab1, Lab3 and Lab3 - Inference with TensorFlow - TRT: Images, Video, Audio (protégé)

AI.Hardware.(2021)Important AI Hardware SoCs

Attention: To access the site you need the the user code and password.

Enter the site