- yêu cầu phần cứng
- Cấu hình Mô-đun XBee bằng XCTU
- Sơ đồ mạch cho phần máy thu
- Thiết lập Raspberry Pi cho giao tiếp nối tiếp
- Lập trình Raspberry Pi cho giao tiếp XBee
- Kiểm tra giao tiếp XBee không dây bằng Raspberry Pi
Trong hướng dẫn trước, chúng tôi đã giao tiếp mô-đun XBee với Arduino Uno và làm cho chúng giao tiếp không dây bằng mô-đun XBee. Bây giờ chúng ta sẽ giao diện mô-đun XBee với Raspberry Pi, mô-đun này sẽ hoạt động như một bộ thu và làm cho nó giao tiếp không dây với một mô-đun XBee khác (bảng XBee explorer) được kết nối nối tiếp với máy tính xách tay.
yêu cầu phần cứng
- 1 x Raspberry Pi với Raspbian được cài đặt trong đó
- 2 x mô-đun XBee Pro S2C (có thể sử dụng bất kỳ mô hình nào khác)
- 1 x bảng khám phá XBee (tùy chọn)
- 1 bảng Xbee Breakout (tùy chọn)
- cáp USB
- Đèn LED
Giả định rằng Raspberry Pi của bạn đã được cài sẵn hệ điều hành. Nếu không, hãy làm theo hướng dẫn Bắt đầu với Raspberry Pi trước khi tiếp tục. Ở đây chúng tôi đang sử dụng Rasbian Jessie đã cài đặt Raspberry Pi 3.
Ở đây Màn hình ngoài sử dụng cáp HDMI được sử dụng làm màn hình để kết nối với Raspberry Pi. Nếu không có màn hình, bạn có thể sử dụng máy khách SSH (Putty) hoặc máy chủ VNC để kết nối với Raspberry pi bằng Laptop hoặc máy tính. Tìm hiểu thêm về cách thiết lập Raspberry Pi dễ dàng tại đây.
Cấu hình Mô-đun XBee bằng XCTU
Như chúng ta đã tìm hiểu trong hướng dẫn trước của ZigBee Giới thiệu rằng mô-đun XBee có thể hoạt động như một Điều phối viên, Bộ định tuyến hoặc một thiết bị Kết thúc nhưng nó cần được cấu hình để hoạt động ở chế độ mong muốn. Vì vậy, trước khi sử dụng các mô-đun XBee với Raspberry Pi, chúng ta phải cấu hình các mô-đun này bằng phần mềm XCTU.
Để kết nối mô-đun XBee với máy tính xách tay, một bộ chuyển đổi USB sang nối tiếp hoặc bảng thám hiểm được thiết kế riêng được sử dụng. Chỉ cần kết nối mô-đun XBee với bo mạch Explorer và cắm nó với máy tính xách tay bằng cáp USB.
Nếu bạn không có bất kỳ bộ chuyển đổi hoặc bảng thám hiểm nào, thì bảng Arduino có thể được sử dụng như một thiết bị nối tiếp USB có thể dễ dàng giao tiếp với XBee và máy tính xách tay. Chỉ cần tải lên bản phác thảo trống trong bảng Arduino và bây giờ nó có thể hoạt động giống như một bộ chuyển đổi USB sang Serial.
Cấu hình Mô-đun XBee:
Ở đây trong hướng dẫn này, một bảng Explorer được sử dụng để cấu hình các mô-đun XBee.
Tải xuống phần mềm XCTU từ liên kết này và cài đặt nó. Sau khi tải xuống và cài đặt phần mềm XCTU, hãy mở nó và đảm bảo rằng mô-đun XBee của bạn được kết nối đúng cách. Kiểm tra cổng COM của bảng Arduino trong trình quản lý thiết bị.
1. Bây giờ, hãy nhấp vào nút tìm kiếm. Điều này sẽ hiển thị cho bạn tất cả các thiết bị RF được kết nối với máy tính xách tay của bạn. Trong trường hợp của chúng tôi, nó sẽ chỉ hiển thị một mô-đun XBee.
2. Chọn cổng nối tiếp của bảng Explorer / bảng Arduino và nhấp vào Tiếp theo.
3. Trong cửa sổ tiếp theo, thiết lập các thông số cổng USB như hình bên dưới và nhấp vào Hoàn tất.
4. Chọn thiết bị Đã khám phá và nhấp vào Thêm thiết bị đã chọn . Quá trình này sẽ thêm mô-đun XBee của bạn vào bảng điều khiển XCTU.
5. Bây giờ, bạn có thể cấu hình mô-đun XBee của mình trong cửa sổ này. Bạn có thể sử dụng lệnh AT hoặc nhập dữ liệu theo cách thủ công. Như bạn có thể thấy, có chữ R hiển thị trên bảng điều khiển bên trái có nghĩa là XBee đang ở chế độ bộ định tuyến. Chúng ta phải biến nó thành Điều phối viên cho phần máy phát.
Đầu tiên, cập nhật Firmware bằng cách nhấp vào Cập nhật firmware.
6. Chọn họ Sản phẩm của thiết bị có sẵn ở mặt sau mô-đun XBee của bạn. Chọn bộ chức năng và phiên bản phần sụn như được tô sáng bên dưới và nhấp vào Cập nhật.
7. Bây giờ, bạn phải cung cấp dữ liệu ID, MY và DL để tạo kết nối với XBee khác. ID vẫn giữ nguyên cho cả hai mô-đun. Chỉ có MY và dữ liệu DL trao đổi tức là MY cho máy thu XBee trở thành DL của máy phát XBee (bộ điều phối) và DL cho máy thu XBee trở thành MY của máy phát XBee. Đặt CE làm Điều phối viên và sau đó nhấn nút Viết. Như hình bên dưới.
ATDL |
ATMY |
||
XBee 1 điều phối viên |
|||
Thiết bị đầu cuối XBee 2 |
8. Sau khi ghi dữ liệu trên vào phần máy phát, hãy rút nó ra khỏi bảng thám hiểm và cắm mô-đun XBee thứ hai vào đó. Lặp lại quá trình tương tự như trên chỉ có các thay đổi là DL, MY và CE. Vì chúng ta sẽ tạo XBee thứ hai làm thiết bị Kết thúc nên trong menu thả xuống CE, hãy chọn Thiết bị kết thúc và nhấn nút Viết.
9. Bây giờ, các mô-đun XBee của chúng tôi đã sẵn sàng để giao tiếp với Raspberry Pi. Chúng tôi sẽ kết nối bộ phát XBee với máy tính xách tay và bộ thu XBee với Raspberry Pi. Sau đó đưa ra lệnh cho bộ phận nhận bằng máy tính xách tay. máy tính xách tay.
Sơ đồ mạch cho phần máy thu
Các kết nối để giao tiếp mô-đun ZigBee với Raspberry PI được hiển thị trong sơ đồ mạch.
Kết nối:
- Tx (pin2) của XBee -> Tx của pin Raspberry Pi
- Rx (pin3) của XBee -> Rx của pin Raspberry Pi
- Gnd (pin10) của XBee -> GND của pin Raspberry Pi
- Vcc (Pin1) của XBee -> 3.3v của pin Raspberry Pi
- Led được kết nối với GPIO 23
Thiết lập Raspberry Pi cho giao tiếp nối tiếp
Bây giờ, chúng ta sẽ thiết lập Raspberry Pi cho giao tiếp Serial. Theo mặc định, cổng nối tiếp phần cứng của Pi bị tắt. Vì vậy, chúng ta phải kích hoạt nó trước khi bắt đầu kết nối.
1. Trong terminal, chạy lệnh raspi-config .
2. Chuyển đến tùy chọn 5 Tùy chọn giao diện và nhấn enter. Bây giờ, hãy chọn tùy chọn P6 Serial và Enable nó rồi lưu.
Thoát khỏi thiết bị đầu cuối và bạn đã sẵn sàng tạo kết nối giữa Raspberry Pi và XBee. GPIO14 và 15 sẽ hoạt động như Tx và Rx tương ứng và chúng có sẵn tại cổng / dev / ttyS0 của raspberry pi.
Bây giờ, chúng ta sẽ viết một tập lệnh python để BẬT đèn LED bất cứ khi nào chúng ta nhận được 'a' từ phía máy phát XBee.
Lập trình Raspberry Pi cho giao tiếp XBee
Chương trình python hoàn chỉnh để giao tiếp XBee với Raspberry Pi được đưa ra ở cuối.
Đầu tiên, chúng ta phải nhập các thư viện thời gian, tuần tự và RPi.GPIO bằng chức năng nhập.
nhập thời gian nhập nhập nối tiếp nhập RPi.GPIO dưới dạng GPIO …
Bây giờ, hãy viết các thuộc tính của kết nối nối tiếp, xác định cổng, tốc độ truyền và chẵn lẻ như bên dưới.
ser = serial.Serial ( port = '/ dev / ttyS0', baudrate = 9600, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE , bytesize = serial.EIGHTBITS, timeout = 1 )
Viết tất cả các phần tử gửi và nhận trong vòng lặp while.
trong khi 1:
Bạn có thể sử dụng chức năng ser.write để gửi tin nhắn đến phía máy phát. Bỏ ghi chú các dòng dưới đây để gửi số lượng.
# ser.write (str.encode ('Ghi bộ đếm:% d \ n'% (bộ đếm))) # time.sleep (1) #counter + = 1
Để nhận tin nhắn, chúng ta phải sử dụng hàm ser.readline () . Lưu trữ tin nhắn đến trong một biến và kiểm tra điều kiện. Nếu tin nhắn đến là 'a' thì BẬT đèn LED trong 3 giây rồi TẮT đèn LED.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Mã Python hoàn chỉnh với Video trình diễn được đưa ra ở cuối hướng dẫn. Dán mã vào bất kỳ trình soạn thảo văn bản nào của Pi và lưu nó. Chạy tập lệnh trong terminal bằng sudo python script_name.py HOẶC bạn có thể sử dụng Python IDE và Shell để thực thi tập lệnh.
Kiểm tra giao tiếp XBee không dây bằng Raspberry Pi
Bây giờ, tất cả chúng ta đều bắt đầu kiểm tra máy phát và máy thu XBee của mình. Để đưa ra lệnh cho phần máy phát, chúng tôi sẽ sử dụng thiết bị đầu cuối bảng điều khiển của XCTU. Nhấp vào biểu tượng Bảng điều khiển gần tùy chọn cài đặt. Sau đó, nhấp vào nút Mở để kết nối XBee với máy tính xách tay.
Nhập 'a' vào nhật ký Bảng điều khiển. Bạn sẽ thấy rằng đèn LED sẽ BẬT trong 3 giây và sau đó nó TẮT.
Bằng cách này, bạn cũng có thể kết nối XBee bộ phát với bảng Arduino như được mô tả trong hướng dẫn trước và làm cho Raspberry Pi và Arduino giao tiếp với nhau.