Lựa chọn tốt nhất cho giao tiếp không dây tầm thấp, năng lượng thấp


9

Tôi đang làm việc trong một dự án dựa trên giao tiếp không dây và tôi đang tìm giải pháp thay thế tốt nhất. Đây là những yêu cầu thiết kế:

  • Dễ dàng giao tiếp với Arduino
  • Hoạt động trong một phạm vi nhỏ (tối đa 5-6 mét)
  • Tiêu thụ ít năng lượng - ít nhất có thể
  • Các thiết bị không được can thiệp lẫn nhau
  • Không cần phải là thời gian thực, độ trễ có thể theo thứ tự hàng trăm mili giây
  • Nói chung, các thiết bị không nằm trong tầm nhìn của nhau (có nghĩa là IR và các giải pháp tương tự sẽ không hoạt động)

Kịch bản là:

Khoảng 10 thiết bị trong cùng một phòng, liên lạc với nhau, gửi tin nhắn ngắn (tối đa 30 ký tự) cho nhau trong một thời gian, trong vài giờ (không thay đổi pin).

Điều tốt nhất tôi có thể tìm thấy là Bluetooth (BLE, cụ thể), chủ yếu là do có một vài mô-đun Arduino + Bluetooth được làm sẵn và nhãn "Năng lượng thấp" đầy hứa hẹn (nhiều nhất là một nửa mức tiêu thụ năng lượng của Bluetooth thông thường), nhưng tôi thích nhận được ý kiến ​​từ những người có nhiều kinh nghiệm trong lĩnh vực này.


2
Tôi bỏ phiếu cho Bluetooth.
nidhin

Cung cấp cho chúng tôi một số thông tin về những gì bạn quyết định không sử dụng, và lý do của bạn.
Jason_L_Bens

Tối đa 5 đến 6 mét - bluetooth có thể hoạt động xa hơn thế này - là 6m tuyệt đối không được vượt quá giới hạn? Sức mạnh rất ít - làm thế nào về bạn tên và xấu hổ một số số ở đây. Không được can thiệp lẫn nhau - điều này có nghĩa chính xác là gì?
Andy aka

@Andyaka: Không, ý tôi là các thiết bị sẽ cách nhau tối đa 6 mét, do đó không cần hỗ trợ khoảng cách lớn hơn. Đối với "rất ít năng lượng", tôi dự định chạy từng thiết bị (mô-đun không dây Arduino + LCD +) trên một hoặc hai pin AA và các thiết bị này sẽ có thể giao tiếp ít nhất một giờ mà không cần thay pin.
Giulio Muscarello

1
Âm thanh như một piconet Bluetooth với tôi.
Ignacio Vazquez-Abrams

Câu trả lời:


3

Hãy xem dòng XBee của tranceivers. Có nhiều loại tùy thuộc vào phạm vi truyền và xếp hạng công suất mong muốn.

Các thiết bị này cũng giao diện với các dự án Arduino gần như tầm thường. Các Seriallàm cho thư viện sử dụng phần cứng UART của AVR mà là trực tiếp tương thích với pin Rx của XBee. Cũng lưu ý rằng không cần thay đổi mức vì pin XBee Rx / Tx hoạt động với 5V!

Tuy nhiên, xin lưu ý rằng XBee phải được cấp nguồn 3,3V, do đó có thể sử dụng bộ điều chỉnh điện áp LDO 3,3V đơn giản.


2

"Tốt nhất" là khó xác định, nhưng tôi sẽ xem xét một bộ thu phát IEEE 802.15.4.

