1. Giao thức PPPOS (Point to Point Over Serial) là gì?
PPP là giao thức giao tiếp dữ liệu lớp cao, được sử dụng chủ yếu trong các module mạng. Ưu điểm của giao thức PPP là có thể gửi trực tiếp giữ liệu mà không cần phải sử dụng AT command.
2. Chế độ AT Command và PPP trên module SIM 4G/GSM khác gì nhau?
Thông thường, giữa host device và module SIM chúng ta sử dụng kết nối U(S)ART để giao tiếp. Và có 2 chế độ cơ bản khi chúng ta sử dụng kết nối internet
a. Chế độ AT Command
Đây là chế độ giao tiếp thông thường chúng ta thường sử dụng. Ở chế độ này, host device sẽ gửi command và chờ nhận kết quả từ module SIM.
-
Ưu điểm:
-
Chế độ này là hoạt động đồng bộ, thiết bị host sẽ điều khiển quá trình giao tiếp
-
Có thể sử dụng các command của hãng phát triển và các tính năng khác như SMS, Call, GPS,…
-
-
Nhược điểm: Tốc độ giao tiếp hạn chế bị cần chờ phản hồi từ module. Và các command không đồng bộ giữa các dòng device.
b. Chế độ PPPOS (Point to Point Over Serial)
Đây là chế độ lúc kết nối internet. Với chế độ này, chúng ta sẽ tương tác với module SIM qua giao thức PPP. Giao thức này hỗ trợ TCP/IP và IPv4/IPv6 một cách tự nhiên. Chế độ này còn có thể hiểu là Data mode
-
Ưu điểm: Tốc độ kết nối cao và ổn định
-
Nhược điểm: Không thể gửi command ở chế độ này, Nếu muốn gửi command phải thoát ra chế độ này. Lập trình sẽ phức tạp hơn nếu không có thư viện (Ví dụ kết hợp SMS, Call, GPS,…)
3. Code mẫu
ESP32 ESP-IDF:
-
Sử dụng thư viện ESP-IDF
-
Đã test trên các dòng SIM A7670C, A7600C1, SIM7600CE, Quectel EC600S-CN
-
Hỗ trợ kết nối MQTT(S)
-
Hỗ trợ lưu configuration vào bộ nhớ
- https://github.com/linhkienthuduc21/esp32_pppos
ESP32 Arduino:
-
Sử dụng thư viện arduino
-
Đã test trên các dòng SIM A7670C, A7600C1, SIM7600CE, Quectel EC600S-CN
-
Hỗ trợ kết nối MQTT(S)
-
Hỗ trợ kết nối SSL
- https://github.com/linhkienthuduc21/esp32_pppos_arrduino