Các lỗi thường gặp với ESP32-CAM và cách khắc phục-B4

Các lỗi thường gặp với ESP32-CAM và cách khắc phục

Bài viết dưới đây tổng hợp một số lỗi thường gặp trong quá trình lập trình với ESP32-CAM và cách khắc phục.

1. Failed to connect to ESP32: Timed out waiting for packet header

Lỗi này xảy ra khi nạp chương trình cho ESP32-CAM. Lỗi này có thể xảy ra khi ESP32-CAM không hoạt động ở chế độ flash (chưa kết nối GPIO 0 với GND) hoặc kết nối giữa ESP32-CAM và FT232R FTDI chưa đúng.

Để khắc phục, hãy kiểm tra lại các bước kết nối để đảm bảo:

  • ESP32-CAM và FT232R FTDI kết nối đúng theo sơ đồ:
ESP32-CAM FTDI Programmer
GND GND
5V VCC (5V)
U0R TX
U0T RX
GPIO 0 GND
  • Chân GPIO 0 được nối với GND khi nạp chương trình.
  • Một số bản FT232R FTDI có jumper cho phép chọn 3.3V hay 5V. Hãy kết nối jumper vào vị trí 5V.
  • Chọn đúng board AI-Thinker ESP32-CAM.
  • Chọn đúng port
  • Trong khi nạp chương trình, khi bắt đầu thấy các chấm hiện ra trên màn hình hiển thị thông báo thì nhấn nút RST trên ESP32-CAM.
  • Đảm bảo nguồn cấp cho ESP32-CAM từ FT232R FTDI là nguồn 5V. 

2. Camera init failed with error 0x20001 or similar

Khi gặp lỗi này có nghĩa là camera đã không được kết nối với ESP32-CAM đúng cách, hoặc bạn đã khai báo sai model camera trong chương trình.

Để khắc phục, hãy:

  • Kiểm tra lại kết nối giữa ESP32-CAM và camera
  • Kiểm tra lại phần khai báo trong chương trình. Module chúng ta sử dụng ở đây là CAMERA_MODEL_AI_THINKER.
//#define CAMERA_MODEL_WROVER_KIT 

//#define CAMERA_MODEL_M5STACK_PSRAM 
#define CAMERA_MODEL_AI_THINKER 
  • Kiểm tra nguồn cấp cho ESP32-CAM
  • Kiếm tra FT232R FTDI
  • Kiểm tra đầu kết nối của camera 

3. Brownout detector or Guru meditation error

Khi mở Serial Monitor, bạn thấy lỗi “Brownout detector was triggered” được in ra liên tục nhiều lần. Lỗi này xảy ra khi có phần cứng chúng ta sử dụng gặp trục trặc. Một số nguyên nhân thường gặp là:

  • Chất lượng dây cáp thấp, dây cáp là loại chỉ cấp nguồn, không truyền nhận dữ liệu.
  • Dây cáp quá dài.
  • Nguồn cấp từ cổng USB của máy tính không đủ mạnh.

Để khắc phục, hãy:

  • Thử dùng một dây cáp khác ngắn hơn và đảm bảo dây cáp đó là loại có thể truyền nhận dữ liệu.
  • Sử dụng cổng USB của máy tính khác hoặc sử dụng bộ cha cổng USB với nguồn bên ngoài.
  • Đảm bảo cấp nguồn 5V cho ESP32-CAM 

4. Sketch too big error – Wrong partition scheme selected

Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.

Error compiling for board ESP32 Dev Module.

Khi gặp lỗi này có nghĩa là bạn chưa chọn đúng phân vùng phù hợp.

Để khắc phục, trong Arduino IDE, vào Tools –> Partition Scheme, chọn Huge APP (3MB No OTA).

5. Board at COMX is not available – COM Port Not Selected

Lỗi này có thể gặp phải do bạn chưa chọn đúng cổng COM. Trong Arduino IDE, hãy vào Tools -> Port rồi chọn đúng cổng COM và thử biên dịch lại chương trình nhé. 

