259973943 xbee-node-temperature-sensor
TRANSCRIPT
[Type text] Page 1
Trang
I. Mục tiêu đồ án: 2
II. Chuẩn ZigBee: 4
III. Xbee: 8
1. Tổng quan về Xbee: 9
2. Hoạt động của RF Module: 10
a. Serial communications: 10
b. Xbee/Xbee-Pro addressing: 13
c. Các mode hoạt động của Xbee: 14
i. Idle mode: 15
ii. Transmit/Receive mode: 15
iii. Sleep mode: 16
iv. Command mode: 18
3. API command: 19
IV. Tiến hành thực hiện: 26
V. Kết quả đạt được: 30
VI. Ứng dụng và phát triển: 33
[Type text] Page 2
I. Mục tiêu đồ án:
Mục tiêu của đồ án: thiết kế một mạng wireless nhằm thực hiện các nhiệm
vụ thu thập giá trị nhiệt độ môi trường, kiểm tra trạng thái tiếp điểm của relay
rồi thông báo về cho trạm gốc và từ trạm gốc có thể thực hiện điều khiển tắt
mở đèn ở các node.
Hình 1: Sơ đồ tổng quát
Để thực hiện được mô hình này ta cần có 3 thiết bị RF nhằm thu và phát tín
hiệu wireless cho nhau, và ở mỗi node sẽ có 1 vi điều khiển để xử lý những
lệnh mà trạm gốc truyền đến và để thu thập dữ liệu nhiệt độ, trạng thái tiếp
điểm và thông qua thiết bị RF để truyền về cho trạm gốc.
Trạm gốc
Node2
Node3
[Type text] Page 3
Mô hình sẽ như sau:
Hình 2: Sơ đồ mô hình
Về việc chọn thiết bị để thực hiện mô hình này, ta có nhiều sự lựa chọn cho
RF module và MCU.
Kỹ thuật truyền không dây ta có nhiều sự lựa chọn như Bluetooth, Zigbee,
Wifi, WiMAX.
Ta có thể quan sát bảng 1 so sánh 3 chuẩn Bluetooth, Zigbee, Wifi:
Bảng 1: so sánh Zigbee, Wifi, Bluetooth.
[Type text] Page 4
Như bảng trên thì ta có thể dễ dàng nhận ra là chuẩn ZigBee có những ưu
điểm so với các chuẩn khác như độ tin cậy cao, công suất thấp, giá thành
thấp, dễ mở rộng hệ thống.
Để thực hiện mô hình mạng này ta sử dụng chuẩn ZigBee bởi chip Xbee pro
S1.
Để thu thập và xử lý dữ liệu, ta sử dụng vi điều khiển MSP430G2553, vi
điều khiển này có ưu điểm là tiết kiệm năng lượng, giá thành rẻ.
II. Chuẩn ZigBee:
ZigBee là một công nghệ được xây dựng dựa trên tiêu chuẩn của IEEE, đáp
ứng cho sự phát triển rộng khắp của mạng WSNs giá thành thấp, công suất
tiêu thụ thấp dùng cho các ứng dụng điều khiển từ xa, điều khiển thiết bị
trong nhà, ứng dụng trong các tòa nhà tự động trong công nghiệp và thương
[Type text] Page 5
mại. Các chuẩn mạng không dây như Bluetooth, Wifi dùng cho ứng dụng đòi
hỏi tốc độ dữ liệu cao tiêu thụ công suất lớn, phức tạp và giá thành cao. Tuy
nhiên, có nhiều ứng dụng mạng không dây trong giám sát và điều khiển trong
công nghiệp và thương mại đòi hỏi thời gian sử dụng pin dài hơn, tốc độ dữ
liệu thấp và ít phức tạp hơn các chuẩn không dây này. Để đáp ứng cho sự
phát triển theo hướng thương mại, cần có một chuẩn thỏa các yêu cầu về độ
tin cậy, an ninh, công suất thấp và giá thành thấp.
Các ứng dụng không dây như thế đã được phát triển bởi IEEE. Tiêu chuẩn
IEEE 802.15.4 cung cấp tốc độ dữ liệu thấp với thời gian sử dụng pin nhiều
tháng đến nhiều năm và ít phức tạp.
Tiêu chuẩn hướng đến hoạt động ở một băng tần quốc tế. Chuẩn này quy
định về lớp vật lý (PHY) và điều khiển truy cập (MAC). Các chức năng được
định nghĩa bởi ZigBee Alliance được dùng ở các lớp cao hơn.
Hình 3 biểu diễn cấu trúc các lớp trong giao thức của ZigBee.
Tổ chức ZigBee Alliance đưa ra các thông số ZigBee đầu tiên vào năm 2004,
tạo tiền đề cho sự phát triển và ứng dụng rộng rãi của mạng WSNs.
ZigBee/IEEE 802.15.4 được chờ đợi trở thành công nghê dẫn đầu cho những
ứng dụng thương mại.
[Type text] Page 6
Hình 3: Mô hình giao thức Xbee
Một số cấu trúc liên kết mạng cho công nghệ ZigBee. Các node trong một
mạng ZigBee có thể liên kết với nhau theo cấu túc mạng hình sao (star), cấu
trúc mạng hình lưới (mesh), hay cấu trúc mạng bó cụm hình cây (cluster
tree).
Cấu trúc hình sao:
Dùng một số bộ điều phối mạng (là một thiết bị FFD). Chỉ có một thiết bị
FFD đóng vai trò bộ điều phối, tất cả các thiết bị FFD còn lại và RFD đều có
thể kết nối với bộ điều phối mạng. Bộ coordinator sẽ khởi tạo và xây dựng
các thiết bị đầu cuối trong mạng. Mỗi mạng hình sao đều phải có chỉ số nhận
dạng (ID) riêng của mình, nó cho phép mạng này có thể hoạt động độc lập,
có thể lên đến 65536 thiết bị.
Cấu trúc hình mắt lưới:
Cấu trúc mắt lưới cho phép tạo đường đi từ mọi thiết bị nguồn đến mọi thiết
bị đích. Cấu trúc mạng này cũng có duy nhất một bộ điều phối mạng. Các bộ
thu radio của bộ điều phối và các bộ định tuyến phải luôn luôn ở chế độ hoạt
động.
Cấu trúc hình cây:
[Type text] Page 7
Cấu trúc này là một dạng đặc biệt của cấu trúc mắt lưới, trong đó đa số thiết
bị là FFD và một RFD có thể kết nối vào mạng hình cây như một nốt rời rạc
ở điểm cuối của nhánh cây. Bất kỳ một FFD nào cũng có thể hoạt động như
là một coordinator và cung cấp tín hiệu đo0ọng bộ cho các thiết bị và các
coordinator khác vì thế mà cấu trúc mạng kiểu này có quy mô phủ song và
khả năng mở rộng cao. Trong loại cấu hình này mặc dù có thể có nhiều
coordinator nhưng chỉ có duy nhất một bộ điều phối mạng PAN (PAN
coordinator).
Hình 4: mô hình liên kết mạng.
Ở hình trên ta thấy có 2 dạng thiết bị là FFD, RFD.
FFD (full function device) là thiết bị có đầy đủ chức năng. FFD
có thể thông tin với mọi thiết bị khác trong cùng mạng với nó và
còn có khả năng giao tiếp với thiết bị thuộc mạng khác.
RFD (reduced function device) là thiết bị có chức năng bị hạn
chế. Một RFD là thiết bị đơn giản mang các chức năng hạn chế
hơn so với FFD. RFD chỉ bao gồm giao diện vật lý đáp ứng tiêu
[Type text] Page 8
chuẩn lớp MAC IEEE 802.15.4 với khả năng xử lý hạn chế, mức
công suất tiêu thụ thấp và ít phức tạp hơn FFD.
Có ba nhóm thiết bị logic (theo chức năng):
Bộ điều phối mạng (coordinator):
Một thiết bị FFD chịu trác nhiệm xây dựng và điều hành mạng
đóng vai trò bộ điều phối mạng. Bộ điều phối có chức năng chon
ra các thông số cho việc cấu hình mạng và lưu trữ các thông tin
về hoạt động của mạng.
Bộ định tuyến (Router):
Một thiết bị FFD có chức năng định tuyến cho dữ liệu, hoạt động
như một thiết bị trung gian liên kết các thành phần khác của
mạng và truyền thông điệp giữa các thiết bị ở các xa nhau. Một
router có thể thôn tin với một router khác hay thiết bị đầu cuối.
Thiết bị đầu cuối (End device):
Một thiết bị RFD chỉ có chức năng thông tin với node cấp trên
của nó (parent node) như bộ điều phối mạng hay bộ định tuyến.
Một thiết bị đầu cuối không có khả năng chuyển tiếp thông điệp
đến các thiết bị đầu cuối khác.
Bộ điều phối mạng PAN coordinator này tạo ra nhóm đầu tiên cách tự bầu ra
người lãnh đạo cho mạng của mình, và gán cho người lãnh đạo đó một chỉ số
nhận dạng cá nhân đặc biệt gọi là CID-0 bằng cách tự thành lập CLH (cluster
head) bằng CID-0 (cluster identifier), nó chọn một PAN identifier rỗi và phát
khung tin quảng bá nhận dạng tới các thiết bị lân cận. Thiết bị nào nhận được
khung tin này có thể yêu cầu kết nối vào mạng với CLH. Nếu bộ điều phối
mạng PAN (PAN coordinator) đồng ý cho thiết bị đó kết nối thì nó sẽ ghi tên
thiết bị đó vào danh sách. Cứ thế thiết bị mới kết nối này lại trở thành CLH
của nhánh cây mới và bắt đầu phát quảng bá định kỳ để các thiết bị khác có
thể kết nối vào mạng.
[Type text] Page 9
III. Xbee:
1. Tổng quan về Xbee:
Hình 3: Chip Xbee thực tế và sơ đồ chân.
Bảng 2: Tên gọi và chức năng các chân.
[Type text] Page 10
2. Hoạt động của RF Module:
a. Serial communications:
Uart data flow:
Thiết bị có giao tiếp UART có thể kết nối trực tiếp với module Xbee như
hình dưới.
Hình 4: Kết nối Xbee module và vi điều khiển thông qua giao tiếp UART.
Serial Data
Dữ liệu truyền vào module UART thông qua chân DI (pin 3) như một tín
hiệu liên tục không đồng bộ. Tín hiệu phải idle hight khi không có dữ liệu
được truyền.
Mỗi byte dữ liệu bao gồm một start bit (low), 8 dữ liệu bits và 1 stop bit
(hight). Hình vẽ dưới đây minh họa cho mô hình chuỗi bit dữ liệu truyền vào
module.
Hình 5: Gói dữ liệu UART 0x1F truyền qua RF module
[Type text] Page 11
Module UART làm nhiệm vụ định thời và kiểm tra chẵn lẻ, đây là điều cần
thiết cho việc truyền thông tin. Chuỗi thông tin dựa vào 2 UARTs được cấu
hình với các thiết lập tương thích (baud rate, parity, start bit, stop bit, data
bits).
Flow control
Hình 6: sơ đồ luồng dữ liệu nội bộ
DI (Data In) Buffer
Khi chuỗi dữ liệu truyền vào RF module thông qua DI pin (pin
3), dữ liệu sẽ được lưu trữ trong DI buffer cho đến khi có thể xử
lý.
Hardware flow control (𝑪𝑻𝑺 ). Khi DI buffer còn 17 bytes
trống; mặc định, module sẽ de-assert 𝐶𝑇𝑆 (hight) để ra tín hiệu
cho host device ngừng gởi dữ liệu. 𝐶𝑇𝑆 sẽ re-asserted sau khi DI
buffer đã có đủ 34 bytes trống,
Làm thế nào để loại bỏ sự cần thiết của flow control:
o Gởi dữ liệu nhỏ hơn so với độ lớn của DI buffer.
o Giao diện UART có tốc độ truyền thấp hơn tốc độ dữ liệu.
Trường hợp DI buffer có thể đầy hay tràn:
Nếu module nhận một chuỗi dữ liệu liên tục, một vài dữ liệu gởi
đến chân DI sẽ được lưu ở DI buffer. Và dữ liệu ở DI buffer sẽ
được truyền over-the-air khi module không còn nhận dữ liệu RF
trong mạng.
[Type text] Page 12
DO Buffer (Data out)
Khi dữ liệu RF được nhận, dữ liệu vào DO buffer và được gởi ra
khỏi serial port đến host device. Một khi DO buffer đã đầy thì bất
kỳ dữ liệu nào truyền vào đều mất.
Hardward flow control (𝑹𝑻𝑺 ). If 𝑅𝑇𝑆 cho phép flow control
(D6 (DIO6 configuration)=1), dữ liệu sẽ không thể truyền ra khỏi
DO buffer khi mà 𝑅𝑇𝑆 (pin 16) là de-asserted (hight).
Hai trường hợp mà DO buffer đầy hay tràn:
o Nếu tốc độ dữ liệu RF cao hơn tốc độ dữ liệu cấu hình của
module, module sẽ nhận dữ liệu từ transmitting module
nhanh hơn so với tốc độ nó có thể truyền dữ liệu đến host.
o Nếu host không cho phép module truyền dữ liệu ra khỏi
DO buffer, việc này cũng có thể làm cho DO buffer của
module bị đầy hay tràn.
b. Xbee/Xbee-Pro addressing:
Mỗi gói dữ liệu RF đều chứa đựng Source address và Destination address ở
vùng header của nó. Xbee hỗ trợ cả 64 bit address và 16bits address. 64 bits
address là duy nhất và được quy định bởi nhà sản xuất và có thể đọc thông
qua SL (Serial number low) và SH (Serial number hight). Module sẽ sử dụng
64bits address của nó như là source address nếu như MY (16bits address) của
nó có giá trị là “0xFFFF” hay “0xFFFE”.
Để gởi một gói dữ liệu đến một module sử dụng 64bits address: ta phải thiết
lập Destination address (DL+DH) bằng với (SL+SH) của module đó.
Để gởi một gói dữ liệu đến một module sử dụng 16bits address: ta phải thiết
lập giá trị DH = 0 và DL bằng với giá trị MY của module đó.
[Type text] Page 13
i. Chế độ Unicast:
Ở mặc định thì xbee sẽ hoạt động ở chế độ Unicast. Unicast hỗ trợ retries.
Khi đang ở mode này, receiving module sẽ gởi ACK cho transmitting module
khi nhận được gói dữ liệu từ transmitter này. Nếu như transmitting module
không nhận được gói ACK này thì nó sẽ tiến hành gởi lại 3 lần hoặc cho đến
khi nhận được gói ACK.
Short 16bits address. Module có thể được cấu hình để sử dụng 16bits
address như một source address (bằng cách thiết lập giá trị MY <0xFFFE).
Thiết lập DH =0 và DL <0xFFFE thì destination address sẽ sử dụng 16bits
address. Và để 2 module có thể truyền phát cho nhau thì destination address
của transmitter phải bằng MY của receiver.
Parameter RF module 1 RF module 2
MY (source address) 0x01 0x02
DH (Destination Address hight) 0 0
DL (Destination Address low) 0x02 0x01
Bảng 3. Ví dụ đặt địa chỉ cho 2 module.
Long 64bits address. Module sẽ sử dụng Long 64bits address như là source
address khi mà giá trị MY của nó bằng 0xFFFF hay 0xFFFE. Và Long 64bits
address được lưu trữ trong giá trị SH và SL.
Khi đó để 2 module truyền được cho nhau thì Destination address (DL và
DH) của transmitter phải bằng với Source address (SL và SH) của receiver.
ii. Chế độ Broadcast:
Khi thiết lập chế độ Broadcast thì receiver sẽ không gởi gói ACK cũng như
transmitter sẽ không tự động re-send gói tin như Unicast.
Để gởi một gói tin Broadcast thì ta cần thiết lập giá trị cho DH và DL như
sau:
DL (Destination low address) = 0x0000FFFF.
DH (Destination hight address) = 0x00000000 (giá trị mặc định).
[Type text] Page 14
c. Các mode hoạt động của Xbee:
Module Xbee hoạt động ở 5 mode như
hình vẽ bên.
Hình 4: Các chế độ hoạt động của
module Xbee.
i. Idle mode:
Khi không truyền hay nhận dữ liệu, module RF sẽ ở chế độ Idle mode.
Module sẽ chuyển sang hoạt động ở các mode khác trong những trường hợp
sau đây.
Transmit mode (Serial data được nhận ở DI buffer)
Receiver mode (RF data hợp lệ nhận được bởi anten)
Sleep mode (Điều kiện để vào sleep mode được đáp ứng)
Command mode (Command Mode Sequence is issued)
ii. Transmit/Receive mode:
RF data Packets
Mỗi gói tin đều chứa một trường source address và destination address.
[Type text] Page 15
Truyền trực tiếp và gián tiếp (direct and indirect transmission)
Có 2 phương pháp để truyền dữ liệu:
Trực tiếp – Dữ liệu sẽ được truyền ngay cho destination address.
Gián tiếp – Một gói dữ liệu sẽ duy trì trong một khoảng thời gian và chỉ
truyền đi khi destination module yêu cầu gói data đó. Phương pháp
truyền này chỉ tồn tại ở coordinator. Chế độ truyền gián tiếp này rất
hữu dụng khi để chắc chắn rằng gói tin được giao cho một sleeping
node. Coordinator có thể lưu trữ 2 thông tin gián tiếp.
Giá trị SP (cyclic sleep period) của coordinator phải được thiết lập bằng
với khoảng thời gian ngủ của end device nào có khoảng thời gian ngủ
dài nhất. Giá trị SP của coordinator xác định khoảng thời gian mà nó sẽ
giữ lại một indirect message trước khi loại bỏ nó.
Trong mạng NonBeacon, một End device sẽ phải hỏi coordinator mỗi
khi nó thức dậy từ chế độ sleep để xem coordinator có indirect message
cho nó không. Việc này được thực hiện tự động mỗi khi module thức
dậy (sau khoảng thời gian SP)
Acknowledgement
Nếu một gói tin (không phải broadcast) được gởi đi, module sẽ mong
chờ nhận được một ACK từ destination node. If không nhận được ACK, nó
sẽ truyền lại 3 lần hay cho đến khi nào nhận được ACK.
iii. Sleep mode:
Sleep mode sẽ cho phép module vào trạng thái tiêu thụ ít công suất khi
module nảy không được sử dụng. Để vào sleep mode thì một trong các điều
kiện dưới đây phải thỏa (giá trị SM của module phải khác 0):
Sleep_RQ (pin 9) phải ở mức cao.
[Type text] Page 16
Module đang ở trạng thai Idle (không truyền nhận dữ liệu) trong một
khoảng thời gian được xác đinh bởi giá trị ST (Time before sleep).
[Lưu ý rằng ST chỉ có giá trị khi SM =4 hoặc 5.]
Thiết lập
chết độ
sleep mode
Sự thay đổi
để vào
Sleep Mode
Sự thay đổi
để ra khỏi
Sleep Mode
Đặc tính Lệnh
liên
quan
Công suất
tiêu thụ
Pin
Hibernate
(SM=1)
Assert
Sleep_RQ
De-assert
Sleep_RQ
Pin/Host-
controlled/Nonbeacon
systems only/ lowest
power
SM < 10 μA
(@3.0 VCC)
Pin Doze
(SM=2)
Assert
Sleep_RQ
De-assert
Sleep_RQ
Pin/Host-
controlled/Nonbeacon
systems only/fastest
wake-up
SM < 50 μA
Cycle
Sleep (SM
=4-5)
Tự động
vào Sleep
mode, được
xác định
bởi giá trị
SM và ST
Sự chuyển
đổi xảy ra
sau thời
gian ngủ
(được xác
định bởi
SP)
RF module wakes in
pre-determined time
intervals to detect if
RF data is present /
When SM = 5,
NonBeacon systems
only
SM,
ST, SP
< 50 μA
when
sleeping
Bảng 4: Sleep mode
Pin/Host-controlled sleep mode
Pin Hibernate (SM=1)
o Pin/Host-controlled
o Dòng <10µA (3VCC)
o Wake-up time: 13.2 msec
Chế độ pin hibernate tối thiểu tiêu hao năng lượng cho module khi ở
trong trạng thái nghỉ ngơi hay không hoạt động. Khi chân Sleep_RQ
được set mức cao thì module sẽ ngưng tất cả các hoạt động thu phát,
truyền nhận dữ liệu để vào trạng thái Idle và sau đó đi vào trạng thái
ngủ. Trong khi ngủ nó sẽ không thực hiện bất cứ việc gì.
[Type text] Page 17
Để thoát khỏi trạng thái Sleep mode thì ta cần thiết lập mức thấp cho
chân Sleep_RQ. Sau đó Module sẽ sẵn sàng để thực hiện việc truyền
nhận dữ liệu khi CTS ở mức thấp. Khi module thức dậy, chân phải
được de-asserted một khoảng thời gian ít nhất bằng thời gian 2 byte sau
khi CTS xuống mức thấp. Điều này để đảm bảo rằng có khoảng thời
gian để dữ liệu có thể đi vào DI buffer.
Pin Doze (SM=2)
o Pin/Host-controlled
o Typical power-down current: <50µA (When asleep)
o Wake-up time: 2msec
Chức năng Pin Doze giống như chế độ Pin Hibernate. Tuy nhiên trong
chế độ này module sẽ tiêu thụ công suất nhiều hơn và Wake-up time
nhanh hơn.
Cyclic Sleep mode
Cyclic sleep Remote (SM=4)
o Typical Power-down current: <50µA
o Wake-up time: 2msec
Chế độ này cho phép module kiểm tra tín hiệu RF một cách định kỳ.
Mỗi lần thức dậy, module sẽ gởi thăm dò đến coordinator hỏi xem có
dữ liệu gởi cho nó không tại thời điểm cụ thể được thiết lập bởi thông
số SP. Nếu coordinator có dữ liệu thì nó sẽ truyền cho module remote
này. Remote sẽ duy trì trạng thái wake để nhận xong dữ liệu và sẽ trở
về trạng thái sleep mode sau khi hết thời gian ST.
Nếu không có dữ liệu cho remote, coordinator sẽ không truyền và
remote sẽ trở về trạng thái sleep.
Note: CTS luôn xuống mức thấp mỗi khi remote thức dậy.
Cyclic Sleep Remote with Pin Wake-up (SM=5)
Sử dụng mode này để đánh thức sleeping remote module bằng cả RF
interface hoặc bằng cách de-asserted of Sleep_RQ. Hoạt động của
Cyclic sleep Remote hoạt động như mô tả ở phần trên, thêm vào đó là
[Type text] Page 18
chức năng Pin-controlled wake-up ở remote module. Chân Sleep_RQ là
edge-triggered, không phải là level-triggered. Module sẽ thức dậy khi
nó xác định được cạnh xuống ở chân Sleep_RQ và nó sẽ thiết lập trạng
thái mức logic thấp cho chân CTS ngay khi module sẵn sàng truyền và
nhận dữ liệu.
Bất kỳ hoạt động nào xảy ra cũng đều làm reset ST timer do đó module
sẽ trở về trạng thái sleep mode khi không thực hiện bất kỳ hoạt động gì
trong khoảng thời gian ST.
iv. Command mode:
Để sữa đổi và đọc các thông số RF của module, đầu tiên module cần phải vào
chế độ command mode. Có 2 lựa chọn cho Command mode được hỗ trợ là:
AT command mode và API Command mode.
AT Command Mode
Để vào AT command mode:
Gởi 3 ký tự “+++” và quan sát khoảng thời gian bảo vệ trước và sau ký
tự lệnh. Tham khảo Default AT Command Mode Sequencedưới đây:
o Không có ký tự nào gởi trong vòng 1giây. (Guard time
(GT)=0x3E8).
o Nhập 3 ký tự “+++” trong vòng 1 giây. (CC (Command sequence
character)=0x2B).
o Không có ký tự nào gởi trong vòng 1 giây. (Guard time
(GT)=0x3E8).
Sau khi thực hiện những yêu cầu trên, module sẽ gởi “OK/r” ra chân
DOUT.
Khi đã vào chế độ Command mode, bộ timer sẽ khởi động (CT), và
module có thể nhận AT command mode ở chân DIN.
Để gởi AT Command:
Để gởi 1 AT command và thông số thì ta thực hiện theo cấu trúc sau:
[Type text] Page 19
Hình 5: cấu trúc AT Command
Để đọc thông số của module được lưu trong thanh ghi thì ta sẽ bỏ phần
Parameter.
Phản hồi từ hệ thống
Khi nhận được AT command thì module sẽ tiến hành phân tích và thực
hiện lệnh đó. Sau khi thực hiện thành công, module sẽ gởi thông điệp
“OK”. Nếu quá trình thực hiện xãy ra lỗi, module sẽ gởi thông điệp
“ERROR”.
Để thoát khỏi chế độ AT command mode:
Ta có 2 cách để thoát khỏi chế độ AT command mode:
o Gởi lệnh ATCN cho module.
o Nếu module không nhận bất kỳ lệnh AT command nào hợp lệ
trong khoảng thời gian được xác định bởi giá trị CT (Command
mode timeout), module sẽ tự động trở lại chế độ Idle.
3. API command:
Những ưu điểm của API command:
Acknowledgement và Retried.
Nhận gói RX, chứa đựng source address của transmitting module.
Dễ dàng truyền unicast với nhiều địa chỉ khác nhau và broadcast.
Gói tin được kiểm tra bởi bit checksum.
[Type text] Page 20
a) API Frame:
Ta có hai chế độ API mode được hỗ trợ bởi module, ta có thể sử
dụng thông số AP để thiết lập chế độ của API mode như sau:
AP=0 (default): Transparent Operation (UART Serial line
replacement)
API =1: API hoạt động
API =2: API hoạt động (character escaped)
API Operation (AP =1)
Khi chế độ API này được thiết lập, cấu trúc khung dữ liệu
UART sẽ được xác định như hình dưới:
Hình 6: Cấu trúc khung dữ liệu API command (AP=1)
API Operation – with Escape Characters (AP =2)
Khi API mode hoạt động với AP=2, cấu trúc khung dữ kiệu
UART sẽ được xác định như hình vẽ dưới đây:
Hình 7: Cấu trúc khung dữ liệu API command khi (AP=2)
[Type text] Page 21
b) API Type:
API mode có nhiều kiểu lệnh với mục đích sử dụng khác nhau.
Cấu trúc của 1 khung dữ liệu UART như sau:
Mỗi loại API mode sẽ được phân biệt bởi giá trị API Identifier và
đồng thời có cấu trúc khác nhau.
API Identifier: 0x8A (Mode status)
Thông báo trạng thái của module RF được gởi từ các module để
đáp ứng với điều kiện cụ thể
[Type text] Page 22
API Identifier Value: 0x08 (AT Command)
“AT Command” cho phép truy vấn và thiết lập các thông số của
module. Khi sử dụng lệnh có ID này thì giá trị thông số mới sẽ
được chấp nhận ngay lập tức.
[Type text] Page 23
API Identifier Value: 0x09 (AT command-Queue Parameter
Value)
Cho phép truy vấn và thiết lập thông số cho module.
PI IdenAtifier Value: 0x88 (AT Commnad response)
Mục đích là gởi phản hồi cho lệnh AT command trước.
[Type text] Page 24
API Identifier value:0x00 (TX (transmit) request: 64-bit
address):
Một thông điệp yêu cầu sẽ được gởi đến module như một gói dữ
liệu RF.
API Identifier Value:0x01 (TX (transmit) Request: 16-bit
address:
[Type text] Page 25
API Identifier Value:0x89 (TX (transmit) Status):
Khi một TX Request hoàn thành, module gởi 1 thông tin TX
status. Thông tin này sẽ chỉ ra rằng gói tin đã được gởi thành
công hay thất bại.
API Identifier Value: 0x80 (RX (receive) packet: 64-bit
address
Khi module nhận được 1 gói RF, nó sẽ gởi ra ngoài UART sử
dụng loại thông điệp này.
[Type text] Page 26
API Identifier Value:0x81 (RX (receive) Packet: 16-bit
address:
IV. Tiến hành thực hiện:
Xác định cấu trúc mạng: ở đây ta sử dụng cấu trúc Star để thực hiện đồ án
này. Với một coordinator được kết nối với PC và 2 node là End device được
kết nối với vi điều khiển MSP430G2553.
Chọn chế độ Command mode cho Xbee: ở đây ta chọn chế độ API
command mode, vì những ưu điểm đã được nêu ra ở phần API mode.
Tiến hành viết code cho MSP430G2553 (sử dụng ngôn ngữ C): MSP430
cần thực hiện những chức năng sau:
Có thể điều khiển đèn
Thu thập tín hiệu nhiệt độ từ IC LM35.
Đọc trạng thái tiếp điểm của relay
Truyền và nhận dữ liệu với Xbee thông qua giao tiếp UART.
Có thể lấy dữ liệu từ khung dữ liệu API command.
[Type text] Page 27
Viết Guide (sử dụng ngôn ngữ C#): Guide cần đảm bảo có những chức
năng sau:
Có thể chọn node muốn điều khiển
Điều khiển đèn on hay off
Hiển thị nhiệt độ và trạng thái tiếp điểm của mỗi node
Thiết lập các thông số cho xbee:
Để Xbee có thể hoạt động đúng như mong muốn thì ta cần phải thiết lập các
thông số sau đây (Sử dụng phần mềm X-CTU):
CH và ID của các chip Xbee phải giống nhau
Ở đây ta sử dụng 16bit-address như là source address nên cần thiết lập
thông số MY của mỗi module.
o MY của coordinator=1
o MY của node 2 =2
o MY của node 3 =3
Thiết lập các thông số cho sleep mode
o Thông số SP của coordinator phải có giá trị lớn hơn so với giá trị
SP lớn nhất của các sleeping remote.
o Thông số ST của coordinator phải có giá trị bé hơn hoặc bằng với
giá trị ST của các sleeping remote.
o 2 End device phải có giá trị SM=4 (chọn chế độ sleep),
coordinator có SM=0.
Thông số AP của cả 3 module đều phải được thiết lập giá trị bằng 1
(API enable).
[Type text] Page 29
\
Hình 9: giao diện của guide khi chạy
Hình 10: Thiết lập các thông số cho module Xbee bằng phần mềm X-CTU.
[Type text] Page 33
VI. Ứng dụng và phát triển:
Hiện nay, các nghiên cứu về mạng không dây đã có được những bước phát
triển mạnh mẽ, đã được ứng dụng rộng rãi trong các lĩnh vực an ninh quốc
gia, chăm sóc sức khỏe, môi trường, năng lượng, an toàn thực phẩm và sản
xuất…
Các ứng dụng của mạng không dây:
Ứng dụng trong Quân sự và an ninh quốc gia
Giám sát chiến trường
Bảo vệ an ninh cho các công trình trọng yếu
Ứng dụng trong quân đội
Thông tin, giám sát, điều khiển.
Theo dõi mục tiêu
Giám sát dưới nước, trên không
Hệ thống radars
Rà soát Bom mìn
Ứng dụng trong bảo vệ môi trường
Phát hiện hoạt động núi lửa
Giám sát cháy rừng
Giám sát dịch bệnh
Sử dụng hiệu quả tài nguyên thiên nhiên
Cảm biến dùng trong nông nghiệp
Phát hiện động đất
Ứng dụng trong thương mại
Điều khiển không lưu
Quản lý kiến trúc và xây dựng
Điều khiển nhiệt độ