Diễn đàn IoT Bị disconnect với mqtt khi tốc độ nhận bản tin nhanh

Đang xem bài viết thứ 1 (trong tổng số 4 bài viết)
  • Người viết
    Bài viết
  • #746
    Nguyễn Đức Long
    Thành viên

    Em kết nối với mqtt broker qua mạng 4G sử dụng sim a7672s.
    Em đang gặp lỗi như sau: Khi tốc độ nhận bản tin nhanh (khoảng 1s/bản tin) thì bị mất kết nối với broker.
    Anh/chị có thể giúp em sửa lỗi không ạ?

    #747
    tran van tien
    Thành viên

    Thực sự thì thường sẽ không có chuyện bị mất kết nối với broker do nhận bản tin quá nhanh, mình cũng đã test thử qua 1 module sim thì không nhận thấy việc như bạn nói. Bạn có thể xuất log cho mình xem từ bắt đầu nhận bản tin liêu tục đến khi bị mất kết nối để mình có thể tham khảo chi tiết được không ?

    #749
    Nguyễn Đức Long
    Thành viên

    Log đây a ạ:
    +CMQTTRXEND: 1 AT+CMQTTTOPIC=1,54 > Pump is on I (60414) AT_CMD: REC: +CMQTTRXSTART: 1,58,17 +CMQTTRXTOPIC: 1,58 messages/173a5e39-7c5b-400e-8d53-a0a0292d5e9d/control_pump +CMQTTRXPAYLOAD: 1,17 { “status”:true } +CMQTTRXEND: 1 I (60554) AT_CMD: REC: +CMQTTRXSTART: 1,58,17 +CMQTTRXTOPIC: 1,58 messages/173a5e39-7c5b-400e-8d53-a0a0292d5e9d/control_pump +CMQTTRXPAYLOAD: 1,17 { “status”:true } +CMQTTRXEND: 1 I (60724) AT_CMD: REC: +CMQTTRXSTART: 1,58,17 +CMQTTRXTOPIC: 1,58 messages/173a5e39-7c5b-400e-8d53-a0a0292d5e9d/control_pump +CMQTTRXPAYLOAD: 1,17 { “status”:true } +CMQTTRXEND: 1 I (60944) AT_CMD: REC: +CMQTTRXSTART: 1,58,17 +CMQTTRXTOPIC: 1,58 messages/173a5e39-7c5b-400e-8d53-a0a0292d5e9d/control_pump +CMQTTRXPAYLOAD: 1,17 { “status”:true } +CMQTTRXEND: 1 Pump is on I (61294) AT_CMD: Send: AT+CMQTTTOPIC=1,54 I (62394) AT_CMD: Send: AT+CMQTTTOPIC=1,54 I (62594) AT_CMD: REC: +CMQTTRXSTART: 1,58,17 +CMQTTRXTOPIC: 1,58 messages/173a5e39-7c5b-400e-8d53-a0a0292d5e9d/control_pump +CMQTTRXPAYLOAD: 1,17 { “status”:true } +CMQTTRXEND: 1 +CMQTTRXSTART: 1,58,17 +CMQTTRXTOPIC: 1,58 messages/173a5e39-7c5b-400e-8d53-a0a0292d5e9d/control_pump +CMQTTRXPAYLOAD: 1,17 { “status”:true } +CMQTTRXEND: 1 Pump is on I (62794) AT_CMD: REC: +CMQTTRXSTART: 1,58,17 +CMQTTRXTOPIC: 1,58 messages/173a5e39-7c5b-400e-8d53-a0a0292d5e9d/control_pump +CMQTTRXPAYLOAD: 1,17 { “status”:true } +CMQTTRXEND: 1 Pump is on I (63494) AT_CMD: Send: messages/109626a5-086b-4e4b-b51e-57c6370adbf1/humidity I (63604) AT_CMD: REC: OK 57c6370adbf1/humidity I (63604) AT_CMD: Send: AT+CMQTTPAYLOAD=1,42 I (63714) AT_CMD: REC: AT+CMQTTPAYLOAD=1,42 > I (63714) AT_CMD: Send: {“batt”:90,”curr_hum”:66.00000,”cn”:”LTE”} I (63824) AT_CMD: REC: OK I (63824) AT_CMD: Send: AT+CMQTTPUB=1,0,60,0 I (64004) AT_CMD: REC: AT+CMQTTPUB=1,0,60,0 OK +CMQTTPUB: 1,0 +CMQTTCONNLOST: 1,1 I (64014) AT_CMD: Send: AT+CMQTTTOPIC=1,54 I (64124) AT_CMD: REC: AT+CMQTTTOPIC=1,54 +CMQTTTOPIC: 0,11 ERROR I (64194) AT_CMD: Send: AT+CMQTTTOPIC=1,54 I (64294) AT_CMD: REC: AT+CMQTTTOPIC=1,54 +CMQTTTOPIC: 0,11 ERROR I (65194) AT_CMD: Send: AT+CMQTTTOPIC=1,54 I (65304) AT_CMD: REC: AT+CMQTTTOPIC=1,54 +CMQTTTOPIC: 0,11 ERROR I (66294) AT_CMD: Send: AT+CMQTTTOPIC=1,54 I (66404) AT_CMD: REC: AT+CMQTTTOPIC=1,54 +CMQTTTOPIC: 0,11 ERROR

    #750
    tran van tien
    Thành viên

    Mặc dù hơi khó đọc nhưng có vẻ như sau câu lệnh AT+CMQTTTOPIC=1,54 thì module vẫn trả về “>” đúng như dự kiến, nhưng sau khi nhận xong dữ liệu thì mcu vẫn gửi tiếp dòng lệnh AT+CMQTTTOPIC=1,54 thêm 2 lần nữa, khiến cho topic bạn chèn vào xuất hiện các ký tự lạ, đây có thể là nguyên nhân chính cho việc mất kết nối với broker. Bạn nên xem lại hoạt động của uart trong phần code của bản thân xem nguyên nhân vì sao MCU k nhận được “>”.
    Trân trọng

Đang xem bài viết thứ 1 (trong tổng số 4 bài viết)
  • Bạn phải đăng nhập để trả lời chủ đề này.