Skip to content

rosmo-robot/ESP32-robot-car-controller

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 robot car controller

This fork will impliment I2C commander

ESP32 robot car controller is a small web-server + web page project for ESP32. It is designed to control a small differential drive mobile robot prototype. This is how web-page looks:

borderChangeExample

You can watch a project demo here.

Project is designed using:

  • platformIO;
  • arduino framework for ESP32;
  • mostly C code wrapped around default C++ stuff for arduino.
  • plain HTML/CSS/JS;
  • FlexJoystick library for interactable joysticks.

Main features

  • ESP32 is configured as a wi-fi access point;
  • name and password of access point are generated automatically based on how many other similar robots (wi-fi access points) are around;
  • only a single device can be connected to an access point at a time;
  • ESP32 can serve a single web-page, styles file and js file to a client;
  • client web-page has 2 joysticks to control differential drive robot;
  • client and server communicate using WebSockets;
  • WebSockets are implemented using ESPAsyncWebServer.h library;
  • client constantly tries to reconnect to the server if connection is lost;
  • web-page displays the name of the robot it is connected to and connection status;
  • motors on the robot are controlled by STM32 that is not a part of this project;
  • ESP32 communicates with STM32 using simple UART-based protocol.

How to test the web-page

  1. upload the firmware to any ESP32 controller using PlatformIO;
  2. upload the filesystem image to your ESP32. If you don't know how to do it here is a guide;
  3. using any device connect to a new wi-fi access point. It will be called esp_robot_1 and will have password password_1;
  4. open any browser and go to 192.168.4.1;
  5. plary around!

Contributions

This project is free to use by anyone brave enough to figure it out.

This project is mostly a prototype for our team. We will be grateful for suggestions and ideas, but help is probably not needed.

About

ESP32-based wifi robot controller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 46.9%
  • HTML 42.1%
  • CSS 7.3%
  • C 3.7%