Tôi đã sử dụng MRF24J40MA cho một dự án ( https://github.com/briksoftware/gradusnik ). Bạn có thể thử xem nếu có một số mã bạn có thể sử dụng ở đó. Dự án dành cho PIC, nhưng nhiều thứ thực sự độc lập với nền tảng (đặc biệt là các dự án khác mà nó phụ thuộc vào).

Mô-đun tiêu thụ khoảng 20mA trong rx / tx, không nhiều. Tuy nhiên, để có thời gian sử dụng pin lâu, bạn cần đặt mô-đun ngủ hầu hết thời gian. Bạn có thể sử dụng mạng bật đèn hiệu cho việc này, với một thiết bị đóng vai trò điều phối viên. Mô-đun tiêu thụ một số mật khẩu ở chế độ ngủ (kiểm tra biểu dữ liệu để biết số chính xác)

Vấn đề duy nhất liên quan đến điều đó với Arduino là bạn cần một shifter cấp 5-> 3,3 (nếu Arduino vẫn sử dụng 5v).

Một bộ thu phát phổ biến khác cho giao thức IEEE 802.15.4 là mô-đun XBee, nhưng nó đắt hơn nhiều.


2

Tôi không coi đó là một vấn đề không dây mà là vấn đề về giao thức.

Nếu bảo tồn pin là tên của trò chơi và nếu một thiết bị có thể, thông qua lập trình phù hợp, áp dụng vai trò "chủ" tạm thời thì mỗi thiết bị khác có thể được phân bổ một khoảng thời gian. Khi việc phân bổ được thực hiện thì chủ tạm thời có thể trở lại thành một người ngang hàng nhưng điều quan trọng là một khung thời gian đã được tạo và tất cả các đồng nghiệp sẽ mua vào khung này.

Cái này làm gì Có một khoảng thời gian có nghĩa là bạn có thể tắt radio trong hàng trăm mili giây và thức dậy để xem liệu có một đường truyền nào đang được dự định nhận. Khi một đồng nghiệp thức dậy, nó phải chờ xem liệu có ai trong số 8 người khác đang gửi tin nhắn đến nó không. Thời gian là rất quan trọng nhưng nếu bạn muốn có thời lượng pin dài thì hãy tập trung vào giao thức. Câu trả lời này chỉ là một ý tưởng. Thời gian đánh thức sẽ được chia thành 8 khe khác mà 8 trong số các đồng nghiệp khác được phân bổ để truyền phát và, nếu một người đang truyền thì những người khác có thể lắng nghe trước để kiểm tra xem họ có thể truyền hay không. Một cái gì đó như thế này: -

nhập mô tả hình ảnh ở đây

Khe "tiếp theo" cho phép các đồng nghiệp mới tham gia nhóm.

Máy thu phát điện thấp là nơi phổ biến vì vậy tôi sẽ không xem xét điều này.


2

Hãy thử các mô-đun txrx 433 mhz giá rẻ. chúng có ích và có thể dễ dàng giao tiếp với arduino. Tôi sử dụng chúng cho các dự án robot sở thích cá nhân của tôi.


2

Chỉ tò mò tại sao Mô-đun thu phát không dây NRF24L01 2.4GHz chưa được đề cập? Nó là một đơn vị năng lượng thấp, có thể được chuyển sang chế độ chờ để rút thậm chí thấp hơn. Nó hoạt động ngoài 3.3v, vì vậy có thể sử dụng một arduino công suất thấp hoặc bộ chia, và tốt nhất là khá rẻ?

Đây là trang sản phẩm nRF24L01 + cùng với Hướng dẫn nRF24L01 có chứa thông tin về việc kết nối một với Arduino với mã mẫu.


0

RFM12B xuất hiện trong tâm trí ..

http://www.hoperf.com/rf/fsk_module/RFM12B.htm

Một số tính năng:

  • Giao diện tương thích SPI
  • Tốc độ dữ liệu cao (lên tới 115,2 kbps ở chế độ kỹ thuật số)
  • Cấp điện 2.2V-3.8V
  • Tự động điều chỉnh ăng-ten
  • Dữ liệu RX 16 bit FIFO
  • Độ lệch tần số TX có thể lập trình (từ 15 đến 240 kHz)
  • Băng thông máy thu lập trình (từ 67 đến 400 kHz)
  • Chỉ báo cường độ tín hiệu tương tự và kỹ thuật số
  • Đồng hồ và đặt lại tín hiệu đầu ra để sử dụng MCU bên ngoài

Giao diện comms SPI nên được thiết lập công bằng với Arduino.

Mẫu RFM12B-S2 được bán với giá dưới 7 đô la những ngày này.

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.