259973943 xbee-node-temperature-sensor

34
[Type text] Page 1 Trang I. Mục tiêu đồ án: 2 II. Chun ZigBee: 4 III. Xbee: 8 1. Tng quan vXbee: 9 2. Hoạt động ca RF Module: 10 a. Serial communications: 10 b. Xbee/Xbee-Pro addressing: 13 c. Các mode hoạt động ca 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 thc hin: 26 V. Kết quđạt được: 30 VI. ng dng và phát trin: 33

Upload: duy-quang-nguyen-ly

Post on 12-Feb-2017

155 views

Category:

Engineering


0 download

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 28

Hình 7: quá trình viết code cho MSP430G2552.

Hình 8: quá trình viết guide

[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 30

V. Kết quả đạt được:

Hình 11: Coordinator

[Type text] Page 31

Hình 12: End device (node 2).

[Type text] Page 32

Hình 13: Kết quả đạt được khi chạy guide

[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 độ

[Type text] Page 34

Quản lý tải trong tiêu thụ điện năng

Hệ thống tự động

Ứng dụng trong gia đình

Điều khiển từ xa các thiết bị điện trong nhà

Hệ thống tự động trong gia đình, cảnh báo cháy, quá áp, rò rỉ khí gas.

Giám sát an ninh