Độ trễ thấp nhất trong số các tiêu chuẩn Wi-Fi 802.11


8

Tôi đang thực hiện một dự án bằng cách sử dụng Arduino và mô-đun ESP8266 chạy phần mềm liên kết đặc biệt - cho tôi khả năng sử dụng MQTT để điều khiển Arduino. Thay vào đó, tôi đã xem xét một cái gì đó giống như một mô-đun XBee - nhưng chúng quá đắt so với ESP8266! ( Nếu bạn không biết ESP8266 hoặc MQTT là gì, đừng lo lắng - đủ để biết rằng nó sử dụng TCP qua Wi-Fi ).

Các gói MQTT rất nhỏ, do đó, thông lượng của mạng Wi-Fi sẽ không bao giờ là vấn đề. Nhưng, độ trễ và độ tin cậy là yếu tố lớn. Hệ thống MQTT đang sử dụng TCP, vì vậy nó đủ đáng tin cậy - nhưng tôi không chắc về độ trễ.

Tôi có quyền lựa chọn sử dụng kết nối 802.11b, .11g hoặc .11n cho mạng mà ESP8266 sử dụng. Có điều gì trong bất kỳ tiêu chuẩn nào làm cho người ta có độ trễ thấp hơn bất kỳ tiêu chuẩn nào khác không? Mà tôi mong đợi sẽ có hiệu suất tốt nhất với các gói rất nhỏ và không thường xuyên?


1
Trong các cân nhắc về độ trễ cũng có mặt khác liên quan, cộng với chất lượng của vấn đề thực hiện. Tôi không nghĩ rằng những con số lý thuyết sẽ giúp bạn đi rất xa.
PlasmaHH

google cho một bài viết LWN có tên "làm cho wifi nhanh".
dùng3528438

Câu trả lời:


10

Trước hết, bạn đang làm một cái gì đó rất đúng rằng rất nhiều nhà thiết kế IOT và người sử dụng không: Bạn xem xét thực tế là nhu cầu hoạt động là đáng tin cậy và độ trễ-giáp. Không phải ai cũng làm điều đó, và đó là lý do tại sao nhiều thiết bị IoT thực sự xấu.

Sự lựa chọn tiêu chuẩn giữa 802.11 b / g / n sẽ không thực sự ảnh hưởng đến độ trễ của bạn nhiều. Tôi cho rằng chúng tôi giới hạn độ trễ <10ms, bởi vì mọi thứ về điều đó sẽ "chỉ hoạt động trong 99,5% trường hợp sử dụng phần cứng WiFi tốt".

Nếu bạn đang ở trong một kịch bản giới hạn độ trễ, bạn chắc chắn sẽ không

  • sử dụng TCP (và do đó, MQTT, xây dựng trên đỉnh đó)
  • sử dụng một thiết bị mô phỏng một liên kết nối tiếp chậm - nếu các gói của bạn có 4 ký tự và bạn có 9600 baud, thì bạn sẽ mất một phần nghìn giây chỉ để lấy dữ liệu từ ThẻC đến thiết bị WiFi
  • sử dụng WiFi, vì không có gì đảm bảo rằng trạm của bạn sẽ có thể gửi trong một cửa sổ thời gian hữu hạn, tất cả (chỉ có khả năng)

Nếu bạn cần độ tin cậy, mặt khác, bạn không được

  • sử dụng UDP thuần túy (vì không có đảm bảo hoặc phản hồi nào về việc các gói đến đích)
  • sử dụng giao thức vô tuyến một chiều thuần túy (cùng lý do)
  • sử dụng một chiếc ESP8266, mang lại lợi thế về giá cho việc thiếu kiểm tra, thiết kế và chứng nhận cho hoạt động có độ tin cậy cao (và do đó, không có nhà sản xuất điện tử lớn nào sẽ sử dụng mà không tự kiểm tra, trong trường hợp đó là các mô-đun làm sẵn từ các nhà sản xuất đáng tin cậy thường trở nên rẻ hơn)

Vì vậy, trước hết, hãy xác định các yêu cầu về độ trễ và yêu cầu độ tin cậy của bạn là gì. Bạn phải có một mảnh giấy nói

Độ trễ cho giao tiếp {một | hai} cần phải là <{độ trễ tối đa} trong {phần trăm có thể chấp nhận}% các trường hợp. Không được có xác suất nhiều hơn {phần trăm chấp nhận được}% khi mất gói.

Sau đó, bạn có thể xem xét các giới hạn lý thuyết của các hệ thống, và sau đó xem xét các giới hạn thực tế của việc triển khai của những người phù hợp với điều đó.


Trước hết, bạn đang làm một cái gì đó RẤT đúng ... Cảm ơn! :) Bây giờ nó chỉ là một ví dụ về đồ chơi, hơn cả những gì tôi dự định cung cấp như một sản phẩm thực sự. Sự lựa chọn tiêu chuẩn giữa 802.11 b / g / n sẽ không thực sự ảnh hưởng đến độ trễ của bạn nhiều. Tôi không nghĩ nó sẽ tạo ra quá nhiều sự khác biệt, nhưng tôi nghĩ tôi sẽ hỏi. Tôi vẫn sẽ thực hiện một số thử nghiệm của riêng mình, nhưng rõ ràng tôi không có thiết bị để làm điều đó kỹ lưỡng như phòng thí nghiệm. Đối với EPS8266 và Wi-Fi - tôi đoán, vì nó rẻ hơn nên tôi sẽ thử trước - và thử một cái gì đó khác nếu nó không được chấp nhận.
seanlano

Tôi chắc chắn sẽ xác định một tuyên bố về độ trễ chấp nhận và xác suất mất gói tin của tôi - và sử dụng nó làm tiêu chí của tôi để tiếp tục sử dụng ESP8266 hay không.
seanlano
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.