Table of Contents
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.
- 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.
- Clone this repository to your local machine.
- Open the Arduino IDE and load the
RC_Car_Controller.ino
sketch. - Configure the Wi-Fi credentials and other settings as necessary.
- Upload the sketch to your ESP8266 microcontroller.
- 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.
-
- Connect to the same Wi-Fi network as the ESP8266.
- Launch the Flutter RC Car Controller App on your device.
- Fill in the IP address sent by the microcontroller
- Select the desired control mode (button or gyroscope) in the app.
- Begin controlling the RC car using the app's interface.
To enable email notification functionality, follow these steps:
- Configure SMTP Settings: Modify the
EMAIL_SENDER_ADDRESS
,EMAIL_SENDER_PASSWORD
andEMAIL_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 - 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.
- MicroController: ESP8266 or ESP32.
- Batteries: 18650-cells At least two cells depending on the power needed by motors.
- Motors 2 Motors with wheels and a universal wheel, or 4 motors with wheels.
- Motor Driver Necessary to power up the microcontroller (with 5V) and for the motors.
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Chater Marzougui - @Chater-marzougui - chater.mrezgui2002@gmail.com