LỜI MỞ ĐẦU
Bước ngoặc quan trọng nhất trong lịch sử phát triển của ngành điện tử là sự phát hiện ra bóng bán dẫn, với sự có mặt của linh kiện nhỏ bé này tương ứng với trạng thái bật – tắt, đã tạo ra hàng loạt các thiết bị điện tử hiện đại như điện thoại di động, máy tính, máy nghe nhạc …Công nghệ chế tạo linh kiện bán dẫn trong những năm gần đây đã có những phát triển hết sức mạnh mẽ, làm tiền đề cho sự bùng nổ của công nghệ thông tin, và sự tự động hóa trong công nghiệp …
Ngày nay điện tử trở thành một ngành khoa học đa nhiệm vụ, đa chức năng. Công nghệ điện tử trở thành một lĩnh vực không thể thiếu trong nền công nghiệp hiện đại. Nó đáp ứng cho những nhu cầu, những đòi hỏi ngày càng cao và không ngừng từ tất cả các lĩnh vực công-nông-ngư-nghiệp cho đến những nhu cầu thiết yếu trong đời sống hàng ngày của con người.
Một trong những ứng dụng rất quan trọng và khá đặc trưng của công nghệ điện tử là kỹ thuật tự động điều khiển từ xa. Nó đã góp phần rất lớn trong việc điều khiển các thiết bị từ xa, được ứng dụng rộng rãi trong các lĩnh vực của đời sống. Hiện nay, do nhu cầu sử dụng các hệ thống, thiết bị tự động của người dân ngày càng tăng. Đồng thời, mạng điện thoại di động phát triển rộng khắp và các thiết bị điện thoại di động ngày càng có mức giá phù hợp với người dân. Đó là những mặt thuận lợi của việc hình thành ý tưởng điều khiển các thiết bị bằng cách sử dụng tin nhắn SMS. Đây là một hình thức điều khiển thiết bị thuận lợi, tiết kiệm được nhiều thời gian cho việc điều khiển thiết bị, và đặc biệt là tiết kiệm được chi phí khá cao.
Xuất phát từ ý tưởng và tình hình thực tế nêu trên, chúng em đã quyết định tìm hiểu và thực hiện đề tài “ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA SMS”.
LỜI CẢM ƠN
Thắm thoát thì thời gian học tại trường đã gần hết, chúng em sắp phải nói lời chia tay với ngôi trường mến yêu của mình rồi. Với chúng em quãng thời gian học tại trường là một khoảng thời gian không thể nào quên trong cuộc đời sinh viên mỗi chúng em. Ở ngôi trường này, chúng em đã tiếp thu, học tập được biết bao nhiêu là kiến thức bổ ích. Tất cả những kiến thức đó sẽ trở thành hành trang quý báu cho chúng em, để chúng em thêm vững bước trên con đường sự nghiệp của mình.
Chúng em xin gửi lời cảm ơn chân thành tới toàn thể quý thầy cô trong trường , thầy cô trong khoa Điện tử-Tin học, đã tận tình giảng dạy chúng em trong suốt khóa học qua, đặc biệt là thầy Trương Hoàng Hoa Thám, người đã trực tiếp hướng dẫn, động viên, chỉ bảo nhiệt tình giúp chúng em hoàn thành quyển đồ án này đúng thời gian quy định.
Bên cạnh đó, gia đình cũng là nguồn động viên to lớn về vật chất lẫn tinh thần giúp chúng em thêm tự tin để hoàn thành đồ án. Xin gửi lời biết ơn vô vàn tới cha, mẹ đã luôn ủng hộ con trong suốt thời gian làm đồ án.
Cuối cùng là lời cảm ơn đến các bạn cùng lớp đã có những giúp đỡ kịp thời, những đóng góp ý kiến thật lòng, giúp cho đồ án hoàn thiện hơn
MỤC LỤC
CHƯƠNG DẪN NHẬP. 5
1.1. Đặt vấn đề: 5
1.2. Ý nghĩa của đề tài: 6
1.3. Mục đích đề tài: 6
1.4. Giới hạn đề tài: 6
1.5. Lập kế hoạch nghiên cứu: 7
CHƯƠNG II: TỔNG QUÁT VỀ HỆ THỐNG THÔNG TIN DI ĐỘNG GSM VÀ SMS. 8
2.1. Sơ lược về mạng điện thoại di động GSM: 8
2.1.1. Giới thiệu chung: 8
2.1.2. Đặc điểm của công nghệ GSM: 8
2.1.3. Cấu trúc mạng GSM: 9
2.1.4. Sự hình thành và phát triển GSM ở VN: 10
2.2. Giới thiệu về SMS: 10
2.2.1. Cấu trúc của 1 tin nhắn: 11
2.2.2. Tin nhắn chuỗi-tin nhắn SMS dài: 12
2.2.3. SMS CENTER/SMSC: 12
2.2.4. Nhắn tin SMS quốc tế: 13
CHƯƠNG III: GIỚI THIỆU MODULE SIM300CZ, TẬP LỆNH AT COMMAND. 14
3.1. Giới thiệu module SIM300CZ: 14
3.1.1. Đặc điểm module SIM300CZ: 14
3.1.2. Khảo sát sơ đồ chân và chức năng từng chân của module SIM300CZ: 17
3.2. Khảo sát tập lệnh AT của Module SIM300CZ: 18
3.2.1. Các lệnh khởi tạo GSM Module Sim300CZ: 19
3.2.2. Các lệnh xử lý cuộc gọi: 20
3.2.3. Các lệnh về SMS: 20
3.2.4. Các lệnh về GPRS: 22
3.2.6. Các lệnh khác: 23
3.2.7. Các lệnh kiểm tra ban đầu: 23
CHƯƠNG IV: GIỚI THIỆU PIC 16F877A.. 25
4.1. Giới thiệu chung: 25
4.1.1. Sự phổ biến của vi điều khiển PIC: 25
4.1.2. Kiến trúc PIC: 25
4.1.3. RISC và CISC: 26
4.1.4. PIPELINING : 27
4.1.5. Các dòng PIC và cách lựa chọn PIC: 28
4.1.6. Ngôn ngữ lập trình PIC: 28
4.2. PIC16F877A: 29
4.2.1. Hình dạng và sơ đồ chân: 29
4.2.2. Đặc tính kỹ thuật: 29
4.2.3 Tổ chức bộ nhớ: 30
4.2.4. Các cổng xuất nhập của PIC 16F877A: 34
4.2.5. Các loai TIMER: 36
4.2.6. ADC: 39
4.2.7. Giao tiếp nối tiếp: 39
4.2.8. Cổng giao tiếp song song PSP (PARALLEL SLAVE PORT): 41
4.2.9. Các đặc tính của OSCILLATOR: 41
4.2.10. Các chế độ RESET: 41
4.2.11. Ngắt: 43
CHƯƠNG V: GIỚI THIỆU VỀ LCD.. 45
5.1. Hình Dạng Và Kích Thước: 45
5.2. Chức năng các chân: 46
5.3. Sơ đồ khối của HD44780: 47
5.3.1. Các thanh ghi: 47
5.3.2. Cờ báo bận BF: (Busy Flag): 48
5.3.3. Bộ đếm địa chỉ AC : (Address Counter): 48
5.4. Tập Lệnh Của LCD: 49
5.5. Khởi tạo LCD: 51
5.5.1. Mạch khởi tạo bên trong chíp HD44780: 51
5.5.2. Khởi tạo bằng lệnh: (chuỗi lệnh): 52
5.6. LCD tutorial: 52
5.6.1. Giao thức phần cứng: 52
5.6.2. Giao thức phần mềm: 53
CHƯƠNG VI: THIẾT KẾ VÀ THI CÔNG.. 56
6.1. Phương án thiết kế: 56
6.2. Sơ đồ khối tổng quát của toàn hệ thống: 57
6.3. Sơ đồ nguyên lí các khối và tính toán lựa chọn linh kiện: 58
6.3.1. Mạch nguồn: 58
6.3.2. Khối giao tiếp SMS: 59
6.3.3. Khối xử lí trung tâm: 60
6.3.4. Khối cảm biến: 61
6.3.5. Khối hiển thị: 62
6.3.6. Khối công suất: 63
6.4. Nguyên tắc hoạt động : 64
6.4.1. Cú pháp tin nhắn SMS: 64
6.4.2. Giải thích: 64
CHƯƠNG VII: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG.. 66
TRÌNH.. 66
7.1. Lưu đồ giải thuật: 66
7.1.1. Lưu đồ chương trình chính: 66
7.1.2. Lưu đồ chương trình đo nhiệt độ và hiển thị LCD: 67
7.1.3. Lưu đồ chương trình xử lý: 68
7.1.4. Lưu đồ chương trình điều khiển thiết bị: 69
7.2. Chương trình: 70
CHƯƠNG KẾT LUẬN.. 82
Kết luận: 82
Hướng phát triển đề tài: 82
TÀI LIỆU THAM KHẢO.. 83
LIỆT KÊ HÌNH
Hình 1: Cấu trúc của công nghệ GSM... 9
Hình 2: Cách thành phần mạng GSM... 9
Hình 3: Cấu trúc tin nhắn SMS. 12
Hình 4: Module Sim300CZ.. 16
Hình 5: Sơ đồ chân của Module Sim300CZ.. 17
Hình 6: Kiến trúc Harvard và kiến trúc Von-Neumann. 26
Hình 7: Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân. 29
Hình 8: Sơ đồ khối vi điều khiển PIC16F877A. 30
Hình 9: Sơ đồ bộ nhớ dữ liệu của PIC16F877A.. 32
Hình 10: Sơ đồ khối của timer 0. 36
Hình 11: Sơ đồ khối của Timer1. 37
Hình 12: Sơ đồ khối của Timer 2. 38
Hình 13: Sơ đồ các chế độ reset của PIC16F877A.. 43
Hình 14: Sơ đồ logic của tất cả các ngắt trong vi điều khiển PIC16F877A. 44
Hình 15: Hình dáng của hai loại LCD HD44780 thông dụng. 45
Hình 16: Sơ đồ chân của LCDà kích thước. 45
Hình 17: Sơ đồ khối của HD44780. 47
Hình 18: Giản đồ xung cập nhật AC.. 49
Hình 19: Giao diện LCD 4-bit 52
Hình 20: Kết nối phần cứng cho LCD.. 53
Hình 21: Giao thức phần mềm LCD.. 53
Hình 22: Sơ đồ khối hệ thống điều khiển thiết bị điện qua SMS. 57
Hình 23: Sơ đồ nguyên lý mạch nguồn cung cấp cho toàn mạch. 58
Hình 24: Sơ đồ nguyên lý Module Sim300CZ.. 59
Hình 25: Sơ đồ nguyên lý khối xử lí trung tâm. 60
Hình 26: Sơ đồ nguyên lý khối cảm biến. 61
Hình 27: Sơ đồ nguyên lý khối hiển thị. 62
Hình 28: Sơ đồ nguyên lý khối công xuất 63
Hình 29: Lưu đồ giải thuật chương trình chính. 66
Hình 30: Lưu đồ chương trình đo nhiệt độ và hiển thị LCD.. 67
Hình 31: Lưu đồ giải thuật chương trình xử lý. 68
Hình 32: Lưu đồ giải thuật chương trình điều khiển thiết bị 69
CHƯƠNG DẪN NHẬP
1.1. Đặt vấn đề:
Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông tin ... Do đó là một sinh viên chuyên ngành Điện tử - Viễn thông chúng ta phải biết nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử nói riêng.
Như chúng ta cũng đã biết, gần như các thiết bị tự động trong nhà máy, trong đời sống của các gia đình ngày nay đều hoạt động độc lập với nhau, mỗi thiết bị có một quy trình sử dụng khác nhau tuỳ thuộc vào sự thiết lập, cài đặt của người sử dụng. Chúng chưa có một sự liên kết nào với nhau về mặt dữ liệu. Nhưng đối với hệ thống điều khiển thiết bị từ xa thông qua tin nhắn SMS thì lại khác. Ở đây, các thiết bị điều khiển tự động được kết nối với nhau thành một hệ thống hoàn chỉnh qua một một thiết bị trung tâm và có thể giao tiếp với nhau về mặt dữ liệu.
Điển hình của 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, 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 có thể là một máy vi tính hoàn chỉnh hoặc có thể là một bộ xử lí đã đượ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à này có thể được điều khiển từ xa thông qua các tin nhắn của chủ nhà. Chẳng hạn như việc tắt quạt, đèn điện … khi người chủ nhà quên chưa tắt trước khi ra khỏi nhà. Hay chỉ với một tin nhắn SMS, người chủ nhà 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 đó nó 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 led thu phát hồng ngoại hay các bộ cảm biến khác bằng một tin nhắn cảnh báo. Ngoài ra, hệ thống còn mang tính bảo mật. Nghĩa là chỉ có chủ nhà hay người biết mật khẩu của hệ thống thì mới điều khiển được.
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với sự hợp tác, phát triển mạnh mẽ của mạng di động nên chúng em đã chọn đề tài " Điều khiển thiết bị điện qua SMS " để đáp ứng nhu cầu ngày càng cao của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của nước nhà.
1.2. Ý nghĩa của đề tài:
Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử ra đời ngày càng nhiều về chủng loại cũng như tính năng sử dụng. Bên cạnh đó nhu cầu sử dụng các thiết bị một cách tự động ngày càng cao, con người ngày càng muốn có nhiều thiết bị giải trí cũng như các thiết bị sinh hoạt với kỹ thuật và công nghệ cao. Có thể ở Việt nam chưa phát triển mạnh mẽ trong lĩnh này nhưng hiện nay ở trên thế giới, nhất là các quốc gia thuộc Châu Âu hay Mĩ thì mô hình ngôi nhà tự động được điều khiển từ xa đã phát triển rất mạnh mẽ.
Từ những nhu cầu thực tế đó, nhóm em muốn đưa một phần những kỹ thuật hiện đại của thế giới áp dụng vào điều kiện thực tế trong nước để có thể tạo ra một hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắn SMS nhằm đáp ứng nhu cầu ngày càng cao của con người. Đề tài lấy cơ sở là tin nhắn SMS để điều khiển thiết bị. Việc sử dụng tin nhắn SMS để điều khiển thiết bị có thuận lợi là tiết kiệm chi phí, mang tính cạnh tranh và cơ động cao (nghĩa là ở chỗ nào có phủ sóng mạng điện thoại di động ta cũng có thể điều khiển thiết bị được). Ngoài ra, sản phẩm của đề tài này có tính mở, có thể áp dụng cho nhiều đối tượng khác nhau trong dân dụng cũng như trong công nghiệp.
1.3. Mục đích đề tài:
Đồ á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 điều khiển tự động từ xa bằng tin nhắn SMS hoàn chỉnh. Trước mắt là để hoàn thành nhiệm vụ do nhà trường đề ra, đây là điều kiện để chúng em hoàn thành khóa học, đồng thời qua đề tài này chúng em cũng muốn kiểm tra lại kiến thức, khả năng tự nghiên cứu của bản, bước đầu tiếp xúc với thực tế, để chúng em tìm được một công việc phù hợp sau khi tốt nghiệp.
1.4.Giới hạn đề tài:
Do quỹ thời gian có hạn cũng như kiến thức còn nhiều hạn chế nên nhóm em chỉ tập trung nghiên cứu và thi công các phần sau:
- Điều khiển các thiết bị điện trong nhà (cụ thể là điều khiển một thiết bị công suất trung bình) bằng tin nhắn SMS tại ví trí có phủ sóng của mạng điện thoại di động như: Viettel, Mobile Phone, Vina Phone …
- Hiển thị nhiệt độ lên LCD.
- Giám sát trạng thái bật / tắt của các thiết bị.
- Tự động gửi tin nhắn cảnh báo đến người điều khiển khi có người đột nhập hoặc là nhiệt độ lên cao.
1.5.Lập kế hoạch nghiên cứu:
Để thực hiện đề tài này nhóm đã kết hợp sử dụng nhiều phương pháp và phương tiện gồm có:
- Tham khảo tài liệu: kỹ thuật xung, kỹ thuật số, điện tử căn bản, vi điều khiển…
- Tổng kết kinh nghiệm.
- Phương tiện: máy tính, internet, thư viện…
Kế hoạch nghiên cứu:
- Tuần 1: nhận đề tài, lập đề cương tổng quát, thu thập tài liệu và lập đề cương chi tiết.
- Tuần 2, 3, 4: thiết kế, thi công và viết báo cáo.
CHƯƠNG II: TỔNG QUÁT VỀ HỆ THỐNG THÔNG TIN DI ĐỘNG GSM VÀ SMS
2.1.Sơ lược về mạng điện thoại di động GSM:
2.1.1.Giới thiệu chung:
Hệ thống thông tin di động toàn cầu (Global System for Mobile Communications; viết tắt: GSM) là một công nghệ dùng cho mạng thông tin di động. Dịch vụ GSM được sử dụng bởi hơn 2 tỷ người trên 212 quốc gia và vùng lãnh thổ. Các mạng thông tin di động GSM cho phép có thể roaming với nhau do đó những máy điện thoại di động GSM của các mạng GSM khác nhau có thể sử dụng được nhiều nơi trên thế giới. GSM là chuẩn phổ biến nhất cho điện thoại di động (ĐTDĐ) trên thế giới. Khả năng phát sóng rộng khắp nơi của chuẩn GSM làm cho nó trở nên phổ biến trên thế giới, cho phép người sử dụng có thể sử dụng ĐTDĐ của họ ở nhiều vùng trên thế giới. GSM khác với các chuẩn tiền thân của nó về cả tín hiệu và tốc độ, chất lượng cuộc gọi. Nó được xem như là một hệ thống ĐTDĐ thế hệ thứ hai (second generation, 2G). GSM là một chuẩn mở, hiện tại nó được phát triển bởi 3rd Generation Partnership Project (3GPP) Đứng về phía quan điểm khách hàng, lợi thế chính của GSM là chất lượng cuộc gọi tốt, giá thành thấp. Thuận lợi đối với nhà điều hành mạng là khả năng triển khai thiết bị từ nhiều người cung ứng. GSM cho phép nhà điều hành mạng triển khai các dịch vụ ở mọi nơi, vì thế người sử dụng có thể sử dụng điện thoại của họ ở khắp nơi trên thế giới.
2.1.2 Đặc điểm của công nghệ GSM:
- 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 độ hiện hành lên đến 9.600 bps.
-
Tính phủ sóng cao: Công nghệ GSM không chỉ cho phép chuyển giao trong toàn mạng mà còn chuyển giao giữa các mạng GSM trên toàn cầu mà không có một sự thay đổi, điều chỉnh nào. Đây là một tính năng nổi bật nhất của công nghệ GSM(dịch vụ roaming).
- Sử dụng công nghệ phân chia theo thời gian TDM (Time Division Multiplexing ) để chia ra 8 kênh full rate hay 16 kênh haft rate.
- Công suất phát của máy điện thoại được giới hạn tối đa là 2 watts đối với băng tần GSM 850/900Mhz và tối đa là 1 watts đối với băng tần GSM 1800/1900Mhz.
- Mạng GSM sử dụng 2 kiểu mã hoá âm thanh để nén tín hiệu âm thanh 3,1khz đó là mã hoá 6 và 13kbps gọi là Full rate (13kbps) và haft rate (6kbps).
2.1.3.Cấu trúc mạng GSM:
- Cấu trúc tổng quát:
Hình 1: Cấu trúc của công nghệ GSM
Hệ thống GSM được chia thành nhiều hệ thống con như sau:
- Phân hệ chuyển mạch NSS (Network Switching Subsystem).
- Phân hệ trạm gốc BSS (Base Station Subsystem).
- Phân hệ bảo dưỡng và khai thác OSS (Operation Subsystem).
- Trạm di động MS (Mobile Station).
- Thành phần của mạng GSM:
Hình 2: Cách thành phần mạng GSM
2.1.4.Sự hình thành và phát triển GSM ở VN:
Công nghệ GSM đã vào Việt Nam từ năm 1993. Hiện, ba nhà cung cấp di động công nghệ GSM lớn nhất của Việt Nam là VinaPhone, MobiFone và Viettel, cũng là những nhà cung cấp chiếm thị phần nhiều nhất trên thị trường với số lượng thuê bao mới tăng chóng mặt trong thời gian vừa qua.
Hiện nay có đến hơn 85% người dùng hiện nay đang là khách hàng của các nhà cung cấp dịch vụ theo công nghệ GSM.
Cho tới thời điểm này, thị trường thông tin di động của Việt Nam đã có khoảng 70 triệu thuê bao di động. Khi mà ba “đại gia” di động của Việt Nam là VinaPhone, MobiFone và Viettel đều tăng trưởng rất nóng với số lượng thuê bao mỗi ngày phát triển được lên tới hàng trăm ngàn thuê bao.
2.2.Giới thiệu về 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 tin nhắn giữa các điện thoại với nhau. SMS xuất hiện đầu tiên ở Châu Âu vào năm 1992. Ở thời điểm đó, nó bao gồm cả các chuẩn về GSM (Global System for Mobile Communications). Một thời gian sau đó, nó phát triển sang công nghệ wireless như CDMA và TDMA. Các chuẩn GSM và SMS có nguồn gốc phát triển bởi ETSI. ETSI là chữ viết tắt của European Telecommunications Standards Institute. Ngày nay thì 3GPP (Third Generation Partnership Project) đang giữ vai trò kiểm soát về sự phát triển và duy trì các chuẩn GSM và SMS.
Như đã nói ở trên về tên đầy đủ của SMS là Short Message Service, từ cụm từ đó, có thể thấy được là 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 (mã hóa kí tự 7 bit thì phù hợp với mã hóa các kí tự Latin chẳng hạn như các kí tự Alphabet của tiếng Anh).
- 70 kí tự nếu như mã hóa kí tự 16 bit Unicode UCS2 được sử dụng (các tin nhắn SMS không chứa các kí tự Latin như kí tự chữ Trung Quốc phải sử dụng mã hóa kí tự 16 bit).
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. Bên cạnh gửi tin nhắn dạng text thì tin nhắn SMS còn có thể mang các dữ liệu dạng binary. Nó còn cho phép gửi nhạc chuông, hình ảnh cùng nhiều tiện ích khác … tới một điện thoại khác.
Một trong những ưu điểm nổi trội của SMS đó là nó được hỗ trợ bởi các điện thoại có sử dụng GSM hoàn toàn. Hầu hết tất cả các tiện ích cộng thêm gồm cả dịch vụ gửi tin nhắn giá rẻ được cung cấp, sử dụng thông qua sóng mang wireless. Không giống như SMS, các công nghệ mobile như WAP và mobile Java thì không được hỗ trợ trên nhiều model điện thoại.
Sử dụng tin nhắn SMS ngày càng phát triển và trở lên rộng khắp:
- Các tin nhắn SMS có thể được gửi và đọc tại bất kỳ thời điểm nào.
Ngày nay, hầu hết mọi người đều có điện thoại di động của riêng mình và mang nó theo người hầu như cả ngày. Với một điện thoại di động , bạn có thể gửi và đọc các tin nhắn SMS bất cứ lúc nào bạn muốn, sẽ không gặp khó khăn gì khi bạn đang ở trong văn phòng hay trên xe bus hay ở nhà…
- Tin nhắn SMS có thể được gửi tới các điện thoại mà tắt nguồn.
Nếu như không chắc cho một cuộc gọi nào đó thì bạn có thể gửi một tin nhắn SMS đến bạn của bạn thậm chí khi người đó tắt nguồn máy điện thoại trong lúc bạn gửi tin nhắn đó. Hệ thống SMS của mạng điện thoại sẽ lưu trữ tin nhắn đó rồi sau đó gửi nó tới người bạn đó khi điện thoại của người bạn này mở nguồn.
- Các tin nhắn SMS ít gây phiền phức trong khi bạn vẫn có thể giữ liên lạc với người khác
Việc đọc và viết các tin nhắn SMS không gây ra ồn ào. Trong khi đó, bạn phải chạy ra ngoài khỏi rạp hát, thư viện hay một nơi nào đó để thực hiện một cuộc điện thoại hay trả lời một cuộc gọi. Bạn không cần phải làm như vậy nếu như tin nhắn SMS được sử dụng.
- Các điện thoại di động và chúng có thể được thay đổi giữa các sóng mang Wireless khác nhau.
Tin nhắn SMS là một công nghệ rất thành công và trưởng thành. Tất cả các điện thoại mobile ngày nay đều có hỗ trợ nó. Bạn không chỉ có thể trao đổi các tin nhắn SMS đối với người sử dụng mobile ở cùng một nhà cung cấp dịch vụ mạng sóng mang wireless, mà đồng thời bạn cũng có thể trao đổi nó với người sử dụng khác ở các nhà cung cấp dịch vụ khác.
- SMS là một công nghệ phù hợp với các ứng dụng Wireless sử dụng cùng với nó.
Nói như vậy là do:
- Thứ nhất, tin nhắn SMS được hỗ trợ 100% bởi các điện thoại có sử dụng công nghệ GSM. Xây dựng các ứng dụng wireless trên nền công nghệ SMS có thể phát huy tối đa những ứng dụng có thể dành cho người sử dụng.
- Thứ hai, các tin nhắn SMS còn tương thích với việc mang các dữ liệu binary bên cạnh gửi các text. Nó có thể được sử dụng để gửi nhạc chuông, hình ảnh, hoạt họa …
- Thứ ba, tin nhắn SMS hỗ trợ việc chi trả các dịch vụ trực tuyến.
2.2.1.Cấu trúc của 1 tin nhắn:
Nội dung của một tin nhắn SMS khi được gửi đi sẽ được chia làm 5 phần như sau:
Hình 3: Cấu trúc tin nhắn SMS.
- Instructions to air interface: Chỉ thị dữ liệu kết nối với air interface (giao diện không khí).
- Instructions to SMSC: Chỉ thị dữ liệu kết nối với trung tâm tin nhắn SMSC (Short Message Service Centre).
- Instructions to handset: Chỉ thị dữ liệu kết nối bắt tay.
- Instructions to SIM (optional) : Chỉ thị dữ liệu kết nối, nhận biết SIM (Subscriber Identity Modules).
Message body: Nội dung tin nhắn SMS.
2.2.2.Tin nhắn chuỗi-tin nhắn SMS dài:
Một trong những trở ngại của công nghệ SMS là tin nhắn SMS chỉ có thể mang một lượng giới hạn các dữ liệu. Để khắc phục trở ngại này, một mở rộng của nó gọi là SMS chuỗi (hay SMS dài) đã ra đời. Một tin nhắn SMS dạng text dài có thể chứa nhiều hơn 160 kí tự theo chuẩn dùng trong tiếng Anh. Cơ cấu hoạt động cơ bản SMS chuỗi làm việc như sau: điện thoại di động của người gửi sẽ chia tin nhắn dài ra thành nhiều phần nhỏ và sau đó gửi các phần nhỏ này như một tin nhắn SMS đơn. Khi các tin nhắn SMS này đã được gửi tới đích hoàn toàn thì nó sẽ được kết hợp lại với nhau trên máy di động của người nhận.
Khó khăn của SMS chuỗi là nó ít được hỗ trợ nhiều so với SMS ở các thiết bị có sử dụng sóng wireless.
2.2.3.SMS CENTER/SMSC:
Một SMS Center (SMSC) là nơi chịu trách nhiệm luân chuyển các hoạt động liên quan tới SMS của một mạng wireless. Khi một tin nhắn SMS được gửi đi từ một điện thoại di động thì trước tiên nó sẽ được gửi tới một trung tâm SMS. Sau đó, trung tâm SMS này sẽ chuyển tin nhắn này tới đích (người nhận). Một tin nhắn SMS có thể phải đi qua nhiều hơn một thực thể mạng (netwok) (chẳng hạn như SMSC và SMS gateway) trước khi đi tới đích thực sự của nó. Nhiệm vụ duy nhất của một SMSC là luân chuyển các tin nhắn SMS và điều chỉnh quá trình này cho đúng với chu trình của nó. Nếu như máy điện thoại của người nhận không ở trạng thái nhận (bật nguồn) trong lúc gửi thì SMSC sẽ lưu trữ tin nhắn này. Và khi máy điện thoại của người nhận mở nguồn thì nó sẽ gửi tin nhắn này tới người nhận.
Thường thì một SMSC sẽ họat động một cách chuyên dụng để chuyển lưu thông SMS của một mạng wireless. Hệ thống vận hành mạng luôn luôn quản lí SMSC của riêng nó và vị trí của chúng bên trong hệ thống mạng wireless. Tuy nhiên hệ thống vận hành mạng sẽ sử dụng một SMSC thứ ba có vị trí bên ngoài của hệ thống mạng wireless.
Bạn phải biết địa chỉ SMSC của hệ thống vận hành mạng wireless để sử dụng, tinh chỉnh chức năng tin nhắn SMS trên điện thoại của bạn. Điển hình một địa chỉ SMSC là một số điện thoại thông thường ở hình thức, khuôn mẫu quốc tế. Một điện thoại nên có một thực đơn chọn lựa để cấu hình địa chỉ SMSC. Thông thường thì địa chỉ được điều chỉnh lại trong thẻ SIM bởi hệ thống mạng wireless. Điều này có nghĩa là bạn không cần phải làm bất cứ thay đổi nào cả.
2.2.4.Nhắn tin SMS quốc tế:
Các tin nhắn SMS giữa các nhà điều hành được chia ra làm hai hạng mục gồm tin nhắn SMS giữa các nhà điều hành cục bộ và tin nhắn SMS giữa các nhà điều hành quốc tế với nhau. Tin nhắn SMS giữa các nhà điều hành cục bộ là tin nhắn mà được gửi giữa các nhà điều hành trog cùng một quốc gia còn tin nhắn SMS giữa các nhà điều hành quốc tế là tin nhắn SMS được gửi giữa các nhà điều hành mạng wireless ở những quốc gia khác nhau.
Thường thì chi phí để gửi một tin nhắn SMS quốc tế thì cao hơn so với gửi trong nước. Và chi phí gửi tin nhắn trong nội mạng thì ít hơn so với gửi cho mạng khác trong cùng một quốc gia.
Khả năng kết hợp của tin nhắn SMS giữa hai mạng wireless cục bộ hay thậm chí là quốc tế là một nhân tố chính góp phần tới sự phát triển mạnh mẽ của hệ thống SMS toàn cầu.
CHƯƠNG III: GIỚI THIỆU MODULE SIM300CZ, TẬP LỆNH AT COMMAND.
3.1. Giới thiệu module SIM300CZ:
Các modem được sử dụng từ những ngày đầu của sự ra đời máy tính. Từ Modem là một từ được hình thành từ hai từ Modulator và Demodulator. Và định nghĩa đặc trưng này cũng giúp ta hình dung được phần nào là thiết bị này sẽ làm cái gì. Dữ liệu số thì đến từ một DTE, thiết bị dữ liệu đầu cuối được điều chế theo cái cách mà nó có thể được truyền dữ liệu qua các đường dây truyền dẫn. Ở một mặt khác của đường dây, một modem khác thứ hai điều chế dữ liệu đến và xúc tiến, duy trì nó.
Các modem ngày xưa chỉ tương thích cho việc gửi nhận dữ liệu. Để thiết lập một kết nối thì một thiết bị thứ hai như một dialer được cần đến. Đôi khi kết nối cũng được thiết lập bằng tay bằng cách quay số điện thoại tương ứng và một khi modem được bật thì kết nối coi như được thực thi. Các máy tính loại nhỏ ở các năm 70 thâm nhập vào thị trường là các gia đình, cùng với chi phí thì sự thiếu hụt về kiến thức kỹ thuật trở thành một vấn đề nan giải.
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 có 1 thẻ sim với một mạng wireless để hoạt động.
Module Sim300CZ là một trong những loại modem GSM. Nó sử dụng công nghệ GSM/GPRS hoạt động ở băng tần EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, tính năng GPRS của Sim 300CZ có nhiều lớp:
- 8 lớp điện dung
- 10 lớp điện dung
Và hỗ trợ GPRS theo dạng đồ thị mã hóa CS-1, CS-2, CS-3 và CS-4
3.1.1. Đặc điểm module SIM300CZ:
- Nguồn cung cấp khoảng 3,4 – 4,5V
- Nguồn lưu trữ
- Băng tần
- EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, Sim300CZ 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
- GPRS có nhiều rãnh loại 8 ( lựa chọn )
- GPRS có nhiều rãnh loại 10 ( tự động )
- Giới hạn nhiêt độ:
- Bình thường -300C tới +700C
- Hạn chế : - 350C tới -300C và +700C tới +800C
- Nhiệt độ bảo quản: -450C tới 850C
- 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
- Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
- Sim 300CZ hổ trợ giao thức PAP, kiểu sử dụng kết nối PPP
- Sim 300CZ 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
- CSD:
- Tốc độ truyền dẫn CSD: 2; 4; 8; 9; 6; 14 Kbps
- Hỗ trợ USSD
- SMS:
- MT, MO, CB, Text and PDU mode
- Bộ nhớ SMS: Sim, card
- FAX:
- Nhóm 3 loại 1
- 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: 7 Cổng nối tiếp( ghép nối)
- Cổng kết nối có thể sử dụng với CSD Fax, GPRS và gửi lệnh AT Command tới mudule điều khiển
- Cổng nối tiếp có thể sử dụng chức năng giao tiếp
- Hỗ trợ tốc độ truyền 1200bps tới 115200bps
- 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
- Sim Application toolkit:
- Hỗ trợ SAT loại GSM 11,14 bản 99
- Đồng hồ thời gian thực:
- 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ướt 50±0.15 x 33±0.15 x7.7±0.3mm
- Nặng 13.8 kg
- Chương trình hoàn thiện:
Bảng phối hợp:
Coding scheme |
1.Time & lot |
2. Time slot |
4. Time slot |
CS – 1 |
9. oskbps |
18.1 kbps |
36. 2 kbps |
CS – 2 |
13.4 kbps |
26.8 kbps |
53.6 kbps |
CS – 3 |
15.6 kbps |
31.2 kbps |
62.4 kbps |
CS – 4 |
21.4 kbps |
42.8 kbps |
85.6 kbps |
Hình 4: Module Sim300CZ
3.1.2. Khảo sát sơ đồ chân và chức năng từng chân của module SIM300CZ:
Hình 5: Sơ đồ chân của Module Sim300CZ
- Chân 1, 3,5,7,9: được dành riêng để kết nối tới nguồn cung cấp, nguồn cung cấp của Sim300CZ là nguồn đơn VBAT là 3,4 V – 4,5 V
- Chân 2,4,6,8,10: các chân nối đất
- Chân 11 (VCHG): điện áp ngõ vào cho mạch sạc pin.
- Chân 12 (ADC): Chân vào của bộ chuyển đổi tín hiệu tương tự sang số
- Chân 13 (TEMP-BAT):
- Chân 14 ( VRTC): điện áp cho bộ thời gian thực khi không có nguồn cung cấp.
- Chân 15 (VCC-EXT): chân cấp nguồn 2.93V, được dùng trong chức năng bật hoặc là tắt SIM.
- Chân 16 ( NETLIGHT): đầu ra dùng để chỉ báo mạng kết nối được hệ thống.
- Chân 17 (PWRKEY): chân này dùng để điều khiển hệ thống bật/tắt
- Chân 18, 20, 22, 24, 26 (KBC): bàn phím.
- Chân 19 (STATUS): báo trạng thái hoạt động.
- Chân 21, 35 (GPIO):Normal input/output port
- Chân 23 (BUZZER): đầu ra chuông
- Chân 25 ( SIM VCC): nguồn cung cấp cho thẻ sim.
- Chân 27 ( SIM RST):chân reset cho mạch sim
- Chân 28, 30, 32, 34, 36 ( KBR ):chân kết nối với bàn phím
- Chân 29 ( SIM DATA) : đầu ra dữ liệu chân sim
- Chân 31 ( SIM CLK ): chân thời gian của sim
- Chân 33 (SIM PRESENCE ):chân dò tìm mạng
- Chân 37 (DCD): đưa dữ liệu ra sóng mang
- Chân 38 (DISP CS): hiển thị giao diện
- Chân 40 (DISP CLK): hiển thị giao diện
- Chân 42 (DISP DATA ): hiển thị giao diện
- Chân 44 (DISP D/C ): hiển thị giao diện
- Chân 46 ( DISP RST ): chân ra giao tiếp với màn hình
- Chân 39 ( DTR ): chân đầu cuối dữ liệu
- Chân 41 (RXD ): chân nhận dữ liệu .
- Chân 43 (TXD ): chân truyền dữ liệu.
- Chân 45 ( RTS ): chân yêu cần gửi liệu.
- Chân 47 ( CTS ): Chân hủy gửi dữ liệu
- Chân 49 ( RI ): chỉ báo chuông.
- Chân 48 ( DBG RXD ): đầu ra dùng để điều chỉnh trong nhận dữ liệu
- Chân 50 ( DBG TXD ): đầu ra dùng để điều chỉnh trong truyền dữ liệu
- Chân 51, 51 ( AGND ): chân nối đất
- Chân 53 ( SPK1P), 55 ( SPK1N ): chân output MIC.
- Chân 54 ( MIC1P ), 56 ( MIC1N ): chân input MIC.
- Chân 57 ( SPK2P ), 59 ( SPK2N): chân output MIC.
- Chân 58 ( MIC2P ), 60 ( MIC2N ):chân input MC.
3.2. Khảo sát tập lệnh AT của Module SIM300CZ:
Các modem được sử dụng từ những ngày đầu sự ra đời của máy tính. Từ Modem là một từ được hình thành từ hai từ Modulator và Demodulator. Và định nghĩa đặc trưng này cũng giúp ta hình dung được phần nào là thiết bị này sẽ làm cái gì. Dữ liệu số thì đến từ một DTE, thiết bị dữ liệu đầu cuối được điều chế theo cái cách mà nó có thể được truyền dữ liệu qua các đường dây truyền dẫn. Ở một mặt khác của đường dây, một modem thứ hai điều chế dữ liệu đến và xúc tiến, duy trì nó.
Khi chúng ta xem trong RS232 thì chuẩn RS232 miêu tả một kênh tryuền thông với bộ kết nối 25 chân DB25, nó được thiết kế để thực thi quá trình truyền các lệnh đến modem được kết nối với nó. Thao tác này bao gồm cả các lệnh quay một số điện thoại nào đó. Đó là các quá trình dùng RS232 với chi phí thấp này chỉ thể hiện trên các máy tính ở các hộ gia đình trong những năm 70, và kênh truyền thông thứ 2 không được thực thi. Thế nên nhất thiết phải có một phương pháp được thiết lập để sử dụng kênh dữ liệu hiện tại để không chỉ truyền dữ liệu từ một điểm đầu cuối này tới một điểm đầu cuối khác mà nó còn nhắm tới modem duy nhất. Dennis Hayes đã đưa ra giải pháp cho vấn đề này trong năm 1977. Modem thông minh( Smartmodem ) của ông sử dụng chuẩn truyền thông RS232 đơn giản kết nối tới một máy tính để truyền cả câu lệnh và dữ liệu. Bởi vì mỗi lệnh bắt đầu với chữ AT trong chữ Attention nên ngôn ngữ điều khiển được định nghĩa bởi Hayes nhanh chóng đượcc biết đến với bộ lệnh Hayes AT. Chính vì sự đơn giản và khả năng thực thi với chi phí thấp của nó, bộ lệnh Hayes AT nhanh chóng được sử dụng phổ biến trong các modem của các nhà sản xuất khác nhau. Khi chức năng và độ tích hợp của các modem ngày càng tăng cùng thời gian, nên làm cho ngôn ngữ lệnh Hayes AT càng phức tạp. Vì thế nhanh chóng mỗi nhà sản xuất modem đã sử dụng ngôn ngữ riêng của ông ấy. Ngày nay bộ lệnh AT bao gồm cả các lệnh về dữ liệu, fax, voice và các truyền thông SMS.
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 “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 nố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ư trữ), AT+CMGL( 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, bạn 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
- Kiểm tra trạng thái sạc pin và mức sạc của pin.
- Đọc, viết và tìm kiếm về các mục danh bạ
3.2.1. Các lệnh khởi tạo GSM Module Sim300CZ:
- Lệnh AT<cr>
Nếu lệnh thực hiện đựợc thì trả về:
Ok
Bắt đầu thực hiện các lệnh tiếp theo.
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
- Lệnh AT+CMGF=[<mode>] <cr>
Nếu lệnh thực hiện đựợc thì trả về:
Ok
<mode>: 0 dạng dữ liệu PDU
1 dạng dữ liệu kiểu text
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
- Lệnh AT&W[<n>]
Nếu lệnh thực hiện đựợc thì trả về:
Ok
Lưu cấu hình cho GSM Module Sim300CZ
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
- Lệnh ATE[<value>]
Nếu lệnh thực hiện đựợc thì trả về:
Ok
<value> 0 Tắt chế độ Echo
1 Bật chế độ Echo
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
3.2.2. Các lệnh xử lý cuộc gọi:
- Lệnh quay số:
ATD<cr>
Ví dụ: muốn quay số tới số điện thoại 01656145049 thi ta gõ lệnh
ATD01656145049;<cr>
<cr>: Enter
- Lệnh nhấc máy:
ATA<cr>
Ví dụ: khi có số điện thoai nào đó gọi đến số điện thoại được gắn trên modem Sim300Cz, ta muốn nhấc máy để kết nối thì gõ lệnh:
ATA <cr>
- Lệnh bỏ cuộc gọi:
ATH<cr>
Ví dụ: khi có số điện thoại nào đó gọi đến số điện thoại được gắn trên modem Sim300Cz, ta không muốn nhấc máy mà từ chối cuộc gọi thì gõ lệnh:
ATH<cr>
3.2.3. Các lệnh về SMS:
- Lệnh Xóa tin nhắn
AT+CMGD
Ví dụ: muốn xóa một tin nhắn nào đó được lưu trên sim thì ta thực hiện lệnh sau.
AT+CMGD=<index> <cr>
<index>: vị trí ngăn nhớ lưu tin nhắn
Nếu lệnh thực hiện đựợc thì trả về:
Ok
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
- Lệnh đọc tin nhắn:
AT+CMGR=<index>[mode] <cr>
<index>: số nguyên, đó là vị trí ngăn nhớ chứa tin nhăn cần đọc
<mode>: 0 dạng dữ liệu PDU
1 dạng dữ liệu kiểu text
Nếu như lệnh được thực hiện thì kiểu dữ liệu trả về dưới dạng text ( mode=1):
Từ SMS-DELIVER:
+CMGR:<stat>,<oa>,[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>
Nếu dữ liệu trả về dạng PDU(mode=0):
+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu>
Nếu lệnh bị lỗi thì trả về dưới dạng:
+CMS ERROR: <err>
- Lệnh gửi tin nhắn SMS:
AT+CMGS
Nếu gửi tin nhắn dưới dạng text:
(+CMGF=1):
+CMGS=<da>[,<toda>]<CR> text is entered <ctrl-Z/ESC>
Nếu gửi tin nhắn dạng PDU:
(+CMGF=0):
+CMGS=<length><CR> PDU is given <ctrl-Z/ESC>
Lệnh được thực hiện thành công thi dữ liệu trả về:
Dạng text : +CMGS: <mr>
OK
Dạng PDU: +CMGS: <mr>
OK
Lệnh bị lỗi: +CMS ERROR: <err>
- Lệnh viết tin nhắn rồi lưu vào ngăn nhớ:
AT+CMGW
Nếu viết tin nhắn dưới dạng text:
AT+CMGW=[<oa/da>[,<tooa/toda>[,<stat>]]]<CR>text is entered <ctrl-Z/ESC> <ESC>
Lệnh được thực hiện đúng thì dữ liệu trả về dạng:
+CMGW: <index>
OK
Lệnh sai:
+CMS ERROR: <err>
Nếu viết tin nhắn dưới dạng PDU:
AT+CMGW=<length>[,<stat>]<CR> PDU is given <ctrl-Z/ESC>
- Lệnh gửi tin nhắn từ một ngăn nhớ nào đó:
AT+CMSS=<index>[,<da>[,<toda>]]
Nếu lệnh được thực hiện thành công dữ liệu trả về dạng:
Dạng text: +CMGS: <mr> [,<scts>]
OK
Dạng PDU: +CMGS: <mr> [,<ackpdu>]
OK
Nếu lệnh bị lỗi:
+CMS ERROR: <err>
- Lệnh báo hiệu tin nhắn mới:
AT+CNMI=[<mode>[,<mt>[,<bm> [,<ds>[,<bfr>]]]]]
Nếu lệnh được thực hiện đúng thì dữ liệu trả về dạng:
OK
Nếu lệnh bị lỗi:
+CMS ERROR: <err>
3.2.4. Các lệnh về GPRS:
- AT+CGATT: lệnh gán hay tách thiết bị khỏi GPRS
- AT+CGDCONT: định nghĩa dạng PDP
- AT+CGQMIN: chất lượng dich vụ ở mức thấp nhất
- AT+CGQREQ: chất lượng dich vụ
- AT+CGDATA: trạng thái dữ liệu vào
- AT+CGREG : tình trạng đăng ký của mạng
- AT+CGCOUNT: đếm gói dữ liệu vào
3.2.5. Các lệnh về TCP/IP:
- Lệnh bắt đầu kết nối TCP hay UDP
AT+CIPSTART=<mode>,[<IPaddress>,<domain name>],<port>
Trong đó:
<mode> : tham số báo kiểu kết nối TCP hay UDP
<IP address> : địa chỉ IP của người điều khiển từ xa
<port> :
<domain name> : tên miền của người điểu khiển từ xa
Nếu lệnh thực hiện đúng thì lệnh trả về :
CONNECT OK
Nếu lệnh thực hiện
3.2.6. Các lệnh khác:
- Lệnh nghỉ
AT+CFUN
Ví dụ muốn tắt hết chức năng liên quan đến truyền nhận sóng RF và các chức năng liên quan đến sim thì gõ lệnh:
AT+CFUN=0 <cr>
OK
- Lệnh chuyển từ chế độ nghỉ sang chế độ hoạt động bình thường
AT+CFUN
Ví dụ sim đang ở chế độ nghỉ ta muốn chuyển sang chế độ hoạt động bình thường thi gõ lệnh:
AT+CFUN=1 <cr>
OK
- Lệnh reset mode
ATZ <cr>
OK
- Lệnh tắt chế độ echo
ATE0 <cr>
3.2.7. Các lệnh kiểm tra ban đầu:
- Lấy thông tin cơ bản về điện thoại di động hay modem GSM/GPRS. Ví dụ như tên của nhà sản xuất (AT+CGMI), số model (AT+CGMM), số IMEI (International Mobile Equipment Identity) (AT+CGSN) và phiên bản phần mềm (AT+CGMR).
- Lấy các thông tin cơ bản về những người kí tên dưới đây. Thí dụ, MSISDN (AT+CNUM) và số IMS (International Mobile Subscriber Identity) (AT+CIMI).
- Lấy thông tin trạng thái hiện tại của điện thoại di động hay modem GSM/GPRS. Ví dụ như trạng thái hoạt động của điện thoại (AT+CPAS), trạng thái đăng kí mạng mobile (AT+CREG), chiều dài sóng radio (AT+CSQ), mức sạc pin và trạng thái sạc pin (AT+CBC).
- Đọc (AT+CPBR), viết (AT+CPBW) hay tìm kiếm (AT+CPBF) các mục về danh bạ điện thoại (phonebook).
- Thực thi các nhiệm vụ liên quan tới an toàn, chẳng hạn như mở hay đóng các khóa chức năng (AT+CLCK), kiểm tra xem một chức năng được khóa hay chưa (AT+CLCK) và thay đổi Password (AT+CPWD).
- Điều khiển hoạt động của các mã kết quả/các thông báo lỗi của các lệnh AT. Ví dụ, bạn có thể điều khiển cho phép hay không cho phép kích hoạt hiển thị thông báo lỗi (AT+CMEE) và các thông báo lỗi nên được hiển thị theo dạng số hay theo dạng dòng chữ (AT+CMEE=1 hay AT+CMEE=2).
- Thiết lập hay thay đổi cấu hình của điện thoại di dộng hay modem GSM/GPRS. Ví dụ, thay đổi mạng GSM (AT+COPS), loại dịch vụ của bộ truyền tin (AT+CBST), các thông số Protocol liên kết với radio (AT+CRLP), địa chỉ trung tâm SMS (AT+CSCA) và khu vực lưu trữ các tin nhắn SMS (AT+CPMS).
- Lưu và phục hồi các cấu hình của điện thoại di động hay modem GSM/GPRS. Ví du, lưu (AT+COPS) và phục hồi (AT+CRES) các thiết lập liên quan tới tin nhắn SMS chẳng hạn như địa chỉ trung tâm tin nhắn SMS.
CHƯƠNG IV: GIỚI THIỆU PIC 16F877A
4.1. Giới thiệu chung:
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CPU1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay.
4.1.1. Sự phổ biến của vi điều khiển PIC:
Trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC, AVR, ARM... Tuy nhiên, hiện nay PIC đang được sử dụng rộng rãi ở Việt Nam vì những nguyên nhân sau:
- Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam.
- Giá thành không quá đắt.
- Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập.
- Là sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển mang tính truyền thống: họ vi điều khiển 8051.
- Hiện nay tại Việt Nam cũng như trên thế giới, PIC được sử dụng khá rộng rãi. Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn…
- Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp…
- Các tính năng đa dạng của vi điều khiển PIC không ngừng được phát triển.
4.1.2. Kiến trúc PIC:
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc: kiến trúc Von-Neumann và kiến trúc Harvard.
Hình 6: Kiến trúc Harvard và kiến trúc Von-Neuma
Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Harvard. Điểm khác biệt giữa kiến trúc Harvard và kiến trúc Von-Neumann là cấu trúc bộ nhớ dữ liệu và bộ nhớ chương trình.
Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ chương trình và bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của CPU phải rất cao,vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình. Như vậy có thể nói kiến trúc Von-Neumann không thích hợp với cấu trúc của một vi điều khiển.
Đối với kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai bộ nhớ riêng biệt. Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể. Một điểm cần chú ý nữa là tập lệnh trong kiến trúc Harvard có thể được tối ưu tùy theo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu. Ví dụ, đối với vi điều khiển dòng 16Fxxx, độ dài lệnh luôn là 14 bit (trong khi dữ liệu được tổ chức thành từng byte), còn đối với kiến trúc Von-Neumann, độ dài lệnh luôn là bội số của 1 byte (do dữ liệu được tổ chức thành từng byte). Đặc điểm này được minh họa cụ thể trong hình 4.1.
4.1.3. RISC và CISC:
Như đã trình bày ở trên, kiến trúc Harvard là khái niệm mới hơn so với kiến trúc Von-Neumann. Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của một vi điều khiển. Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, bus chương trình và bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương trình và bộ nhớ dữ liệu, giúp tăng tốc độ xử lí của vi điều khiển lên gấp đôi. Đồng thời cấu trúc lệnh không còn phụ thuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều chỉnh tùy theo khả năng và tốc độ của từng vi điều khiển. Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh của họ vi điều khiển PIC được thiết kế sao cho chiều dài mã lệnh luôn cố định (ví dụ đối với họ 16Fxxxx chiều dài mã lệnh luôn là 14 bit) và cho phép thực thi lệnh trong một chu kì của xung clock ( ngoại trừ một số trường hợp đặc biệt như lệnh nhảy, lệnh gọi chương trình con … cần hai chu kì xung đồng hồ). Điều này có nghĩa tập lệnh của vi điều khiển thuộc cấu trúc Harvard sẽ ít lệnh hơn, ngắn hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất định. Vi điều khiển được tổ chức theo kiến trúc Harvard còn được gọi là vi điều khiển RISC (Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn. Vi điều khiển được thiết kế theo kiến trúc Von-Neuman còn được gọi là vi điều khiển CISC (Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp vì mã lệnh của nó không phải là một số cố định mà luôn là bội số của 8 bit (1 byte).
4.1.4. PIPELINING :
Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC. Một chu kì lệnh của vi điều khiển sẽ bao gồm 4 xung clock. Ví dụ ta sử dụng oscillator có tần số 4 MHZ, thì xung lệnh sẽ có tần số 1 MHz (chu kì lệnh sẽ là 1 us). Giả sử ta có một đoạn chương trình như sau:
1. MOVLW 55h
2. MOVWF PORTB
3. CALL SUB_1
4. BSF PORTA,BIT3
5. instruction @ address SUB_1
Ở đây ta chỉ bàn đến qui trình vi điều khiển xử lí đoạn chương trình trên thông qua từng chu kì lệnh. Quá trình trên sẽ được thực thi như sau:
TCY0: đọc lệnh 1
TCY1:thực thi lệnh 1, đọc lệnh 2
TCY2: thực thi lệnh 2, đọc lệnh 3
TCY3: thực thi lệnh 3, đọc lệnh 4.
- TCY4: vì lệnh 4 không phải là lệnh sẽ được thực thi theo qui trình thực thi của chương trình (lệnh tiếp theo được thực thi phải là lệnh đầu tiên tại label SUB_1) nên chu kì thực thi lệnh này chỉ được dùng để đọc lệnh đầu tiên tại label SUB_1. Như vậy có thể xem lệnh 3 cần 2 chu kì xung clock để thực thi.
- TCY5: thực thi lệnh đầu tiên của SUB_1 và đọc lệnh tiếp theo của SUB_1.
Quá trình này được thực hiện tương tự cho các lệnh tiếp theo của chương trình.
Thông thường, để thực thi một lệnh, ta cần một chu kì lệnh để gọi lệnh đó, và một chu kì xung clock nữa để giải mã và thực thi lệnh. Với cơ chế pipelining được trình bày ở trên, mỗi lệnh xem như chỉ được thực thi trong một chu kì lệnh. Đối với các lệnh mà quá trình thực thi nó làm thay đổi giá trị thanh ghi PC (Program Counter) cần hai chu kì lệnh để thực thi vì phải thực hiện việc gọi lệnh ở địa chỉ thanh ghi PC chỉ tới. Sau khi đã xác định đúng vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một chu kì lệnh để thực thi xong.
4.1.5. Các dòng PIC và cách lựa chọn PIC:
- Các kí hiệu của vi điều khiển PIC:
- PIC12xxxx: độ dài lệnh 12 bit
- PIC16xxxx: độ dài lệnh 14 bit
- PIC18xxxx: độ dài lệnh 16 bit
- C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)
- F: PIC có bộ nhớ flash
- LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp LV: tương tự như LF, đây là kí hiệu cũ.
Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash).Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC. Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất.
- Cách lựa chọn PIC:
Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng. Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44 … chân.
Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình được nhiều lần hơn. Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển, các chuẩn giao tiếp bên trong. Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép. Ngoài ra mọi thông tin về cách lựa chọn vi điều khiển PIC có thể được tìm thấy trong cuốn sách “Select PIC guide” do nhà sản xuất Microchip cung cấp.
4.1.6. Ngôn ngữ lập trình PIC:
Ngôn ngữ lập trình cho PIC rất đa dạng. Ngôn ngữ lập trình cấp thấp có MPLAB (được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập trình cấp cao hơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ lập trình được phát triển dành riêng cho PIC như PICBasic, MikroBasic…
4.2. PIC16F877A:
4.2.1. Hình dạng và sơ đồ chân:
Hình 7: điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân
4.2.2. Đặc tính kỹ thuật:
4.2.2.1. Một vài thông số về PIC:
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 byte. Số PORT I/O là 5 với 33 pin I/O.
- 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.
- 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.
- ..........................................
}
}
//***********************************************************
void config_sms(){
printf("at\n\r");
delay_ms(500);
printf("at\n\r");
delay_ms(500);
printf("at\n\r");
delay_ms(500);
printf("at\n\r");
delay_ms(500);
printf("at+cmgf=1\n\r");
delay_ms(500);
printf("at&w\n\r");
delay_ms(500);
}
//***********************************************************
void alarm(){
while(flag4!=1){
return;
}
printf("ATD+%S;\n\r",phone);
delay_ms(500);
printf("AT+CMGS=\"%s\"\n\r",phone);
delay_ms(500);
printf("co nguoi dot nhap vao nha \n\r");
delay_ms(500);
putc(26);
delay_ms(500);
flag4=0;
}
CHƯƠNG KẾT LUẬN
vKết luận:
Qua thời gian nghiên cứu, tìm hiểu, thi công, đồ án đã cơ bản được hoàn thành. Bằng sự nỗ lực cố gắng của nhóm và sự hướng dẫn nhiệt tình của giáo viên hướng dẫn, đồ án đã được hoàn thành đúng thời gian quy định và đã đạt được những kết quả sau:
- Mạch điện sau khi hoàn thành đã thoạt động ổn định.
- Xây dựng được mô hình để ứng dụng điều khiển các thiết bị và hệ thống báo động.
- Hệ thống điều khiển được thiết bị điện từ xa thông qua tin nhắn SMS:
- Sau khi gửi tin nhắn thì với nội dụng tin nhắn quy định, bộ xử lí sẽ thực thi quá trình xử lí, sau đó là điều khiển thiết bị một cách tự động.
- Tin nhắn được gửi đi từ người điều khiển để điều khiển thiết bị điện và người điều khiển cũng nhận được tin nhắn trả ngược lại với nội dụng tin nhắn là đã điều khiển được các thiết bị hay chưa và hệ thống cảnh báo.
- Hệ thống có khả năng được bảo vệ tốt, nghĩa là người sử dụng phải biết lệnh điều khiển và mật khẩu (password) thì mới điều khiển được.
- Hệ thống có chức năng báo động khi có người hoặc là khi nhiệt độ lên cao:
Khối thu phát hồng ngoại được thiết kế, lập trình kết hợp với trung tâm xử lí có khả năng gửi thông tin dữ liệu tới trung tâm xử lí. Ngoài ra còn có khả năng gửi tin nhắn ngược lại cho người điều khiển và tự động thi hành các thao tác được lập trình sẵn khi có báo động xảy ra.
Để thực hiện được các chức năng nêu trên, nhóm em đã tìm hiểu, nghiên cứu các vấn đề có liên quan tới đề tài như: Pic16F877A, Module Sim300CZ, các ngôn ngữ lập trình tương ứng như CCS, bộ lệnh AT Command dành cho Module, và các vấn đề khác liên quan tới đề tài.
vHướng phát triển đề tài:
Do thời gian thực hiện đề tài có hạn và lượng kiến thức cá nhân mỗi thành viên của nhóm là nhất định nên đề tài thực hiện xong chỉ đáp ứng được một phần nhỏ của một hệ thống hoàn chỉnh. Vì vậy, để đề tài này thêm phong phú hơn, mang nhiều tính thực tế hơn nữa, có khả năng ứng dụng cao hơn thì đề tài cần đưa thêm vào những yêu cầu như sau:
- Ngoài việc điều khiển giám sát bằng tin nhắn SMS, ta cũng có thể điều khiển Camera để chụp hình rồi sau đó gửi tin nhắn đa phương tiện đến điện thoại.
- Mở rộng điều khiển được nhiều hơn nữa các thiết bị trong nhà.
- Đề tài không những chỉ áp dụng cho với các tòa nhà mà nên được mở rộng áp dụng đối với điều khiển các thiết bị sử dụng nơi công cộng.
Hy vọng với những hướng phát triển nêu trên cùng với những ý tưởng khác của các bạn, của người đọc- những người đi sau - sẽ phát triển hơn nữa đề tài này, khắc phục những hạn chế, tồn tại của đề tài, làm cho đề tài trở nên phong phú hơn, mang tính ứng dụng cao hơn vào trong thực tế cuộc sống, phục vụ cho những lợi ích của con người trong tương lai.