Skip to content

This repository contains the Arduino code for the ESP8266 microcontroller installed in the RC car. The code enables communication with the Flutter RC Car Controller App over HTTP protocol, facilitating remote control of the RC car.

License

Notifications You must be signed in to change notification settings

chater-marzougui/ESP8266-Car-Control-with-http

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Car Commander

App made just for fun

Flutter App Repo · Report Bug · Request Feature

RC Car Arduino Code

Table of Contents
  1. About The Project
  2. Features
  3. Installation
  4. Flutter Code Repo
  5. Usage
  6. Email Setup
  7. Needed Materials
  8. Contributing
  9. License
  10. Contact

About The Project

This repository contains the code for an ESP8266-based system that allows for remote control of an RC car using a Flutter app. Features include an HTTP server for real-time communication, button and gyroscope control logic, seamless Wi-Fi connectivity, and email notifications for easy setup. Control your RC car with precision and convenience using this comprehensive ESP8266 solution.


Features:

  • HTTP Server: Establishes an HTTP server on the ESP8266, allowing the RC car to receive control commands from the Flutter app.
  • Button Control: Implements logic to interpret button control commands sent by the app and translate them into corresponding actions for the RC car.
  • Gyroscope Control: Provides functionality to interpret gyroscope control commands received from the app and adjust the RC car's movement accordingly.
  • Wi-Fi Connectivity: Enables the ESP8266 to connect to a Wi-Fi network, allowing seamless communication with the Flutter app.
  • Email Notification: Sends an email to the user containing the IP address of the ESP8266 upon successful connection to the Wi-Fi network.

(back to top)

Installation:

  1. Clone this repository to your local machine.
  2. Open the Arduino IDE and load the RC_Car_Controller.ino sketch.
  3. Configure the Wi-Fi credentials and other settings as necessary.
  4. Upload the sketch to your ESP8266 microcontroller.

(back to top)

Flutter App Repo:

(back to top)

Usage:

  1. Make the Car, refer to the end of the readme for the components needed for the car.
    • if you use the direct way:

      • Power on the RC car and wait for the ESP8266 to establish a Wi-Fi connection.
    • if you use the ESP with AP mode:

      • Power on the RC car and wait for the ESP8266 to open the HotSpot.
      • Connect to the Hotspot using the password in the file.
      • Open the phone app, choose : change wifi password.
      • Fill in the credentials of your new wifi (home or phone HotSpot).
      • Click connect and move to step 3.
  2. Connect to the same Wi-Fi network as the ESP8266.
  3. Launch the Flutter RC Car Controller App on your device.
  4. Fill in the IP address sent by the microcontroller
  5. Select the desired control mode (button or gyroscope) in the app.
  6. Begin controlling the RC car using the app's interface.

(back to top)

Email Notification Setup:

To enable email notification functionality, follow these steps:

  1. Configure SMTP Settings: Modify the EMAIL_SENDER_ADDRESS, EMAIL_SENDER_PASSWORD and EMAIL_RECIPIENT_ADDRESS constants in the Arduino code with your SMTP server details and email addresses. -You should make an E-mail address for the esp and get the IOT type password. -The recipient E-mail should be your E-mail
  2. Test Email Notification: Once configured, test the email notification feature by connecting the ESP8266 to Wi-Fi. Upon successful connection, you should receive an email containing the IP address of the ESP8266.

(back to top)

Needed Materials for the setup:

  1. MicroController: ESP8266 or ESP32.
  2. Batteries: 18650-cells At least two cells depending on the power needed by motors.
  3. Motors 2 Motors with wheels and a universal wheel, or 4 motors with wheels.
  4. Motor Driver Necessary to power up the microcontroller (with 5V) and for the motors.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

This project is licensed under the MIT License - see the LICENSE file for details.

(back to top)

Contact

Chater Marzougui - @Chater-marzougui - chater.mrezgui2002@gmail.com

(back to top)

About

This repository contains the Arduino code for the ESP8266 microcontroller installed in the RC car. The code enables communication with the Flutter RC Car Controller App over HTTP protocol, facilitating remote control of the RC car.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages