My proposal is:
- ESP32 display a WiFi AP point. Originally, no password for this AP.
- A web server, include HTML5, JavaScript are developed to make UI for user. User can:
1. Add/delete a authorized number. Also view a list of added numbers.
2. Set the AP password (or change it)
3. Upload a new firmware
- Once ESP32 detect a call from SIM800L, if the # is in the authorized list, it will trigger a GPIO to start the motor.
My question: Which MOSFET are you using to control the motor? Q3 or Q4? Anyway, your hardware design does not look normal. The N-MOSFET should be on the low side with S pin connected to GND to be able to directly control by the ESP32 but it is NOT in your schematic. Also, a small resistor is required between GPIO and G pin of MOSFET to limit the current when the Cgs of MOSFET is charged. A good design usually put a large Rgs resistor to ensure it is completely OFF too. I don't check other place but definitely, your hardware is very abnormal.
Ah, with motor (mostly inductive load), a protection diode is important as well.
If you have any question, pls let me know. My bid just for software development only.
Thanks,
Anh