Mục lục:
Video: RSSI đến khoảng cách với mô-đun RF (Xbees): 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Xbees là mô-đun Tần số vô tuyến nhỏ có thể hữu ích để gửi thông tin qua lại và một số mục đích sử dụng cụ thể khác. Đối với dự án này, tôi đang sử dụng chúng để nhận các giá trị Chỉ báo cường độ tín hiệu đã nhận (RSSI) nhằm ước tính khoảng cách giữa hai mô-đun Xbee. Tôi muốn chia sẻ công việc của mình về dự án này vì tôi đã thấy rất ít hướng dẫn đầy đủ về cách lấy RSSI với Xbees. Tôi thấy rằng một cách dễ dàng để đọc các giá trị RSSI của Xbee và diễn giải chúng là Arduino. Đối với hướng dẫn này, bạn sẽ cần một lượng nhỏ kiến thức về Arduino để có thể tải lên mã đã cho và chỉnh sửa nếu cần. Màn hình nối tiếp tích hợp trên Arduino có thể hiển thị các giá trị RSSI và sau đó, nếu bạn muốn đi xa hơn, bạn có thể gắn một màn hình LED hoặc màn hình LCD để giải thích chúng mà không cần máy tính.
Hướng dẫn cụ thể này sử dụng một mô-đun Xbee3 "máy phát" được lập trình trong Micropython và một "máy thu" xbee3 được gắn vào Arduino Uno thông qua một tấm chắn Xbee. Cũng có thể gửi các gói bằng cách kết nối cả hai gói với Arduino Uno của riêng họ, được đề cập trong hướng dẫn trực tuyến của người khác tại đây. Mô-đun Xbee3 là bắt buộc vì chúng là mô-đun Xbee duy nhất chạy Micropython và chúng là một trong số ít Xbee cung cấp giao thức 802.15.4, bao gồm các giá trị RSSI trong các gói đã gửi.
Quân nhu
- XBee3 (x2)
- Ăng ten u. FL (x2)
- Arduino Uno - lá chắn Xbee được thiết kế cho mô hình này
- Dây kết nối giữa Arduino Uno và cổng USB máy tính (USB A đến USB B)
- XBee Shield (x1)
- Bộ chuyển đổi XBee sang USB (x1)
Lưu ý: Có thể tốt nếu bạn có hai bộ điều hợp để có thể cấu hình cả hai Xbees cùng một lúc và nó cũng tốt cho việc gỡ lỗi vì bạn cũng có thể gửi các gói thông qua XCTU.
Để biến nó thành một hệ thống độc lập (Tùy chọn):
- Bộ nguồn di động không tắt khi dòng điện thấp hoặc đầu nối pin với usb
- Pin với đầu nối arduino và pin 9V
Bước 1: Thiết lập phần cứng
Thiết lập vật lý khá dễ dàng. Hàn một số chân kết nối vào tấm chắn Xbee (dọc theo đáy ở bên ngoài, nơi có các lỗ) và sau đó đẩy nó vào vị trí trên đầu Arduino. VẤN ĐỀ HƯỚNG DẪN - Xếp từng Xbee với dấu vết PCB màu trắng trên đầu tấm chắn ("bộ thu") hoặc bộ điều hợp ("bộ phát"). Để kết nối ăng-ten u. FL, tôi đề xuất hướng dẫn này của Sparkfun.
Bước 2: Cấu hình
Việc thiết lập máy tính có thể phức tạp hơn một chút. Đầu tiên, hãy tải xuống XCTU. Chương trình này được sử dụng để cấu hình Xbees. Tài liệu Xbee3 là một tài nguyên vô giá cho XCTU và cấu hình. Sau đó thực hiện các bước sau với mỗi Xbee được cắm vào máy tính trên bộ điều hợp (đèn LED PWR trên bộ điều hợp sẽ sáng lên).
Trong XCTU, nhấp vào "Khám phá mô-đun radio…" (biểu tượng là một Xbee với kính lúp ở góc trên cùng bên trái) và nhấp vào tiếp theo rồi hoàn tất. Sau đó, đợi cho đến khi Xbee xuất hiện trong tìm kiếm, nhấp vào nó và nhấp vào "Thêm thiết bị đã chọn". Nhấp vào Xbee xuất hiện ở bên trái màn hình và đợi tải cài đặt trước khi nhấp vào "Cập nhật chương trình cơ sở". Làm theo hình đầu tiên ở trên và đặt phiên bản phần sụn thành 802.15.4 và phiên bản mới nhất. Sau đó, cấu hình Xbee "truyền" để khớp với cài đặt "truyền" trong hình thứ hai và thực hiện tương tự đối với Xbee "nhận". Bạn cũng sẽ cần đặt Xbee "nhận" ở chế độ API 2, để giao tiếp với Arduino (điều này rất dễ dàng google nếu bạn chịu khó tìm).
Bước 3: Mã
Đối với Arduino, bạn sẽ cần tải xuống tệp đính kèm đầu tiên trên "máy thu" Xbee. Bạn cũng sẽ cần tải xuống thư viện Xbee-Arduino ở đây. Arduino là một ngôn ngữ đơn giản và được ghi chép đầy đủ, vì vậy nếu có bất kỳ vấn đề nào bạn gặp phải, trang web Arduino là người bạn của bạn.
Mã Micropython là tệp đính kèm thứ hai. Làm theo Hướng dẫn này để tải mã xuống "máy phát" Xbee.
Bước 4: Thử nghiệm
Bây giờ tất cả các phần cần thiết đã sẵn sàng, cuối cùng bạn có thể gửi các gói tin. Đảm bảo rằng "máy phát" Xbee có mã đang chạy và sau đó cắm nó vào nguồn điện (tiếp tục cắm vào máy tính cũng hoạt động tốt). Đối với "máy thu" Xbee, trước tiên hãy cắm Arduino vào máy tính và sau khi mã được tải xuống, hãy mở màn hình nối tiếp. Màn hình nối tiếp sau đó sẽ hiển thị các giá trị (khoảng từ 20-70).
Từ thử nghiệm của riêng tôi, tôi đã phát hiện ra rằng trong không gian rộng mở, các giá trị RSSI tương quan với khoảng cách lên đến 15 ft và trong không gian nhỏ hơn lên đến 5 ft. Điều này là do đa điểm, một vấn đề phổ biến khi nói đến tín hiệu tần số vô tuyến. Tôi hy vọng hướng dẫn này hữu ích và cảm ơn vì đã đọc.
Nguồn: RSSI có thể hướng dẫn khác, RSSI với hai arduinos / xbees, và tài liệu Xbee và Arduino
Đề xuất:
Đo khoảng cách khoảng cách với cảm biến cử chỉ APDS9960: 6 bước
Đo khoảng cách bằng cảm biến cử chỉ APDS9960: Trong hướng dẫn này, chúng ta sẽ học cách đo khoảng cách bằng cảm biến cử chỉ APDS9960, arduino và Visuino. Hãy xem video
Cách tạo thiết bị tạo khoảng cách xã hội Arduino với PIR: 4 bước
Cách tạo thiết bị tạo khoảng cách xã hội Arduino với PIR: 1
Cách theo dõi khoảng cách siêu âm với đám mây IoT của ESP8266 và AskSensors: 5 bước
Cách theo dõi khoảng cách siêu âm với đám mây IoT của ESP8266 và AskSensors: Tài liệu hướng dẫn này trình bày cách theo dõi khoảng cách từ một đối tượng bằng cảm biến siêu âm HC-SR04 và MCU nút ESP8266 được kết nối với đám mây IoT của AskSensors
Sứ giả điều khiển từ xa LoRa với TFT 1,8 "cho khoảng cách lên đến 8km: 8 bước
LoRa Remote Control Messenger Với TFT 1,8 "cho Khoảng cách lên đến 8km: Kết nối dự án với máy tính xách tay hoặc điện thoại của bạn và sau đó trò chuyện giữa các thiết bị mà không cần Internet hoặc SMS chỉ bằng LoRa. Này, có chuyện gì vậy các bạn? Akarsh đây từ CETech. PCB cũng có màn hình hiển thị và 4 nút có thể được sử dụng làm điều khiển từ xa cho
LoRa Messenger cho hai thiết bị với khoảng cách lên đến 8km: 7 bước
LoRa Messenger cho hai thiết bị với khoảng cách lên đến 8km: Kết nối dự án với máy tính xách tay hoặc điện thoại của bạn và sau đó trò chuyện giữa các thiết bị mà không cần internet hoặc SMS chỉ bằng LoRa. Akarsh đây từ CETech. Hôm nay chúng tôi sẽ thực hiện một dự án có thể được kết nối với điện thoại thông minh của bạn hoặc bất kỳ