Skip to content

Fkmraxxx/Skybot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkyBot badge ESP32 badge Arduino badge Web interface badge PlatformIO badge

SkyBot

Robot piloté en Wi-Fi avec caméra, détection d’obstacles et interface web embarquée


Ce dépôt contient SkyBot, un projet robotique basé sur ESP32 permettant de piloter un robot à distance via une interface web locale.

Le système regroupe :

  • un serveur web embarqué hébergé sur l’ESP32
  • une interface de pilotage accessible depuis un navigateur
  • une caméra ESP-EYE pour le retour vidéo
  • deux capteurs ultrasoniques HC-SR04 pour mesurer les distances
  • deux anneaux NeoPixel pour visualiser la proximité d’obstacles
  • une communication Serial2 entre l’ESP32 et l’Arduino pour les commandes moteurs

L’objectif est de proposer une solution de pilotage temps réel, simple à utiliser, avec un retour visuel clair sur l’environnement du robot.


Fonctionnalités

Pilotage du robot

  • déplacement avant / arrière
  • rotation gauche / droite
  • gestion de la vitesse
  • bouton arrêt d’urgence
  • commandes envoyées sans rechargement de la page

Interface web embarquée

  • page servie directement depuis l’ESP32
  • design responsive
  • boutons de contrôle rapides
  • mise à jour automatique de l’état des capteurs

Caméra embarquée

  • affichage d’un flux MJPEG
  • retour vidéo en direct depuis une ESP-EYE
  • accès direct à l’interface caméra et au stream

Détection d’obstacles

  • lecture de 2 capteurs ultrasoniques
  • mesure de la distance à gauche et à droite
  • seuil d’alerte pour détecter un obstacle proche
  • API /obstacle retournant les distances en JSON

Retour visuel NeoPixel

  • un anneau pour le côté gauche
  • un anneau pour le côté droit
  • plus l’obstacle est proche, plus l’affichage est intense
  • dégradé de couleur vert → jaune → rouge

Architecture du projet

Partie ESP32

L’ESP32 gère :

  • la connexion au réseau Wi-Fi
  • le serveur web embarqué
  • le système de fichiers LittleFS
  • la lecture des capteurs ultrasoniques
  • le pilotage des anneaux NeoPixel
  • l’exposition des routes HTTP de commande
  • l’envoi des ordres à l’Arduino via Serial2

Partie Arduino / moteurs

L’Arduino reçoit des commandes série envoyées par l’ESP32 pour gérer le déplacement du robot.

Exemples de commandes transmises :

  • z → avancer
  • s → reculer
  • q → gauche
  • d → droite
  • r → plus vite
  • f → moins vite
  • x → arrêter

Partie interface web

L’interface utilisateur est stockée dans data/index.html puis servie par l’ESP32.

Elle permet :

  • d’envoyer les commandes de déplacement
  • d’afficher le flux caméra
  • de consulter les distances mesurées
  • de visualiser le danger via une jauge dynamique

Stack utilisée

ESP32 C++ Arduino Frontend PlatformIO LittleFS

Firmware

  • C++
  • Arduino framework
  • PlatformIO

Interface

  • HTML
  • CSS
  • JavaScript vanilla

Bibliothèques utilisées

  • ESPAsyncWebServer
  • AsyncTCP
  • Adafruit NeoPixel
  • PubSubClient

Matériel

  • ESP32 DevKit V1
  • Arduino
  • 2 capteurs HC-SR04
  • 2 anneaux NeoPixel
  • caméra ESP-EYE
  • système moteur du robot

Structure du projet

PROJET-SKYBOT-BS2CIEL-main/
├── data/
│   ├── index.html
│   └── w3.css
├── include/
├── lib/
├── src/
│   └── main.cpp
├── test/
└── platformio.ini

About

Robot Wi-Fi piloté avec ESP32, caméra ESP-EYE, détection d’obstacles et interface web embarquée

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors