MỤC LỤCMỞ ĐẦU ......................................................................................................................... 1CHƯƠNG 1. GIỚI THIỆU VỀ MẠNG DI ĐỘNG GSM .............................................. 3 Tổng quan về mạng di động GSM ..................................................................... 31.1.1. Giới thiệu về mạng di động GSM................................................................ 31.1.2. Đặc điểm mạng di động GSM ..................................................................... 31.1.3. Cấu trúc hệ thống mạng GSM ..................................................................... 4 Tổng quan về tin nhắn SMS ............................................................................... 61.2.1. Lịch sử tin nhắn SMS .................................................................................. 61.2.2. Một số thành phần mạng GSM liên quan đến SMS .................................... 71.2.3. Tin nhắn SMS chuỗiTin nhắn SMS dài ...................................................... 81.2.4. Ưu điểm và một số ứng dụng của tin nhắn SMS ......................................... 9CHƯƠNG 2. GIỚI THIỆU VỀ SIM900 VÀ TẬP LỆNH AT ..................................... 11 Tổng quan về Sim900....................................................................................... 112.1.1. Giới thiệu về sim900.................................................................................. 112.1.2. Sơ đồ chân sim900 ..................................................................................... 132.1.3. Các chế độ hoạt động của sim900 ............................................................. 18 Tập lệnh AT...................................................................................................... 192.2.1. Giới thiệu về tập lệnh AT .......................................................................... 192.2.2. Cú pháp tổng quát của các lệnh AT mở rộng ............................................ 212.2.3. Mã kết quả của lệnh AT............................................................................. 212.2.4. Một số lệnh AT được dùng ........................................................................ 23CHƯƠNG 3. TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC16F877A ............................... 27 Giới thiệu PIC16F877A................................................................................... 27 Cấu trúc bộ nhớ vi điều khiển PIC16F877A................................................... 293.2.1. Bộ nhớ chương trình của PIC16F877A ..................................................... 293.2.2. Bộ nhớ dữ liệu của PIC16F877A............................................................... 30 Các cổng xuất nhập của PIC16F877A ............................................................. 303.3.1. PORTA ...................................................................................................... 313.3.2. PORTB....................................................................................................... 313.3.3. PORTC....................................................................................................... 313.3.4. PORTD ...................................................................................................... 323.3.5. PORTE ....................................................................................................... 32 Giao tiếp nối tiếp – USART ............................................................................. 32 Ngắt – Interrup ................................................................................................. 33 CHƯƠNG 4. THIẾT KẾ, CHẾ TẠO MODULE ĐIỀU KHIỂN ............................... 35 Sơ đồ khối của hệ thống điều khiển ................................................................ 35 Thiết kế phần cứng .......................................................................................... 364.2.1. Module sim900 .......................................................................................... 364.2.2. Khối điều khiển.......................................................................................... 434.2.3. Khối công suất ........................................................................................... 46 Thiết kế phần mềm ........................................................................................... 484.3.1. Lưu đồ chương trình chính ........................................................................ 484.3.2. Lưu đồ xử lý tin nhắn mới ......................................................................... 504.3.3. Lưu đồ thực hiện xử lý nội dung tin nhắn ................................................. 52 Thử nghiệm hệ thống ....................................................................................... 54PHỤ LỤC ...................................................................................................................... 57 MỞ ĐẦU Ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật hiện đại, việc điều khiển các thiết bị điện tử từ đơn giản đến phức tạp đã không còn quá khó khăn. Trong đó, phải kể đến việc điều khiển thiết bị từ xa, như không cần có mặt tại nhà nhưng vẫn có thể điều khiển tắt mở điện hay cổng nhà, hệ thống tưới cây, bật đèn. Đó chỉ là một trong số những ưu điểm vượt bậc của “Nhà thông minh” mà ngày nay các nhà nghiên cứu đang phát triển. Việc điều khiển thiết bị từ xa đã trở nên phổ biến, trên thực tế chúng ta có thể điều khiển thiết bị từ xa thông qua internet, thông qua mạng không dây wireless hay qua sóng điện thoại di động GSM.Mạng GSM hiện nay đã trở nên thông dụng trong cuộc sống, thông qua chiếc điện thoại di động chúng ta có thể trò chuyện, nhắn tin, gọi điện thoại tới bạn bè, người thân. Cùng với sự phát triển của công nghệ, các ứng dụng dựa trên điện thoại cũng phát triển không ngừng cho phép chúng ta mở rộng các ứng dụng của chiếc điện thoại ngoài chức năng nghe, gọi và nhắn tin như dịch vụ ngân hàng SMS banking, tra cứu thông tin, nạp tiền, đăng ký dịch vụ qua SMS. Và trong đồ án này, em sẽ trình bày một ứng dụng cụ thể hơn về việc sử dụng mạng GSM để điều khiển thiết bị từ xa qua tin nhắn bằng việc sử dụng module sim900.Ý nghĩa khoa học và thực tiễn của đề tàiXã hội càng phát triển thì nhu cầu sử dụng các thiết bị điện một cách tự động của con người ngày càng cao. Trên thế giới, việc điều khiển thiết bị từ xa đã được ứng dụng rộng rãi từ lâu. Song tại Việt Nam, việc này chưa làm được một cách phổ biến mà thường áp dụng cho những tòa nhà, biệt thự sang trọng, đắt tiền.Hơn nữa, hiện nay các phương pháp điều khiển từ xa hay dùng như điều khiển qua mạng internet, qua hồng ngoại, bên cạnh những ưu điểm thì cũng tồn tại những nhược điểm nhất định. Ví dụ như để sử dụng được thiết bị điều khiển qua mạng internet thì điều cần thiết là phải có mạng internet và thiết bị sử dụng mạng như máy vi tính, điện thoại có hỗ trợ truy cập internet. Chính điều này đã trở thành một rào cản không nhỏ cho việc phát triển các sản phẩm, bởi vì không phải lúc nào người ta cũng ngồi bên máy vi tính hoặc không phải ai cũng có một chiếc điện thoại có hỗ trợ truy cập internet.Khắc phục những nhược điểm đó, hệ thống điều khiển từ xa bằng tin nhắn SMSthông qua mạng GSM tỏ ra vượt trội và khả năng phát triển cao hơn. Đó là vì ngày nay mạng GSM đã trở nên phổ biến, hầu như ai cũng có một chiếc điện thoại di động, và100% các loại điện thoại di động này đều hỗ trợ tin nhắn SMS. Đây là một lợi thế vượt trội hơn so với điều khiển bằng internet vì có những loại điện thoại không hỗ trợ internet nhưng luôn hỗ trợ SMS. Một lý do khác cũng tác động đáng kể là chi phí của việc sử dụng tin nhắn SMS tương đối nhỏ. Chính vì các lý do trên mà hệ thống điều khiển này có thể áp dụng cho nhiều đối tượng khác nhau trong dân dụng cũng như công nghiệp.Đối tượng nghiên cứuĐối tượng nghiên cứu trong đồ án là: Tổng quan về mạng di động GSM và tin nhắn SMS Sim900 của hãng Simcom và tập lệnh AT để điều khiển Tổng quan về vi điều khiển PIC16F877APhương pháp và nội dung nghiên cứu.Phương pháp và nội dung nghiên cứu trong đồ án là: Nghiên cứu tổng quan về mạng di động GSM và tin nhắn SMS. Nghiên cứu, tìm hiểu về sim900 của hãng Simcom và tập lệnh AT dùngđể điều khiển module sim900.Nghiên cứu, xây dựng chương trình cho vi điều khiển PIC16F877A thực hiện việc điều khiển module sim900 để điều khiển thiết bị từ xa qua tin nhắn SMS.Mặc dù đã có cố gắng, nhưng do thời gian và khả năng hạn chế nên đồ án không thể tránh khỏi những thiếu sót. Em rất mong nhận được sự giúp đỡ, đóng góp ý kiến của thầy cô và các bạn để em có thể hòan thiện đồ án nàyNghiên cứu, thiết kế, chế tạo module đóng ngắt thiết bị điện qua mạng di động gsm
Trang 1MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1 GIỚI THIỆU VỀ MẠNG DI ĐỘNG GSM 3
Tổng quan về mạng di động GSM 3
1.1.1 Giới thiệu về mạng di động GSM 3
1.1.2 Đặc điểm mạng di động GSM 3
1.1.3 Cấu trúc hệ thống mạng GSM 4
Tổng quan về tin nhắn SMS 6
1.2.1 Lịch sử tin nhắn SMS 6
1.2.2 Một số thành phần mạng GSM liên quan đến SMS 7
1.2.3 Tin nhắn SMS chuỗi/Tin nhắn SMS dài 8
1.2.4 Ưu điểm và một số ứng dụng của tin nhắn SMS 9
CHƯƠNG 2 GIỚI THIỆU VỀ SIM900 VÀ TẬP LỆNH AT 11
Tổng quan về Sim900 11
2.1.1 Giới thiệu về sim900 11
2.1.2 Sơ đồ chân sim900 13
2.1.3 Các chế độ hoạt động của sim900 18
Tập lệnh AT 19
2.2.1 Giới thiệu về tập lệnh AT 19
2.2.2 Cú pháp tổng quát của các lệnh AT mở rộng 21
2.2.3 Mã kết quả của lệnh AT 21
2.2.4 Một số lệnh AT được dùng 23
CHƯƠNG 3 TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC16F877A 27
Giới thiệu PIC16F877A 27
Cấu trúc bộ nhớ vi điều khiển PIC16F877A 29
3.2.1 Bộ nhớ chương trình của PIC16F877A 29
3.2.2 Bộ nhớ dữ liệu của PIC16F877A 30
Các cổng xuất nhập của PIC16F877A 30
3.3.1 PORTA 31
3.3.2 PORTB 31
3.3.3 PORTC 31
3.3.4 PORTD 32
3.3.5 PORTE 32
Giao tiếp nối tiếp – USART 32
Ngắt – Interrup 33
Trang 2CHƯƠNG 4 THIẾT KẾ, CHẾ TẠO MODULE ĐIỀU KHIỂN 35
Sơ đồ khối của hệ thống điều khiển 35
Thiết kế phần cứng 36
4.2.1 Module sim900 36
4.2.2 Khối điều khiển 43
4.2.3 Khối công suất 46
Thiết kế phần mềm 48
4.3.1 Lưu đồ chương trình chính 48
4.3.2 Lưu đồ xử lý tin nhắn mới 50
4.3.3 Lưu đồ thực hiện xử lý nội dung tin nhắn 52
Thử nghiệm hệ thống 54
PHỤ LỤC 57
Trang 3DANH SÁCH HÌNH ẢNH
Trang 4DANH SÁCH BẢNG
Trang 5MỞ ĐẦU Tính cần thiết của đề tài
Ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật hiện đại, việc điều khiển các thiết bị điện tử từ đơn giản đến phức tạp đã không còn quá khó khăn Trong
đó, phải kể đến việc điều khiển thiết bị từ xa, như không cần có mặt tại nhà nhưng vẫn
có thể điều khiển tắt mở điện hay cổng nhà, hệ thống tưới cây, bật đèn Đó chỉ là một trong số những ưu điểm vượt bậc của “Nhà thông minh” mà ngày nay các nhà nghiên cứu đang phát triển Việc điều khiển thiết bị từ xa đã trở nên phổ biến, trên thực tế chúng ta có thể điều khiển thiết bị từ xa thông qua internet, thông qua mạng không dây wireless hay qua sóng điện thoại di động GSM
Mạng GSM hiện nay đã trở nên thông dụng trong cuộc sống, thông qua chiếc điện thoại di động chúng ta có thể trò chuyện, nhắn tin, gọi điện thoại tới bạn bè, người thân Cùng với sự phát triển của công nghệ, các ứng dụng dựa trên điện thoại cũng phát triển không ngừng cho phép chúng ta mở rộng các ứng dụng của chiếc điện thoại ngoài chức năng nghe, gọi và nhắn tin như dịch vụ ngân hàng - SMS banking, tra cứu thông tin, nạp tiền, đăng ký dịch vụ qua SMS Và trong đồ án này, em sẽ trình bày một ứng dụng cụ thể hơn về việc sử dụng mạng GSM để điều khiển thiết bị từ xa qua tin nhắn bằng việc sử dụng module sim900
Ý nghĩa khoa học và thực tiễn của đề tài
Xã hội càng phát triển thì nhu cầu sử dụng các thiết bị điện một cách tự động của con người ngày càng cao Trên thế giới, việc điều khiển thiết bị từ xa đã được ứng dụng rộng rãi từ lâu Song tại Việt Nam, việc này chưa làm được một cách phổ biến
mà thường áp dụng cho những tòa nhà, biệt thự sang trọng, đắt tiền
Hơn nữa, hiện nay các phương pháp điều khiển từ xa hay dùng như điều khiển qua mạng internet, qua hồng ngoại, bên cạnh những ưu điểm thì cũng tồn tại những nhược điểm nhất định Ví dụ như để sử dụng được thiết bị điều khiển qua mạng internet thì điều cần thiết là phải có mạng internet và thiết bị sử dụng mạng như máy vi tính, điện thoại có hỗ trợ truy cập internet Chính điều này đã trở thành một rào cản không nhỏ cho việc phát triển các sản phẩm, bởi vì không phải lúc nào người ta cũng ngồi bên máy vi tính hoặc không phải ai cũng có một chiếc điện thoại có hỗ trợ truy cập internet
Khắc phục những nhược điểm đó, hệ thống điều khiển từ xa bằng tin nhắn SMS thông qua mạng GSM tỏ ra vượt trội và khả năng phát triển cao hơn Đó là vì ngày nay
Trang 6mạng GSM đã trở nên phổ biến, hầu như ai cũng có một chiếc điện thoại di động, và 100% các loại điện thoại di động này đều hỗ trợ tin nhắn SMS Đây là một lợi thế vượt trội hơn so với điều khiển bằng internet vì có những loại điện thoại không hỗ trợ internet nhưng luôn hỗ trợ SMS Một lý do khác cũng tác động đáng kể là chi phí của việc sử dụng tin nhắn SMS tương đối nhỏ Chính vì các lý do trên mà hệ thống điều khiển này có thể áp dụng cho nhiều đối tượng khác nhau trong dân dụng cũng như công nghiệp
Đối tượng nghiên cứu
Đối tượng nghiên cứu trong đồ án là:
- Tổng quan về mạng di động GSM và tin nhắn SMS
- Sim900 của hãng Simcom và tập lệnh AT để điều khiển
- Tổng quan về vi điều khiển PIC16F877A
Phương pháp và nội dung nghiên cứu
Phương pháp và nội dung nghiên cứu trong đồ án là:
- Nghiên cứu tổng quan về mạng di động GSM và tin nhắn SMS
- Nghiên cứu, tìm hiểu về sim900 của hãng Simcom và tập lệnh AT dùng
để điều khiển module sim900
- Nghiên cứu, xây dựng chương trình cho vi điều khiển PIC16F877A thực hiện việc điều khiển module sim900 để điều khiển thiết bị từ xa qua tin nhắn SMS
Mặc dù đã có cố gắng, nhưng do thời gian và khả năng hạn chế nên đồ án không thể tránh khỏi những thiếu sót Em rất mong nhận được sự giúp đỡ, đóng góp ý kiến của thầy cô và các bạn để em có thể hòan thiện đồ án này
Trang 7CHƯƠNG 1 GIỚI THIỆU VỀ MẠNG DI ĐỘNG GSM Tổng quan về mạng di động GSM
1.1.1 Giới thiệu về mạng di động GSM
GSM là viết tắt của từ “Global System for Mobile Communication” - Mạng
thông tin di động toàn cầu Nó là công nghệ không dây thuộc thế hệ 2G có cấu trúc mạng tế bào, cung cấp dịch vụ truyền giọng nói và chuyển giao dữ liệu chất lượng cao với các băng tần khác nhau: 400Mhz, 900Mhz, 1800Mhz và 1900Mhz được tiêu chuẩn Viễn thông Châu Âu (European Telecommunications Standards Institute – ETSI ) quy định [2]
GSM được xây dựng và đưa vào sử dụng đầu tiên bởi Radiolinja ở Phần Lan Vào năm 1989 công việc liên quan đến quản lý tiêu chuẩn và phát triển mạng GSM được chuyển cho viện Viễn thông Châu Âu, và các đặc tính, tiêu chuẩn của GSM được công bố lần đầu tiên vào năm 1990 Vào cuối năm 1993, đã có hơn 1 triệu thuê bao sử dụng mạng GSM của hơn 70 nhà cung cấp dịch vụ trên 48 quốc gia Hiện nay, GSM được sử dụng bởi hơn 2 tỷ người trên hơn 200 quốc gia và các vùng lãnh thổ khác nhau trên thế giới
GSM là chuẩn phổ biết nhất cho điện thoại di động trên thế giới do khả năng phủ sóng rộng khắp nơi, cho phép người dùng có thể sử dụng điện thoại di động của mình
ở nhiều vùng trên thế giới do các nhà cung cấp dịch vụ thực hiện việc ký kết chuyển vùng với nhau GSM khác với các chuẩn tiền thân của nó về cả tín hiệu lẫn tốc độ và chất lượng cuộc gọi
Lợi thế của mạng di động GSM chính là chất lượng cuộc gọi tốt, giá thành thấp
và dịch vụ tin nhắn dễ dàng Ngoài ra để tạo thuận lợi cho các nhà cung cấp dịch vụ thì công nghệ GSM được xây dựng trên cơ sở hệ thống mở nên có thể kết nối dễ dàng với các thiết bị khác nhau từ các nhà cung cấp thiết bị GSM cũng được phát triển thêm tính năng truyền dữ liệu như GPRS với tốc độ cao hơn sử dụng EDGE như trước đây Tại Việt Nam, công nghệ GSM đã vào Việt Nam từ năm 1993 qua việc cung cấp
hệ thống đầu tiên ở miền Bắc Hiện nay, ba mạng GSM của Việt Nam đang chiếm hầu hết thị trường đó là Viettel, Vinaphone và Mobiphone [2]
1.1.2 Đặc điểm mạng di động GSM
GSM được thiết kế độc lập với hệ thống nên hoàn toàn không phụ thuộc vào phần cứng mà chỉ tập trung vào chức năng và ngôn ngữ giao tiếp của hệ thống Chính
Trang 8điều này đã tạo điều kiện cho người thiết kế phần cứng sáng tạo thêm tính năng và cho phép công ty vận hành mạng mua các thiết bị từ nhiều hãng khác nhau
Cho phép gửi và nhận những mẫu tin nhắn văn bản bằng ký tự dài đến 126 ký tự Cho phép chuyển giao và nhận dữ liệu, Fax giữa các mạng GSM với tốc độ lên tới 9.600kps
Tính phủ sóng cao: công nghệ GSM không chỉ cho phép các thuê bao trong cùng mạng, cùng lãnh thổ quốc gia thực hiện việc kết nối với nhau, mà nó còn cho phép chuyển giao giữa các mạng GSM trên toàn cầu và cho phép thực hiện việc kết nối khi người sử dụng muốn Điều đó có nghĩa là thuê bao có thể mang thiết bị đi mọi nơi và các mạng sẽ tự động cập nhật vị trí thuê bao, đồng thời thuê bao có thể gọi, nhắn tin đi bất kỳ nơi nào mà không cần biết thuê bao cần liên lạc đang ở đâu (thuê bao di động - Roaming)
Mạng GSM sử dụng hai kiểu mã hóa âm thanh để nén tín hiệu âm thanh 3.1khz
đó là mã hóa 6kbps và 13kbps gọi là haft rate (6kbps) và full rate (13kbps)
Giải quyết sự hạn chế về dung lượng nhờ việc kỹ thuật sử dụng tần số tốt hơn và
kỹ thuật chia ô nhỏ, do vậy số thuê bao phục vụ sẽ tăng lên
Tính bảo mật cao Mạng kiểm tra sự hợp lệ của mỗi thuê bao GSM bởi thẻ đăng
ký SIM (Subscriber Idertity Module) Thẻ SIM sử dụng mật khẩu PIN (Personal Identity Number) để bảo vệ quyền sử dụng của người sử dụng [2]
1.1.3 Cấu trúc hệ thống mạng GSM
Cấu trúc của mạng GSM có thể được chia thành ba phần [16]:
Trạm di động (Mobile Station) được người thuê bao mang theo
Hệ thống trạm gốc (Base Station Subsystem) điều khiển kết nối vô tuyến với
trạm di động
Hệ thống mạng (Network Subsystem), với bộ phận chính là Trung tâm chuyển
mạch dịch vụ di động (MSC), thực hiện việc chuyển mạch cuộc gọi giữa các thuê bao
di động và giữa các thuê bao di động với thuê bao của mạng cố định MSC cũng thực hiện các chức năng quản lý di động Ở hình 1.1 dưới đây không vẽ trung tâm vận hành bảo dưỡng (OMC) với chức năng đảm bảo vận hành và thiết lập mạng Trạm di động
và hệ thống trạm gốc giao tiếp thông qua giao diện Um, hay gọi là giao diện không gian hoặc kết nối vô tuyến Hệ thống trạm gốc giao tiếp với MSC qua giao diện A
Trang 9Hình 1.1 Cấu trúc tổng quan mạng GSM
Trạm di động (MS) bao gồm điện thoại di động và một thẻ thông minh xác thực
thuê bao (SIM) SIM cung cấp khả năng di động cá nhân, vì thế người sử dụng có thể lắp SIM vào bất cứ máy điện thoại di động GSM nào truy nhập vào dịch vụ đã đăng
ký Mỗi điện thoại di động được phân biệt bởi một số nhận dạng điện thoại di động IMEI (International Mobile Equipment Identity) Thẻ SIM chứa một số nhận dạng thuê bao di động IMSI (International Subcriber Identity) để hệ thống nhận dạng thuê bao, một mật mã để xác thực và các thông tin khác IMEI và IMSI hoàn toàn độc lập với nhau để đảm bảo tính di động cá nhân Thẻ SIM có thể chống việc sử dụng trái phép bằng mật khẩu hoặc số nhận dạng cá nhân (PIN) [16]
Hệ thống trạm gốc gồm có hai phần Trạm thu phát gốc (BTS) và Trạm điều
khiển gốc (BSC) Hai phần này giao tiếp với nhau qua giao diện Abis, cho phép các thiết bị của các nhà cung cấp khác nhau có thể "kết nối" với nhau được
Trạm thu phát gốc có bộ thu phát vô tuyến xác định một ô (cell) và thiết lập giao thức kết nối vô tuyến với trạm di động Trong một khu đô thị lớn thì số lượng BTS cần lắp đặt sẽ rất lớn Vì thế, yêu cầu đối với trạm BTS là chắc chắn, ổn định, có thể di chuyển được và giá thành tối thiểu
Trạm điều khiển gốc quản lý tài nguyên vô tuyến cho một hoặc vài trạm BTS Nó thực hiện thiết lập kênh vô tuyến, phân bổ tần số, và chuyển vùng BSC là kết nối giữa trạm di động và tổng đài chuyển mạch di động MSC [16]
Hệ thống mạng: thành phần trung tâm của hệ thống mạng là tổng đài chuyển
mạch di động MSC Nó hoạt động giống như một tổng đài chuyển mạch PSTN hoặc ISDN thông thường, và cung cấp tất cả các chức năng cần thiết cho một thuê bao di động như: đăng ký, xác thực, cập nhật vị trí, chuyển vùng, định tuyến cuộc gọi tới một
Trang 10thuê bao roaming (chuyển vùng) MSC cung cấp kết nối đến mạng cố định ( PSTN hoặc ISDN) Báo hiệu giữa các thành phần chức năng trong hệ thống mạng sử dụng
Hệ thống báo hiệu số 7 (SS7)
Bộ ghi địa chỉ thường trú (HLR) và Bộ ghi địa chỉ tạm trú (VLR) cùng với tổng đài chuyển mạch di động MSC cung cấp khả năng định tuyến cuộc gọi và roaming cho GSM HLR bao gồm tất cả các thông tin quản trị cho các thuê bao đã được đăng ký của mạng GSM, cùng với vị trí hiện tại của thuê bao Vị trí của thuê bao thường dưới dạng địa chỉ báo hiệu của VLR tương ứng với trạm di động Chỉ có một HLR logic cho toàn bộ mạng GSM mặc dù nó có thể được triển khai dưới dạng cơ sở dữ liệu phân bố
Bộ ghi địa chỉ tạm trú (VLR) bao gồm các thông tin quản trị được lựa chọn từ HLR, cần thiết cho điều khiển cuộc gọi và cung cấp dịch vụ thuê bao, cho các di động hiện đang ở vị trí mà nó quản lý Mặc dầu các chức năng này có thể được triển khai ở các thiết bị độc lập nhưng tất cả các nhà sản xuất tổng đài đều kết hợp VLR vào MSC,
vì thể việc điều khiển vùng địa lý của MSC tương ứng với của VLR nên đơn giản được báo hiệu Chú ý rằng MSC không chứa thông tin về trạm di động cụ thể- thông tin này được chứa ở bộ ghi địa chỉ
Có hai bộ ghi khác được sử dụng cho mục đính xác thực và an ninh Bộ ghi nhận dạng thiết bị (EIR) là một cơ sở dữ liệu chứa một danh sách của tất cả các máy điện di dộng hợp lệ trên mạng với mỗi máy điện thoại được phân biệt bởi số IMEI Một IMEI
bị đánh dấu là không hợp lệ nếu nó được báo là bị mất cắp hoặc có kiểu không tương thích Trung tâm xác thực (AuC) là một cơ sở dữ liệu bảo vệ chứa bản sao các khoá bảo mật của mỗi card SIM, được dùng để xác thực và mã hoá trên kênh vô tuyến [16]
Tổng quan về tin nhắn SMS
1.2.1 Lịch sử tin nhắn SMS
SMS là viết tắt của Short Message Service - dịch vụ tin nhắn ngắn [14] Nó là một công nghệ cho phép việc gửi và nhận tin nhắn giữa các điện thoại di động SMS lần đầu tiên xuất hiện ở châu Âu vào năm 1992 Nó đã được bao gồm trong công nghệ GSM tiêu chuẩn ngay từ đầu Sau đó nó được chuyển đến công nghệ không dây như CDMA và TDMA Các tiêu chuẩn GSM và tin nhắn SMS đã được ban đầu được phát triển bởi Viện Tiêu Chuẩn viễn thông Châu Âu Bây giờ 3GPP (Third Generation Partnership Project) chịu trách nhiệm cho sự phát triển và duy trì các tiêu chuẩn GSM
và tin nhắn SMS [2]
Trang 11Theo đề nghị của tên "Dịch vụ tin nhắn ngắn", các dữ liệu có thể được tổ chức bởi một tin nhắn SMS là rất hạn chế Một tin nhắn SMS có thể chứa nhiều nhất là 140 byte (1120 bit) dữ liệu, do đó, một tin nhắn SMS có thể chứa đến:
- 160 ký tự nếu 7 bit mã hóa ký tự được sử dụng (7 bit ký tự mã hóa thích hợp cho việc mã hóa các ký tự Latin như bảng chữ cái tiếng Anh)
- 70 ký tự nếu 16 bit Unicode mã hóa ký tự UCS2 được sử dụng (Tin nhắn SMS tin nhắn văn bản có chứa các ký tự phi Latinh như ký tự Trung Quốc nên sử dụng ký tự mã hóa 16 bit)
Tin nhắn văn bản SMS hỗ trợ ngôn ngữ quốc tế Nó hoạt động tốt với tất cả các ngôn ngữ được hỗ trợ bởi Unicode, bao gồm cả tiếng Ả Rập, Trung Quốc, Nhật Bản
và Hàn Quốc
Ngoài văn bản, tin nhắn SMS cũng có thể mang dữ liệu nhị phân Có thể gửi nhạc chuông, hình ảnh, logo mạng, hình nền, hình động, thẻ kinh doanh (ví dụ như vCards) và cấu hình WAP đến một điện thoại di động với tin nhắn SMS
Một lợi thế lớn của tin nhắn SMS là nó được hỗ trợ bởi 100% điện thoại di động GSM Hầu như tất cả các thuê bao có kế hoạch cung cấp bởi các hãng không dây bao gồm dịch vụ tin nhắn SMS không tốn kém Không giống như tin nhắn SMS, công nghệ điện thoại di động như WAP và điện thoại di động Java không hỗ trợ nhiều mô hình điện thoại di động cũ [14]
1.2.2 Một số thành phần mạng GSM liên quan đến SMS
Các thành phần trong mạng GSM có chức năng liên quan đến SMS [2] bao gồm:
SME (Short Messaging Entities): là một thành phần mà tại đó có thể gửi hoặc
nhận thông điệp SME có thể đặt tại một vị trí cố định trong mạng, trạm di động hoặc các trung tâm dịch vụ khác
SMSC (Short Message Service Center): Chịu trách nhiệm chứa và chuyển tiếp các
thông điệp ngắn giữa SME và trạm di động, nó đảm bảo việc phân phối thông điệp trong mạng Thông điệp sẽ được chứa tại SMSC cho đến khi đích sẵn sàng nhận, vì vậy người dùng có thể gửi và nhận thông điệp bất kỳ lúc nào
SMS Gateway: có nhiệm vụ kết nối và duy trì kết nối với trung tâm dịch vụ nhắn tin
SMSC, giao thức kết nối là SMPP, phiên bản phổ biến hiện nay là SMPP v3.3/3.4 Kết nối này được khởi tạo một lần và duy trì liên tục trong suốt quá trình hoạt động Trong trường hợp có sự cố về mạng dẫn tới kết nối bị gián đoạn, SMS Gateway sẽ kiểm tra đường liên
Trang 12tục và lập tức kết nối lại với SMSC ngay sau khi sự cố được khắc phục.
Hình 1.2 SMS Gateway với chức năng chuyển tiếp Ngoài ra SMS Gateway còn có chức năng lưu trữ và gửi đi: Chức năng này đảm bảo
an toàn dữ liệu và phục vụ các mục đích thống kê lưu lượng Trong trường hợp sự cố xảy
ra, cơ chế này cho phép lưu trữ các bản tin và gửi đi khi hệ thống đã sẵn sàng Toàn bộ các tin nhắn gửi qua đều được SMS Gateway lưu trữ vào cơ sở dữ liệu tập trung và có các công cụ để người quản trị theo dõi giám sát lưu lượng
HLR (Home Location Register): Là một cơ sở dữ liệu dùng để lưu trữ và quản lí
các thông tin thường xuyên về thuê bao Nó được truy vấn bởi SMSC
MSC (Mobile Switching Center): Thực hiện chức năng chuyển mạch của hệ
thống, điều khiển các cuộc gọi đến từ các hệ thống điện thoại và các hệ thống dữ liệu khác
VLR (Visitor Location Register): Là một cơ sở dữ liệu chứa đựng các thông tin
tạm thời về thuê bao
BSS (Base Station System): Tất cả các chức năng liên quan đến sóng vô tuyến đều
được thực hiện trong BSS BSS bao gồm các trạm điều khiển (BSC) và các trạm thu phát sóng (BTS) Chức năng chính của nó là truyền tiếng nói và dữ liệu qua lại giữa các mạng
di động
MS (Mobile Station): Là thiết bị không dây có khả năng gửi và nhận thông điệp
SMS cũng như các cuộc gọi Thông thường các thiết bị này là các điện thoại di động kỹ thuật số, nhưng thời gian gần đây SMS đã được mở rộng đến các thiết bị đầu cuối khác như: PDA, máy tính xách tay, modem GSM
1.2.3 Tin nhắn SMS chuỗi/Tin nhắn SMS dài
Một hạn chế của công nghệ tin nhắn SMS là một tin nhắn SMS chỉ có thể mang theo một số lượng rất hạn chế của dữ liệu [14] Để khắc phục nhược điểm này, một phần mở rộng được gọi là nối tin nhắn SMS (cũng được biết đến như tin nhắn SMS dài) được phát triển Một tin nhắn SMS văn bản có thể chứa hơn 160 ký tự tiếng Anh Nguyên tắc của việc nối SMS hoạt động như sau: điện thoại di động của người gửi tin
Trang 13sẽ chia một tin nhắn dài thành những phần nhỏ hơn và gửi và gửi các phần nhỏ này đi Khi các tin nhắn SMS đến đích của người nhận, điện thoại người nhận điện thoại di động sẽ kết hợp chúng lại một tin nhắn dài như ban đầu được gửi
Hạn chế của tin nhắn SMS dài là nó được ít hỗ trợ rộng rãi hơn so với các tin nhắn SMS trên các thiết bị không dây wireless
1.2.4 Ưu điểm và một số ứng dụng của tin nhắn SMS
SMS là một thành công trên toàn thế giới Số lượng tin nhắn SMS trao đổi mỗi ngày là rất lớn Tin nhắn SMS bây giờ là một trong những nguồn thu quan trọng của các hãng hàng không dây Một số lý do để tin nhắn SMS trên toàn thế giới nên phổ biến được đưa ra như sau [14]:
Tin nhắn SMS có thể được gửi và đọc bất cứ lúc nào
Ngày nay, hầu như tất cả mọi người có một điện thoại di động và mang nó hầu hết thời gian trong ngày Với một chiếc điện thoại di động, chúng có thể gửi và đọc tin nhắn SMS bất cứ lúc nào, không còn là vấn đề khi người sử dụng đang ở trong văn phòng, trên xe buýt hay ở nhà
Tin nhắn SMS có thể được gửi đến một điện thoại khi nó tắt nguồn hoặc ngoài vùng phủ sóng
Không giống như một cuộc gọi điện thoại, chúng ta có thể gửi tin nhắn SMS cho người cần liên lạc khi mà họ không mở nguồn điện thoại di động hoặc khi đang ở một nơi mà tín hiệu sóng yếu hoặc không có Hệ thống tin nhắn SMS của các nhà điều hành mạng di động sẽ lưu trữ các tin nhắn SMS lại và sau đó gửi nó cho người nhận khi điện thoại di động của họ đã bật nguồn trở lại hoặc đã ở trong vùng phủ sóng
Điểm nổi bật so với cuộc gọi
Không giống như một cuộc gọi, trả lời điện thoại, chúng ta không cần phải đọc hoặc trả lời tin nhắn SMS ngay lập tức Bên cạnh đó, việc viết và đọc các tin nhắn SMS không gây tiếng ồn quá lớn như thực hiện cuộc gọi và trả lời điện thoại Trong khi chúng ta có thể ra khỏi một rạp hát hay thư viện để trả lời cuộc gọi điện thoại nhưng chúng ta không cần phải làm như vậy nếu tin nhắn SMS được sử dụng
Tin nhắn SMS được hỗ trợ bởi 100% điện thoại di động GSM và chúng có thể được trao đổi giữa các nhà mạng
Tin nhắn SMS là một công nghệ rất trưởng thành Tất cả các điện thoại di động GSM hỗ trợ nó Không chỉ là bạn có thể trao đổi tin nhắn SMS với người sử dụng điện
Trang 14thoại di động của cùng nhà cung cấp dịch vụ không dây, nhưng bạn cũng có thể trao đổi tin nhắn SMS với người sử dụng điện thoại di động của nhiều nhà cung cấp khác trên toàn thế giới
SMS là một công nghệ phù hợp cho các ứng dụng không dây để xây dựng
Dưới đây là một số trong những lý do mà làm cho tin nhắn SMS một công nghệ phù hợp cho các ứng dụng không dây để xây dựng:
Thứ nhất, tin nhắn SMS được hỗ trợ bởi 100% điện thoại di động GSM Xây
dựng các ứng dụng không dây trên công nghệ tin nhắn SMS có thể tối đa hóa các cơ sở người dùng tiềm năng
Thứ hai, các tin nhắn SMS có khả năng mang dữ liệu nhị phân ngoài văn bản
Chúng có thể được sử dụng để chuyển nhạc chuông, hình ảnh, logo mạng, hình nền, hình động, vCards, VCals (mục lịch)
Thứ ba, tin nhắn SMS hỗ trợ thanh toán cho các giao dịch mua bán liên quan
đến mạng GSM hoặc các dịch vụ khác giúp cho quá trình thanh toán được thực hiện một cách thuận tiện Người sử dụng điện thoại di động hoàn toàn có thể tải logo, hình nền, nhạc chuông, nhạc chờ điện thoại chỉ bằng cách soạn tin nhắn SMS theo cấu trúc
cú pháp cho trước và gửi đến số dịch vụ Chi phí phát sinh sẽ được trừ trực tiếp vào tài khoản của người sử dụng
Ngoài ra, tin nhắn SMS hiện nay có rất nhiều ứng dụng thực tế và cần thiết với người sử dụng Người ta có thể sử dụng để thông báo có email mới Trong một hệ thống email thông báo, một máy chủ sẽ gửi một tin nhắn SMS tới điện thoại di động của người sử dụng bất cứ khi nào một email đến hộp thư đến Một hệ thống email thông báo có thể cho phép người dùng tùy biến bộ lọc khác nhau để một cảnh báo tin nhắn SMS được gửi chỉ khi thông báo email có chứa từ khóa nhất định hoặc nếu người gửi email là một người quan trọng Tin nhắn SMS cũng được sử dụng trong các hệ thống cảnh báo từ xa Trong một ứng dụng hệ thống giám sát từ xa, một chương trình (đôi khi có các cảm biến) sẽ liên tục theo dõi tình trạng của một hệ thống từ xa Nếu một điều kiện nhất định được thỏa mãn như có rò khí ga, nhiệt độ tăng đột biến, có đột nhập thì chương trình sẽ gửi tin nhắn văn bản đến người sử dụng Và người sử dụng hoàn toàn cũng có thể điều khiển các thiết bị như bật đèn, quạt, tưới nước theo ý muốn của mình
Trang 15CHƯƠNG 2 GIỚI THIỆU VỀ SIM900 VÀ TẬP LỆNH AT Tổng quan về Sim900
2.1.1 Giới thiệu về sim900
Sim900 là một sản phẩm của công ty SIMCom sản xuất Nó là một module GSM/GPRS cực kỳ nhỏ gọn, được thiết kế cho thị trường toàn cầu Sim900 hoạt động được ở 4 băng tần GSM 850MHz, EGSM 900MHz, DCS 1800MHz và PCS 1900MHz như là một loại thiết bị đầu cuối với một Chip xử lý đơn nhân, tăng cường các tính năng quan trọng dựa trên nền vi xử lý ARM926EJ-S Kích thước sim nhỏ gọn (24mm x24 mm x 3mm), đáp ứng những yêu cầu về không gian trong các ứng dụng M2M điện thoại thông minh, PDA và các thiết bị di động khác [17]
Sim900 được sử dụng trong đồ án này để làm module sim900, có kết nối với sim điện thoại di động làm GSM modem Module sim900 sẽ kết nối với các thiết bị khác, phục vụ cho việc đóng ngắt thiết bị điện
Hình 2.1 Hình ảnh sim 900 Các thông số cơ bản của sim900 được trình bày trong bảng 2.1 dưới đây:
Bảng 2.1 Các thông số cơ bản của sim900
Nguồn cung cấp Nguồn một chiều từ 3.4V - 4.5V
Tiết kiệm điện
Tiêu thụ điện năng ở chế độ SLEEP là 1.5mA MFRMS = 5)
Trang 16(BS-PA-Dải tần số
SIM900 Với 4 băng tần: 850 GSM, 900 EGSM, 1800 DCS, 1900 PCS Các SIM900 có thể tự động tìm kiếm các băng tần Các băng tần cũng có thể được thiết lập bằng lệnh AT
Dễ tương thích với GSM Phase 2/2+
Truyền tải điện năng
Class 4 (2W) cho EGSM900 Class 1 (1W) cho DCS1800 và PCS 1900
Kết nối GPRS
GPRS multi-slot class 10 (mặc định) GPRS multi-slot class 8 (tùy chọn) GPRS trạm di động Class B
Nhiệt độ
Hoạt động bình thường: -30°C đến 80°C Hoạt động hạn chế: -40°C đến -30°C và 80°C đến 85°C Nhiệt độ bảo quản -45°C đến 90°C
DỮ LIỆU GPRS:
GPRS chuyển dữ liệu hướng xuống: tối đa 85,6 kbps GPRS chuyển dữ liệu hướng lên: tối đa 42,8 kbps
Mã chương trình: CS-1, CS-2, CS-3 và CS-4 SIM9000 hỗ trợ các giao thức PAP (Password Authentication Protocol) thường được sử dụng cho các kết nối PPP
SIM900 tích hợp giao thức TCP / IP
Hỗ trợ chuyển mạch gói Broadcast Channel Control (PBCCH)
CSD truyền tỷ lệ: 2.4, 4.8, 9.6, 14.4 kbps Không có cấu trúc bổ sung các dịch vụ dữ liệu (USSD)
hỗ trợ
SMS
MT, MO, CB, văn bản và chế độ PDU SMS lưu trữ: thẻ SIM
Trang 17FAX Group 3 class 1
SIM giao diện Hỗ trợ thẻ SIM: 1.8V, 3V
Ăng-ten bên ngoài Thu sóng tốt
Giao tiếp Serial và
giao tiếp Debug
Serial Port:
8 đường trên giao tiếp Serial Port
Serial Port có thể được sử dụng cho CSD FAX, dịch
vụ GPRS và gửi lệnh AT để điều khiển module
Serial Port có thể sử dụng chức năng ghép kênh Autobauding hỗ trợ tốc độ baud từ 1200 bps đến 115200bps
Debug Port:
Hai đường trên giao tiếp Serial Port là TXD và RXD Debug Port chỉ được sử dụng để gỡ rối hoặc nâng cấp firmware
Quản lý danh bạ Hỗ trợ danh bạ điện thoại các loại: SM, FD, LD, RC,
2.1.2 Sơ đồ chân sim900
Sim900 có 68 chân [6], được bố trí đều tại 4 cạnh của sim Vị trí từng chân được thể hiện như trong hình 2.2
Trang 18Hình 2.2 Sơ đồ chân sim900 Chức năng từng chân [6] được thể hiện trong bảng 2.2 như sau
Bảng 2.2 Chức năng các chân sim900
PWRKEY được dùng để bật hay tắt nguồn hệ thống Người sử dụng điều khiển PWRKEY ở mức điện áp thấp trong một thời gian ngắn bởi vì hệ thống cần có một khoảng thời gian ngắn để kích sim900 hoạt động
Trang 192 PWRKEY_OUT O
Khi kết nối PWRKEY và PWRKEY_OUT , người sử dụng kích hoạt nó trong một thời gian ngắn sau đó thoát ra thì cũng có thể khởi động hoặc tắt các module
3 DTR I Dữ liệu thiết bị đầu cuối sẵn sàng
Trang 2031 SIM_DATA I/O Dữ liệu đầu ra của sim
34 SIM_PRESENCE I Phát hiện simcard
Trang 213 chân VBAT được dành riêng để kết nối điện
áp cung cấp cho sim900 hoạt động Nguồn điện áp của sim900 hoạt động là VBAT = 3.4V 4.5V Nó phải có khả năng cung cấp đủ dòng điện trong tăng mạch khi sim900 bắt đầu hoạt động Dòng điện cung cấp I thường tăng lên đến 2A
Hiệu điện thế chuẩn: Vchuẩn = 4.0V Hiệu điện thế lớn nhất: Vmax = 4.5V Hiệu điện thế nhỏ nhất: Vmin = 3.4V
Trang 2266 STATUS O
Hiển thị trạng thái làm việc của sim bằng đèn LED Khi có nguồn cung cấp cho sim900 hoạt động, LED này sẽ sáng
67 GPIOI1
68 GPIOI2
2.1.3 Các chế độ hoạt động của sim900
Sim900 có ba chế độ hoạt động khác nhau [6], với các chế độ này thì nguồn tiêu thụ và sự hoạt động cũng khác nhau Chi tiết các chế độ hoạt động của sim900 được thể hiện tại bảng 2.3
Bảng 2.3 Các chế độ hoạt động của sim900
Chế độ bình thường
GSM/GPRS SLEEP
Sim900 sẽ tự động đi vào chế độ SLEEP (chế độ nghỉ) nếu DTR được thiết lập là mức cao và không có ngắt ở phần cứng Trong trường hợp này, dòng tiêu thụ của module sim900 sẽ được làm giảm tối thiểu chỉ còn 1.5mA
Trong chế độ SLEEP, các mô-đun vẫn có thể nhận được tin nhắn SMS từ hệ thống bình thường
GSM IDLE
Phần mềm được kích hoạt để hoạt động Sim900 đã đăng nhập vào hệ thống mạng GSM, và sẵn sàng để gửi và nhận tin nhắn, cuộc gọi
GSM TALK
Kết nối giữa sim900 và thiết bị khác hỗ trợ GPRS được thực hiện Trong trường hợp này, công suất tiêu thụ phụ thuộc vào các thiết lập mạng như DTX bật/tắt, FR/EFR/HR, ăng-ten
Trang 23GPRS STANDBY
Sim900 đã sẵn sàng cho việc kết nối GPRS, nhưng không có dữ liệu hiện đang được gửi hoặc nhận được Trong trường hợp này, công suất tiêu thụ phụ thuộc vào các thiết lập mạng và cấu hình GPRS
GPRS DATA
Dữ liệu GPRS đã được truyền (PPP hoặc TCP hoặc UDP) trong quá trình hoạt động Trong trường hợp này, công suất tiêu thụ có liên quan với các thiết lập mạng (ví dụ như điều khiển chế độ công suất), tốc độ uplink / downlink và cấu hình GPRS
Chế độ tắt nguồn
Sim900 có thể tắt nguồn bằng cách gửi lệnh "AT + CPOWD = 1" hoặc bằng cách sử dụng trực tiếp chân PWRKEY Nguồn quản lý ASIC ngắt kết nối các nguồn cung cấp từ sim900 Và nó chỉ cung cấp năng lượng cho các RTC còn lại Phần mềm không hoạt động Không thể truy cập các cổng nối tiếp khác Tuy nhiên điện áp hoạt động (kết nối với VBAT) vẫn còn
Ngừng hoạt động
nhưng không cần
ngắt nguồn cung cấp
Sử dụng lệnh "AT + CFUN" để thiết lập sim900 về chế
độ tiết kiệm mà không cần loại bỏ các nguồn cung cấp năng lượng Trong trường hợp này, phần ăng ten sẽ không làm việc hoặc SIM card sẽ không thể truy cập được, hoặc cả hai phần ăng ten và SIM card sẽ không hoạt động Nguồn tiêu thụ trong trường hợp này là rất thấp
Tập lệnh AT
2.2.1 Giới thiệu về tập lệnh AT
Tập lệnh AT (AT – ATtention) còn gọi là tập lệnh Hayes, được phát triển lúc đầu
bởi Hayes Communications cho modem Hayes Smartmodem 300 vào năm 1997 [13] Tập lệnh bao gồm một loạt các chuỗi ký tự được kết hợp lại để tạo thành những lệnh hoàn chỉnh cho những tao tác như gọi, giữ, và thay đổi các tham số kết nối Ngày nay hầu hết các modem đều sử dụng tập lệnh Hayes Các lệnh này đều bắt đầu bằng “AT”
Trang 24Một cách để gửi lệnh AT đến GSM/GPRS modem là sử dụng một chương trình đầu cuối Chức năng của chương trình này là gửi các ký tự được gõ vào GSM/GPRS modem, sau đó hiển thị những phản hồi nó nhận được từ modem này lên màn hình Có thể dùng các chương trình như Hyper Terminal, TeraTerm…
Trong đồ án này, thiết bị đầu cuối chính là khối điều khiển chứa vi điều khiển PIC16F877A, vi điều khiển này sẽ gửi các lệnh AT thực hiện các nhiệm vụ, chức năng khác nhau cho sim900 để thực hiện các lệnh
Dưới đây là một vài chức năng mà lệnh tập lệnh AT có thể thực hiện với một GSM/GPRS modem hoặc máy điện thoại di động:
- Lấy các thông tin cơ bản về máy điện thoại di động hoặc về GMS/GPRS modem
- Lấy các thông tin cơ bản về thuê bao
- Lấy thông tin hiện tại về tình trạng của máy điện thoại hoặc GSM/GPRS modem
- Thiết lập một kết nối dữ liệu hoặc cuộc gọi tới một modem khác (ATD, ATA)
- Gửi (AT+CMGS, AT+CMSS), đọc (AT+CMGR, AT+CMGL), ghi (AT+CMGW) hoặc xóa (AT+CMGD) tin nhắn SMS và lấy thông báo nếu có tin nhắn SMS vừa nhận (AT+CNMI)
Các nhà sản xuất điện thoại không luôn kế thừa tất cả các lệnh AT, tham số lệnh
và giá trị tham số trong sản phẩm của họ Bên cạnh đó, hoạt động của các lệnh AT được kế thừa có thể khác với lệnh được định nghĩa trong tiêu chuẩn Nói một cách tổng quát, GSM/GPRS modem được thiết kế cho các ứng dựng không dây hỗ trợ tập lệnh AT tốt hơn so với các điện thoại di động
Ngoài ra, một vài lệnh AT cũng đòi hỏi được hỗ trợ bởi nhà mạng Ví dụ, SMS thông qua GPRS có thể được kích hoạt trên một số điện thoại có GPRS và GPRS modem với lệnh +CGSMS Nhưng nếu nhà mạng di động không hỗ trợ việc truyền tin nhắn qua SMS thì không thể thực hiện tính năng này
Các lệnh AT căn bản và mở rộng
Có ba dạng lệnh AT: căn bản, mở rộng và cú pháp tham số [13]
Lệnh căn bản là những lệnh không bắt đầu với “+” Ví dụ, D (Dial), A (Answer),
Trang 25Những lệnh mở rộng là những lệnh AT bắt đầu với dấu "+" Mọi lệnh GSM AT đều là lệnh mở rộng Ví dụ, +CMGS (Gửi tin nhắn SMS), +CMSS (Gửi tin nhắn SMS
từ bộ nhớ), +CMGL (Liệt kê các tin nhắn SMS) và +CMGR (Đọc tin nhắn SMS) là những lệnh mở rộng
Quy tắc 2: Một dòng lệnh có thể bao gồm nhiều hơn một lệnh AT Chỉ có lệnh
đầu tiên bắt đầu với “AT” Các lệnh còn lại trên dòng sẽ cách nhau bằng dấu chấm phẩy “;”
Quy tắc 3: Chuỗi ký tự được để trong dấu nháy kép “”
Quy tắc 4: Thông tin phản hồi và mã kết quả (bao gồm mã kết quả cuối cùng và
mã kết quả không mong muốn) luôn bắt đầu với một ký tự về đầu dòng và một ký tự xuống dòng
Mã kết quả cuối cùng ERROR
Mã này cho biết đã có lỗi xảy ra khi thực hiện một lệnh AT Sau khi xảy ra lỗi, GSM/GPRS modem sẽ không xử lý tiếp phần còn lại trong chuỗi lệnh Một số nguyên nhân dẫn đến lỗi như cú pháp của lệnh sai; Giá trị của một tham số không hợp lệ; Tên lệnh bị gõ sai; GSM/GPRS modem không hỗ trợ lệnh đó; Mã lỗi này cũng bắt đầu và kết thúc với ký tự về đầu dòng và xuống dòng
Trang 26Mã kết quả cuối cùng +CMS ERROR
Mã này được trả về khi một lỗi dịch vụ tin nhắn xảy ra Một mã lỗi được trả về cho người lập trình để kiểm tra nguyên nhân gây ra lỗi Lỗi này chỉ liên quan đến những lệnh AT thao tác với SMS Cũng như OK và ERROR, mã lỗi này cũng bắt đầu
và kết thúc với một ký tự về đầu dòng và xuống dòng, và một số nguyên thể hiện một lỗi xác định
Bảng 2.4 trình bày một số mã lỗi +CMS và ý nghĩa của các lỗi đó
Bảng 2.4 Bảng lỗi +CMS và ý nghĩa của các lỗi
300 Lỗi thiết bị di động Thường là máy điện thoại hoặc
GSM/GPRS modem
301 Dịch vụ SMS của thiết bị di động đã bị chiếm dụng
302 Thao tác thực hiện bởi lệnh AT không được cho phép
303 Thao tác thực hiện bởi lệnh AT không được hỗ trợ
304 Một hoặc nhiều giá trị tham số gắn với lệnh AT không hợp lệ
(Với chế độ PDU)
305 Một hoặc nhiều giá trị tham số gắn với lệnh AT không hợp lệ
(Với chế độ văn bản)
311 Thẻ SIM đòi hỏi phải nhập mã PIN
312 Thẻ SIM đòi hỏi phải nhập mã PH-SIM PIN
Trang 27Mã lỗi +CMS Ý nghĩa
316 Thẻ SIM đòi hỏi phải nhập mã PUK
320 Lỗi bộ nhớ lưu tin nhắn
321 Chỉ số tin nhắn/bộ nhớ gán cho lệnh AT không hợp lệ
322 Bộ nhớ lưu tin nhắn đầy
330 Địa chỉ của trung tâm SMS (SMSC) không biết
331 Không có sóng dịch vụ
340 Không cần thiêt phải gửi tin nhắn phản hồi bởi lệnh
AT+CNMA
500 Lỗi không xác định nguyên nhân
b Mã kết quả không được yêu cầu
Là những mã kết quả được gửi từ GSM/GPRS modem để cung cấp về sự xảy ra của một sự kiện nào đó Ví dụ, chúng ta có thể dùng lệnh +CNMI (New Message Indication to TE) để yêu cầu GSM/GPRS modem gửi các mã kết quả “+CMTI” tới máy tính mỗi khi có tin nhắn SMS được nhận từ SMSC
Dưới đây là một vài mã kết quả liên quan tới SMS:
CDS: được dùng để chuyển một tin nhắn SMS mới nhận thông báo tình trạng tới
thiết bị đầu cuối
CDSI: được dùng để nhắc nhở thiết bị đầu cuối về một tin nhắn SMS mới thông
báo tình trạng đã được nhận và vị trí trong bộ nhớ lưu nó
CMT: được dùng để chuyển một tin nhắn mới nhận vào thiết bị đầu cuối
CMTI: được dùng để nhắc nhở thiết bị đầu cuối có tin nhắn mới nhận và vị trí nó
được lưu trong bộ nhớ
2.2.4 Một số lệnh AT được dùng
Một số thuật ngữ sử dụng [1]
<CR>: Carriage return (Mã ASCII 0x0D)
Trang 28<LF>: Line Feed ( Mã ASCII 0 x0 A)
MT: Mobile Terminal - Thiết bị đầu cuối mạng (trong trường hợp này là
module Sim900)
TE : Terminal Equipment - Thiết bị đầu c uối (vi điều khiển, máy tính)
Dưới đây là một số lệnh AT thường gặp
a Lệnh ATZ
Lệnh ATZ dùng thiết lập lại (reset) tất cả các tham số hiện tại theo mẫu được người dùng định nghĩa [14] Lệnh trả về của modem là lệnh OK Mẫu người dùng định nghĩa trước đó được lưu trên bộ nhớ cố định Nếu không thiết lập lại được theo mẫu của người dùng định nghĩa thì nó sẽ reset lại theo đúng các tham số mặc định của nhà sản xuất Bất cứ lệnh AT cộng thêm nào trên cùng một dòng với lệnh ATZ đều không được thực hiện
b Lệnh AT+CMGR
Lệnh AT+CMGR được dùng để đọc tin nhắn trên một ngăn nào đó trên sim điện thoại [14] Cấu trúc lệnh như sau: AT+CMGR=i, với i là ngăn bộ nhớ chứa tin nhắn trong sim Đáp ứng trở về là lệnh OK nếu ngăn i có chứa tin nhắn Nếu ngăn i không chứa tin nhắn thì sẽ xuất hiện thông báo lỗi trả về ERROR Ví dụ khi gõ lệnh AT+CMGR=1 thì sim900 sẽ đọc tin nhắn tại ngăn số 1 của bộ nhớ sim điện thoại gắn ngoài
c Lệnh AT+CMGS
Lệnh AT+CMGS dùng để gửi tin nhắn SMS tới một số điện thoại cho trước [14]
Cú pháp gửi tin như sau:
- AT+CMGS= “số điện thoại cần gửi”<CR>
- Nội dung tin nhắn
- ESC/Ctrl Z
Số điện thoại cần gửi phải được đặt trong dấu ngoặc kép Sau khi gõ xong số điện thoại thì cần thực hiện lệnh enter để xuống dòng và bắt đầu nội dung tin nhắn Kết thúc lệnh này bằng việc thực hiện lệnh Cltr Z
Ví dụ lệnh gửi tin nhắn tới số 0989196980 với nội dung “abcd” được thực hiện tại chế độ text trong phần mềm lập trình CCS như sau:
Trang 29có tin nhắn, hoặc lỗi kết nối tới sim, lỗi sóng thì trả về sẽ là ERROR
Ví dụ xóa tin nhắn từ ngăn số 1 của sim: AT+CMGD=1
f Lệnh AT&W
Lệnh AT&W được dùng để lưu cấu hình cài đặt được thiết lập bởi các lệnh ATE
và AT+CLIP vào bộ nhớ (Lệnh AT+CLIP để cài đặt cuộc gọi) [14] Đáp ứng trả về khi thực hiện lệnh này là OK
g Lệnh AT+CMGF
Trang 30Lệnh AT+CMGF dùng để lựa chọn định dạng tin nhắn SMS, với hai chế độ là
text và PDU [14], cụ thể như sau:
AT+CMGF=1: lựa chọn sử dụng tin nhắn ở chế độ văn bản
AT+CMGF=0: lựa chọn sử dụng tin nhắn ở chế độ PDU
Đáp ứng trả về là “OK” nếu như modem hỗ trợ, ngược lại, nếu modem không hỗ
trợ chế độ định dạng tin nhắn là text hoặc PDU thì đáp ứng trả về sẽ là “ERROR”
h Lệnh AT+CNMI
Lệnh này dùng để thông báo có tin nhắn mới đến [14] Với các tham số khác
nhau thì mỗi khi có tin nhắn, đáp ứng trả về cũng sẽ khác nhau
Ví dụ về các lệnh AT+CNMI khác nhau khi cùng nhận một tin nhắn SMS có nội
dung giống nhau:
Như vậy, chúng ta thấy rằng, với trường hợp 1 thì nội dung tin nhắn được lưu trực tiếp
vào ngăn số 10 của sim Nội dung của tin nhắn này chỉ được đọc bằng lệnh
AT+CMGR=10 Còn trong trường hợp số 2, nội dung tin nhắn được hiển thị ra cùng
với thời gian và số điện thoại
i Lệnh AT+CSAS
Lệnh AT+CSAS dùng để lưu các thiết lập SMS do người dùng đã cài đặt trước
đó [14] Lệnh này sẽ lưu trực tiếp các thông số đã cài đặt cho tin nhắn SMS như các
lệnh AT+CMGF=1; AT+CNMI=2,2,0,0,0 và còn nhiều lệnh khác liên quan tới tin
nhắn SMS đều được lưu lại bởi lệnh AT+CSAS này
Trên đây là một số lệnh AT thường dùng để GSM/GPRS modem xử lý với tin
nhắn SMS Và cũng chính các lệnh cơ bản này được sử dụng trong việc viết chương
trình điều khiển thiết bị có sử dụng trong đồ án này Sim900 đóng vai trò là Mobile
Terminal và vi điều khiển PIC16F877A đóng vai trò là Terminal Equipment Ngoài
ra, còn rất nhiều tập lệnh AT dùng cho sim900 để phục vụ cho các quá trình khác nhau
như thực hiện cuộc gọi, kết nối GPRS, cài đặt thời gian, đặt mật khẩu và còn nhiều
Trang 31CHƯƠNG 3 TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC16F877A
Giới thiệu PIC16F877A
PIC16F877A là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có
Hình 3.1 Sơ đồ chân PIC16F877A và hình dạng thực tế
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
- Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
- Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler
- Hai bộ Capture/so sánh/điều chế độ rộng xung
- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C
Trang 32- Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
- Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển
RD, WR, CS ở bên ngoài
Các đặc tính Analog:
- 8 kênh chuyển đổi ADC 10 bit
- Hai bộ so sánh
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần
- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm
- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân
- Watchdog Timer với bộ dao động trong
- Chức năng bảo mật mã chương trình
- Chế độ Sleep
- Có thể hoạt động với nhiều dạng thạch anh (Oscillator) khác nhau
Sơ đồ khối điều khiển của PIC16F877A được thể hiện như trong hình 3.2 [3]