LỜI MỞ ĐẦUTừ những yêu cầu thực tế, xu hướng đòi hỏi ngày càng cao của cuộc sống cùng với sự phát triển mạnh mẽ của nhiều thiết bị thông minh di động nên em đã chọn đề tài đồ án tốt nghi
Trang 1MỤC LỤC
LỜI MỞ ĐẦU 3
CHƯƠNG I : GIỚI THIỆU MODULE SIM900, TẬP LỆNH ATCOMMAND 1.1 Tổng quan về tin SMS 5
1.2 Giới thiệu Module SIM900 5
1.2.1 Tổng quan về Module SIM900 5
1.2.2 Đặc điểm của Module SIM900 6
1.2.3 Khảo sát sơ đồ chân và chức năng từng chân của SIM900 8
1.3 Khảo sát tập lệnh AT Command của Module SIM900 10
1.3.1 Khởi tạo cấu hình mặc định cho module 12
1.3.2 Delete tin nhắn trong SIM 14
1.3.3 Thực hiện cuộc gọi 15
1.3.4 Nhận cuộc gọi đến 16
1.3.5 Đọc tin nhắn 18
1.3.6 Gửi tin nhắn 19
1.3.7 Các lệnh khác : 21
CHƯƠNG II : KHẢO SÁT VI ĐIỀU KHIỂN PIC16F887A 2.1 Giới thiệu về vi điều khiển PIC 16F877A 22
2.1.1 Tổng quan về họ Vi điều khiển PIC 22
2.1.2 Một số đặc tính của Vi điều khiển PIC 23
2.1.3 Những đặc tính ngoại vi 24
2.1.4 Đặc điểm về tương tự 24
2.1.5 Các đặc điểm đặc biệt 24
2.1.6 Công nghệ CMOS 25
2.2 Giới thiệu về PIC16F8XX và PIC16F877A : 25
2.3 Cấu trúc, chức năng PIC16F887A loại 40 chân PDIP 27
2.3.1 Sơ đồ chân, chức năng các chân 27
2.3.2 Cấu trúc bên trong của PIC16F877A 31
2.3.3 Các cổng xuất nhập 33
Trang 22.3.4 Khối chức năng ngoại vi 36
2.3.5 Tổ chức bộ nhớ 36
2.3.6 Thanh ghi chức năng đặc biệt SFR: 37
2.3.7 Chế độ Reset 39
2.3.8 Chế độ Sleep 39
2.3.9 “Đánh thức” vi điều khiển 39
2.3.10 Ngắt (interput) 40
2.4 Bộ chuyển đổi ADC trong PIC16F887A 41
CHƯƠNG III : GIAO TIẾP GIỮA VI ĐIỀU KHIỂN – SIM900, KHỐI NGUỒN, NGUYÊN LÝ HOẠT ĐỘNG 3.1 Giao tiếp giữa PIC16F887A và module SIM900 45
3.1.1 Tìm hiểu giao tiếp nối tiếp UART 45
3.2 Giao tiếp giữa PIC16F887A với khối relay 46
3.3 Khối nguồn 48
3.4 Nguyên lý hoạt động 48
CHƯƠNG IV : THIẾT KẾ - THI CÔNG HỆ THỐNG 4.1 Dụng cụ và vật liệu 51
4.2 Thiết kế và thi công mô hình 52
CHƯƠNG V : TỔNG KẾT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 5.1 Kết quả và đánh giá đồ án 57
5.2 Hướng phát triển đề tài 58
5.3 Tài liệu tham khảo 58
CHƯƠNG VI : PHẦN MỀM HỆ THỐNG
Trang 3LỜI MỞ ĐẦU
Từ những yêu cầu thực tế, xu hướng đòi hỏi ngày càng cao của cuộc sống cùng với sự phát triển mạnh mẽ của nhiều thiết bị thông minh di động nên em đã chọn đề tài đồ án tốt nghiệp : " ĐIỀU KHIỂN THIẾT BỊ GIA ĐÌNH BẰNG SMS " được thể hiện thông qua “ MÔ HÌNH NHÀ THÔNG MINH ”
Nội dung đồ án :
Đồ án thiết lập một hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắn SMS gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến các thiết
bị tinh vi, phức tạp như tivi, máy giặt, điều hòa, hệ thống báo động … Nó hoạt động như một ngôi nhà thông minh Nghĩa là tất cả các thiết bị này có thể giao tiếp với nhau về mặt dữ liệu thông qua một đầu não trung tâm Đầu não trung tâm ở đây là một bộ điều khiển dùng PIC 16F887A đã được lập trình sẵn tất cả các chương trình điều khiển Bình thường, các thiết bị trong ngồi nhà có thể được điều khiển từ xa thông qua các tin nhắn của gia chủ Chẳng hạn như việc tắt quạt, đèn điện … khi gia chủ quên chưa tắt trước khi ra khỏi nhà Hay chỉ với một tin nhắn SMS, gia chủ có thể bật máy điều hòa để làm mát phòng trước khi về nhà trong một khoảng thời gian nhất định Bên cạnh đó thiết bị cũng gửi thông báo cho người điều khiển biết khi có người lạ đột nhập vào nhà thông qua hệ thống báo động dùng hồng ngoại, khi nhiệt
độ tăng cao có nguy cơ cháy hay gửi thông báo cảnh báo sự rò rỉ khí gas trong gia đình Ngoài ra, hệ thống còn mang tính bảo mật Nghĩa là chỉ có gia chủ hay các thành viên trong gia đình, người biết mật khẩu của ngôi nhà thì mới điều khiển được ngôi nhà
Mục đích và phương pháp nghiên cứu/thực hiện đồ án :
Đồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những kiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống quản lý, hệ thống cảnh báo trong nhà một cách hoàn chỉnh Hệ thống tích hợp module điều khiển giám sát trung tâm, module công suất cho các thiết bị trong nhà và và module báo
Trang 4động (cảnh báo) cùng các module tiện ích khác Với module báo động sử dụng cảm biến hồng ngoại sẽ gửi thông tin dữ liệu về bộ xử lí trung tâm khi có tác động của đối tượng bên ngoài (người lạ đột nhập) Module cảm biến khí gas/cảm biến nhiệt độ sẽ gởi thông tin dữ liệu về bộ xử lý trung tâm khi có khí gas bị rò rỉ/nhiệt độ trong nhà tăng quá giới hạn quy định Qua xử lý, dữ liệu sẽ được gửi về thiết bị đầu cuối (mobile) của người điều khiển để báo cho biết có tác động của đối tượng bên ngoài (người lạ đột nhập), hay khí gas đang rò rỉ để có phương án giải quyết
Trong đề tài này em đã sử dụng các phương pháp nghiên cứu :
Phương pháp tham khảo tài liệu : phần lớn các tài liệu được tham khảo trên
mạng qua các diễn đàn điện tử, trang web cung cấp tài liệu học tập
Phương pháp quan sát : khảo sát một số mạch thực tế đang có trên thị trường,
các mô hình tốt nghiệp của anh chị các khóa trước và tham khảo thêm một số dạng mạch từ mạng Internet
Phương pháp thực nghiệm: từ những ý tưởng và kiến thức vốn có của mình
kết hợp với sự hướng dẫn của giáo viên, em đã lắp ráp thử nghiệm nhiều dạng mạch khác nhau để từ đó chọn lọc những mạch điện tối ưu Thiết kế mạch điện
sử dụng các linh kiện thực tế Thử nghiệm và tối ưu sản phẩm trực quan các phần không mô phỏng được
Kết quả đạt được :
Đồ án đã đạt được những kết quả cụ thể sau :
Tìm hiểu về tập lệnh AT của Module sim 900
Thực hiện kết nối giữa Module SIM900 với vi điều khiển 16F887A
Hoàn thành mục tiêu đặt ra là điều khiển được các thiết bị điện trong nhà bằng SMS và hoàn thiện hệ thống cảnh báo
Trang 5CHƯƠNG I : GIỚI THIỆU MODULE SIM900, TẬP
LỆNH ATCOMMAND
1.1 Tổng quan về tin SMS
SMS là từ viết tắt của Short Message Service Đó là một công nghệ cho phép gửi và nhận các tín nhắn giữa các điện thoại với nhau Dữ liệu có thể được lưu giữ bởi một tin nhắn SMS là rất giới hạn Một tin nhắn SMS có thể chứa tối đa là 140 byte (1120 bit) dữ liệu Vì vậy, một tin nhắn SMS chỉ có thể chứa :
160 kí tự nếu như mã hóa kí tự 7 bit được sử dụng
70 kí tự nếu như mã hóa kí tự 16 bit Unicode UCS2 được sử dụng Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau Nó có thể hoạt động tốt với nhiều ngôn ngữ mà có hỗ trợ mã Unicode, bao gồm cả Arabic, Trung Quốc, Nhật bản và Hàn Quốc
1.2 Giới thiệu Module SIM900
1.2.1 Tổng quan về Module SIM900
Một modem GSM là một modem wireless, nó làm việc cùng với một mạng wireless GSM Một modem wireless thì cũng hoạt động giông như một modem quay
số Điểm khác nhau chính ở đây là modem quay số thì truyền và nhận dữ liệu thông qua một đường dây điện thoại cố định trong khi đó một modem wireless thì việc gửi nhận dữ liệu thông qua sóng
Giống như một điện thoại di động GSM , một modem GSM yêu cầu 1 thẻ sim với một mạng wireless để hoạt động
Module SIM 900 là một trong những loại modem GSM Nhưng Module SIM
900 được nâng cao hơn có tốc độ truyền dữ liệu nhanh hơn Nó sử dụng công nghệ GSM/GPRS hoạt động ở băng tầng GSM 850Mhz, EGSM 900Mhz, DCS 1800 Mhz
và PCS 1900Mhz, có tính năng GPRS của Sim 900
Trang 6Hình 1.2.1 Module SIM900
1.2.2 Đặc điểm của module SIM900
+ Nguồn cung cấp khoảng 3,4 – 4,5V + Nguồn lưu trữ
+ Băng tần: GSM 850Mhz EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz SIM900 có thể tự động tìm kiếm các băng tần
+ Phù hợp với GSM Pha 2/2+
Loại GSM là loại MS nhỏ
Kết nối GPRS
8 lớp điện dung
10 lớp điện dung + Giới hạn nhiêt độ :
Bình thường -300C tới +800C
Hạn chế : - 400C tới -300C và +800C tới +850C
Nhiệt độ bảo quản: -450C tới 900C + Dữ liệu GPRS :
GPRS dữ liệu tải xuống: Max 85.6 kbps
GPRS dữ liệu úp lên: Max 42.8 kbps
Trang 7 Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
Sim 900 hổ trợ giao thức PAP, kiểu sử dụng kết nối PPP
Sim 900 tích hợp giao thức TCP/IP
Chấp nhận thông tin được điều chỉnh rộng rãi + SMS :
MT, MO, CB, Text and PDU mode
Bộ nhớ SMS: Sim card + Sim card :
Hỗ trợ sim card: 1,8v ; 3v + Anten ngoài :
Kết nối thông qua anten ngoài 500km hoặc đế anten + Âm thanh :
Dạng mã hòa âm thanh
Mức chế độ (ETS 06.20)
Toàn bộ chế độ (ETS 06.10)
Toàn bộ chế độ tăng cường (ETS 06.50/ 06.06/ 06.80)
Loại bỏ tiếng dội + Giao tiếp nối tiếp và sự ghép nối :
Cổng nối tiếp : 8 Cổng nối tiếp (ghép nối)
Cổng kết nối có thể Sd với CSD Fax, GPRS và gửi lệnh ATCommand tới module điều khiển
Cổng nối tiếp có thể Sd chức năng giao tiếp
Hỗ trợ tốc độ truyền 1200 BPS tới 115200 BPS
Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
Cổng hiệu chỉnh lỗi chỉ sử dụng sữa lỗi + Quản lý danh sách :
Hỗ trợ mẫu danh sách: SM, FD, LD, RC,ON, MC + Đồng hồ thời gian thực :
Trang 8 Người cài đặt + Times function :
Lập trình thông qua AT Command + Đặc tính vật lý (đặc điểm) :
Kích thước 24mmx24mmx24mm> Nặng 3.4g
1.2.3 Khảo sát sơ đồ chân và chức năng từng chân của SIM900
Hình 1.2.2 Sơ đồ chân SIM900
Trong đồ án đã sử dụng Breakout SIM 900 tức là SIM 900 đã được thế kế kết nối phù hợp thành module để tiện phục vụ cho nội dung cần thiết trong đồ án
Trang 9Hình 1.2.3 Sơ đồ thiết kế Breakout của Module SIM900
Trang 10Sơ đồ chân Breakout:
Hình 1.2.4 Sơ đồ chân Breakout SIM900
Chân 1: Chân ON/OFF ta cần kích 1 xung có mức tích cực dương vào khoảng 1s, lúc này đèn status sẽ sáng, sau đó chớp nháy với tần suất nhanh báo hiệu SIM900 đang khởi động và tìm mạng Sau 10s sau Led Status nhấp nháy chậm báo hiệu SIM900 đã hoạt động bình thường
Chân 2 : Request to send
Chân 3 : đầu ra dùng để chỉ báo mạng kết nối được hệ thống
Chân 4 : Clear to send
Chân 5 : đầu vào pin dự phòng cho module
Chân 6 : Data carrier detection
Chân 7 : Chân vào của bộ chuyển đổi tín hiệu tương tự sang số
Chân 8 : Ring chân ra loa báo hiệu có cuộc gọi đến
Chân 9, 11 : chân loa nghe cuộc thoại
Chân 13,15 : chân MIC
Chân 10 : chân đầu cuối dữ liệu
Chân 12 : chân truyền dữ liệu
Chân 14 : chân nhận dữ liệu
Chân 16 : chân RESET SIM900
Chân 17,19 : chân nguồn cấp cho sim hoạt động
Chân 18,20 : chân mass
1.3 Khảo sát tập lệnh AT Command của Module SIM900
Các lệnh AT là các hướng dẫn được sử dụng để điều khiển một modem
AT là một cách viết gọn của chữ Attention Mỗi dòng lệnh của nó bắt đầu với
Trang 11“AT” hay “at” Đó là lý do tại sao các lệnh modem được gọi là các lệnh AT Nhiều lệnh của nó được sử dụng để điều khiển các modem quay số sử dụng dây mối (wired dial-up modems), chẳng hạn như ATD (Dial), ATA (Answer), ATH (Hool control) và ATO (return to online data state), cũng được hỗ trợ bởi các modem GSM/GPRS và các điện thoại di động
Bên cạnh bộ lệnh AT thông dụng này, các modem GSM/GPRS và các điện thoại di động còn được hỗ trợ bởi một bộ lệnh AT đặc biệt đối với công nghệ GSM Nó bao gồm các lệnh liên quan tới SMS như AT+ CMGS (gửi tin nhắn SMS), AT+CMSS (gửi tin nhắn SMS từ một vùng lưu trữ), AT+CMGL (chuỗi liệt kê các tin nhắn SMS) và AT+CMGR (đọc tin nhắn SMS) Ngoài ra, các modem GSM còn hỗ trợ một bộ lệnh AT mở rộng Những lệnh AT mở rộng này được định nghĩa trong các chuẩn của GSM Với các lệnh AT mở rộng này
có thể làm một số thứ như sau :
Đọc,viết, xóa tin nhắn
Gửi tin nhắn SMS
Kiểm tra chiều dài tín hiệu
Đọc, viết và tìm kiếm về các mục danh bạ
Số tin nhắn SMS có thể được thực thi bởi một modem SMS trên một phút thì rất thấp, nó chỉ khoảng từ 6 đến 10 tin nhắn SMS trên 1 phút
Trong khuôn khổ của đồ án em chỉ tìm hiểu 1 số tập lệnh cơ bản phục vụ cho công việc của mình Sau đây em xin giới thiệu 1 số tập lệnh cơ bản để thao tác dùng cho dịch vụ SMS, bao gồm :
Khởi tạo
Nhận cuộc gọi
Thiết lập cuộc gọi
Trang 12 Nhận tin nhắn
Gửi tin nhắn
Các thuật ngữ em dùng :
<CR> : carriage return (0x0D)
<LF> : Line Feed (0x0A)
MT : Mobile Terminal :Thiết bị đầu cuối mạng (chính là module)
TE : Terminal Equipment: Thiết bị đầu cuối (chính là vi điều khiển)
1.3.1 Khởi tạo cấu hình mặc định cho modem
Hình 1.3.1 Cấu hình mặc định cho SIM900
(1) ATZ<CR> reset modem, kiểm tra modem đã hoạt động bình thường chưa
Gửi nhiều lần cho chắc ăn, cho đến khi nhận được chuỗi :
ATZ<CR><CR><LF>OK<C><LF>
Trang 13(2) ATE0<CR> tắt chế độ TE cho lệnh Chuỗi trả về có dạng : ATE0<CR><CR><LF>OK<CR><LF>
(3) AT+CLIP=1<CR> định dạng chuỗi trả về khi nhân cuộc gọi Thông
thường, ở chế độ mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng :
<CR><LF>RING<CR><LF>
Sau khi lệnh AT+CLIP=1<CR> đã được thực thi, chuỗi trả về sẽ có dạng : <CR><LF>RING<CR><LF>
<CR><LF>+CLIP:”0922050808”,129,””,,””,0,<CR><LF>
Chuỗi trả về có chứa thông tin về số điện thoại gọi đến Thông tin này cho phép xác định việc có nên nhận cuộc gọi hay từ chối cuộc gọi
Kết thúc các thao tác khởi tạo cho quá trình nhận cuộc gọi đến Các bước khởi tạo tiếp theo liên quan đến các thao tác truyền nhận tin nhắn
(4) AT&W<CR> Lưu cấu hình cài đặt được thiết bị bởi các tập lệnh AET0 và AT+CLIP vào bộ nhớ
(5) AT+CMGF=1<CR> Thiết lập quá trình truyền nhận tin nhắn được thực
hiện ở chế độ text (mặc định là ở chế độ PDU) Chuỗi trả về sẽ có dạng :
<CR><LF>OK<CR><LF>
(6) AT+CNMI=2,0,0,0,0<CR> Thiết lập chế độ thông báo cho TE khi MT
nhận được tin nhắn mới
Chuỗi trả về sẽ có dạng : <CR><LF>OK<CR><LF> Sau khi lệnh trên được
thiết lập, tin nhắn mới nhận được sẽ được lưu trong SIM, và MT không truyền tở về
TE bất cứ thông báo nào TE sẽ đọc tin nhắn được lưu trong sim trong trường hợp cần thiết
(7) AT+CSAS<CR>
Trang 14(8) Lưu cấu hình cài đặt được thiết lập bởi các lệnh AT+CMGF và AT+CNMI
1.3.2 Delete tin nhắn trong SIM
(1) AT+CMGD=1
Xóa tin nhắn ở vùng nhớ 1 trong SIM
Chuỗi trả về sẽ có dạng: <CR><LF>OK<CR><LF>
(2) AT+CMGD=2
Lệnh này được dùng để xóa tin nhắn được lưu trong ngăn số 2
Hình 1.3.2 Cấu hình xóa tin nhắn SIM900
Có thể hình dung bộ nhớ lưu tin nhắn trong SIM bao gồm nhiều Mỗi ngăn được đại diện bằng một số thứ tự Khi nhận được tin nhắn mới, nội dung tin nhắn sẽ được lưu trong một ngăn trống có số thứ tự nhỏ nhất có thể
Việc xóa nội dung tin nhắn ở hai ngăn 1 và 2 cho phép tin nhắn nhận được luôn được lưu vào trong hai ô nhớ này, giúp dễ dàng xác định vị trí lưu tin nhắn vừa nhận được, và giúp cho việc thao tác với tin nhắn mới nhận được trở nên dễ dàng và đơn giản hơn, giảm khả năng việc tin nhắn mới nhận được bị thất lạc ở vùng nhớ nào
đó mà ta không kiểm soát được
Ngoài ra, khi bộ nhớ chứa tin nhắn đầy, MT sẽ không được phép nhận thêm tin nhắn mới nào nữa Những tin nhắn được gửi đến MT trong trường hợp bộ nhớ chứa tin nhắn được gửi đến MT trong trường hợp bộ nhớ chứa tin nhắn của MT đã