6. Psram error: GPIO isr service is not installed

Lỗi này xảy ra khi bạn biên dịch chương trình cho các board ESPCAM không có PSRAM

Trong đoạn code khởi tạo board, chúng ta dùng:

config.frame_size = FRAMESIZE_UXGA;
config.jpeg_quality =10;
config.fb_count =2;

Để khắc phục lỗi này, hãy sửa đoạn chương trình trên thành đoạn code dưới đây:

if(psramFound()){
 config.frame_size = FRAMESIZE_UXGA;
 config.jpeg_quality =10;
 config.fb_count =2;
}else{
 config.frame_size = FRAMESIZE_SVGA;
 config.jpeg_quality =12;
 config.fb_count =1;
}

Lưu ý: Tính năng phát hiện và nhận diện khuôn mặt không thực hiện được với các board ESP32-CAM không có PSRAM.

7. Tín hiệu WiFi yếu

Tín hiệu WiFi yếu có thể là do ESP32-CAM không được cấp đủ nguồn. Hãy kiểm tra lại nguồn cấp cho ESP32-CAM có đúng là nguồn 5V chưa nhé. Nếu là nguồn 3.3V, hãy đổi thành nguồn 5V và kiểm tra lại tín hiệu WiFi.

Ngoài anten WiFi được tích hợp sẵn trên board, chúng ta cũng có thể kết nối ESP32-CAM với anten bên ngoài. Nếu đã kiểm tra nguồn và tín hiệu WiFi vẫn yếu, hãy thử kết nối ESP32-CAM với anten ngoài.

Chúng ta cũng cần kiểm tra lại vị trí của điện trở 0 Ohm (đóng vai trò như jumper) ở gần chân cắm kết nối anten ngoài:

  • Vị trí của điện trở như hình dưới khi làm việc với anten tích hợp sẵn trên board.
  • Để kết nối với anten ngoài, cần đổi vị trí điện trở xuống dưới. 

8. Địa chỉ IP không được in ra trên Serial Monitor

Trong Serial Monitor, nếu bạn chỉ nhìn thấy các dấu chấm được in ra liên tiếp, có nghĩa là ESP32-CAM chưa kết nối được tới WiFi.

Đầu tiên, hãy kiểm tra lại thông tin WiFi:

constchar* ssid ="REPLACE_WITH_YOUR_SSID";
constchar* password ="REPLACE_WITH_YOUR_PASSWORD";

Tiếp theo, kiểm trong tốc độ baud trong Serial Monitor, tốc độ này phải giống với tốc độ khi bạn khởi tạo Serial trong hàm setup():

Nếu bạn chọn sai tốc độ baud, thông tin được in ra màn hình sẽ không được giải mã đúng. Chúng tôi thường sử dụng tốc độ 115200 trong hầu hết các bài hướng dẫn.

Reset ESP32-CAM

Hãy thử nhấn nút reset để khởi động lại ESP32-CAM

Kiểm tra chân TX và RX

Có thể bạn đã kết nối sai ESP32-CAM và FT232R FTDI. Hãy kiểm tra lại phần kết nối dây xem đã kết nối đúng TX của ESP32-CAM với RX của FT232R FTDI, RX của ESP32-CAM với TX của FT232R FTDI chưa nhé!

Kiểm tra phạm vi kết nối WiFi

Nếu ở khoảng cách quá xa so với router phát WiFi, ESP32-CAM có thể sẽ không kết nối đươc WiFi.

9. Không mở được trang web từ trình duyệt web

Nếu địa chỉ IP của ESP32-CAM đã được in ra trong Serial Monitor nhưng bạn không thể truy cập vào trang web từ trình duyệt web, hãy kiểm tra lại, có thể bạn đang truy cập tới ESP32-CAM web server qua nhiều tab trên trình duyệt web.

Hiện tại, chương trình chạy trên ESP32-CAM chỉ cho phép 1 máy khách kết nối tới máy chủ tại 1 thời điểm.

Nhận xét

Mới hơn Cũ hơn