Đăng ký Đăng nhập
Trang chủ Hệ thống báo động tại giàn thép đỗ xe...

Tài liệu Hệ thống báo động tại giàn thép đỗ xe

.PDF
67
2
111

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI --------------------------------------- VŨ TIẾN ĐẠT HỆ THỐNG BÁO ĐỘNG TẠI GIÀ N THÉP ĐỖ XE LUẬN VĂN THẠC SĨ KỸ THUẬT Chuyên ngành: Kỹ thuật Điện tử Hà Nội – Năm 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI --------------------------------------- VŨ TIẾN ĐẠT HỆ THỐNG BÁO ĐỘNG TẠI GIÀ N THÉP ĐỖ XE Chuyên ngành: Kỹ thuật Điện tử LUẬN VĂN THẠC SĨ KỸ THUẬT Chuyên ngành: Kỹ thuật Điện tử NGƯỜI HƯỚNG DẪN: TS. Đặng Quang Hiếu Hà Nội – Năm 2017 MỤC LỤC Trang Trang phụ bìa Lời cam đoan Danh mục các chữ viết tắt MỞ ĐẦU.................................................................................................................................... 1 Chương I: TỔNG QUAN ......................................................................................................... 5 1.1. Tổng quan về thư viện Open CV và xử lý ảnh ................................................................. 5 1.1.1. Tổng quan về thư viện Open CV .................................................................. 5 1.1.2. Các ứng dụng của Open CV ......................................................................... 5 1.1.3. Các chức năng của Open CV ........................................................................ 6 1.2. Tổng quan về ngôn ngữ lập trình Python .......................................................................... 7 1.2.1. Ngôn ngữ lập trình Python là gì ................................................................... 7 1.2.2. Các đặc điểm của Python.............................................................................. 8 1.2.3. Lịch sử vắn tắt của Python ........................................................................... 8 1.3. Tổng quan về module Sim 900a và vi điều khiển Atmega328 ..................................... 10 1.3.1. Tổng quan về module Sim 900a ................................................................. 10 1.3.2. Tập lệnh AT điều khiển hoạt động của module sim 900a trong môi trường Arduino IDE ......................................................................................................... 11 1.3.3. Tổng quan về vi điều khiển Atmega328..................................................... 13 1.4. Giới thiệu về module thu phát Rf và ứng dụng của nó .................................................. 16 1.4.1. Module thu sóng Rf 4 kênh ........................................................................ 16 1.4.2. Tay phát Rf 4 kênh ..................................................................................... 17 1.5. Chuẩn truyển thông Uart và giao tiếp máy tính với board mở rộng ............................. 18 1.5.1. Chuẩn truyền thông Uart ............................................................................ 18 1.5.2. Giao tiếp máy tính và board mở rộng ......................................................... 19 1.6. Giới thiệu về Arduino IDE và cách lập trình cho vi điều khiển Atmega328................ 20 1.6.1. Giới thiệu về Arduino IDE ......................................................................... 20 1.6.2. Cách lập trình vi điều khiển sử dụng Arduino IDE .................................... 21 Chương II: THIẾT KẾ HỆ THỐNG...................................................................................... 22 2.1. Chế tạo board mở rộng với module sim và vi điều khiển Atmega328 ......................... 22 2.1.1. Thiết kế sơ đồ khối và sơ đồ nguyên lý ...................................................... 22 2.1.1.1. Khối vi điều khiển trung tâm .............................................................. 22 2.1.1.2. Khối điều khiển rơ le ........................................................................... 23 2.1.1.3. Khối điều khiển còi chip ..................................................................... 24 2.1.1.4. Mạch Reset .......................................................................................... 24 2.1.1.5. Khối ngõ vào ....................................................................................... 25 2.1.1.6. Khối đọc tín hiệu modul rf .................................................................. 25 2.1.1.7. Khối module sim 900 .......................................................................... 26 2.1.1.8. Khối hiển thị lên màn hình Lcd16*02................................................. 26 2.1.1.9. Khối nguồn .......................................................................................... 27 2.1.1.10 Thiết kế mạch in cho board mở rộng ................................................. 28 2.2. Lập trình cho board mở rộng ........................................................................................... 32 2.2.1. Xây dựng lưu đồ thuật toán ........................................................................ 32 2.2.2. Lập trình cho vi điều khiển ......................................................................... 33 2.3. Lập trình xử lý ảnh trên máy tính .................................................................................... 38 2.3.1. Phương pháp xử lý và nhận dạng hình ảnh sử dụng thư viện OpenCV ..... 38 2.3.1.1. Lấy dữ liệu ảnh đầu vào ...................................................................... 39 2.3.1.2. Nhị phân hóa ảnh................................................................................. 40 2.3.1.3. Nội suy ảnh.......................................................................................... 42 2.3.1.4. Tính toán kết quả ................................................................................. 42 2.3.2. Lý thuyết so sánh 2 bức ảnh nhằm phát hiện chuyển động............................ 43 2.3.3. Xây dựng lưu đồ thuật toán ........................................................................ 47 2.3.3. Lập trình chương trình sử dụng ngôn ngữ Python ..................................... 47 Chương III: KẾT QUẢ HỆ THỐNG; ................................................................................... 51 HÌNH ẢNH HỆ THỐNG TRONG THỰC TẾ VÀ NHẬN XÉT CỦA ĐƠN VỊ SỬ DỤNG....................................................................................................................................... 51 KẾT LUẬN.............................................................................................................................. 56 TÀI LIỆU VÀ HÌNH ẢNH THAM KHẢO......................................................................... 58 LỜI CAM ĐOAN Tôi đã đọc và hiểu về các hành vi vi phạm sự trung thực trong học thuật. Tôi cam kết bằng danh dự cá nhân rằng nghiên cứu này do tôi tự thực hiện và không vi phạm yêu cầu về sự trung thực trong học thuật. Tôi xin cam đoan luận văn: “HỆ THỐNG BÁO ĐỘNG TẠI GIÀN THÉP ĐỖ XE” là nghiên cứu của tôi, các số liệu và kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Tác giả luận văn Vũ Tiến Đạt DANH MỤC CÁC CHỮ VIẾT TẮT Nghĩa tiếng Anh Từ viết tắt Nghĩa tiếng Việt MCU Microcontroller Unit Vi điều khiển Uart Universal asynchronous Giao tiếp truyền nhận không receiver-transmitter đồng bộ CMD Command Câu lệnh GSM Global System for Mobile Hệ thống thông tin di động toàn Communications cầu RF Radio Frequency Tần số vô tuyến Sw Switch Nút nhấn ATC AT Command Tập lệnh AT DANH MỤC HÌNH VẼ Hình 1.1 Logo của thư viện Open CV [1] .................................................................. 5 Hình 1.2 Ứng dụng đếm xe trên quốc lộ bằng Open CV [2] ...................................... 6 Hình 1.3 Ứng dụng nhận dạng biển số xe dùng Open CV [3].................................... 6 Hình 1.4 Logo ngôn ngữ lập trình Python [4] ............................................................ 8 Hình 1.5 Môi trường lập trình Python GUI [5] .......................................................... 9 Hình 1.6 Môi trường lập trình Python CMD [6] ........................................................ 9 Hình 1.7 Hình ảnh thực tế module sim 900a và sơ đồ chân kết nối [7] ................... 10 Hình 1.8 Sơ đồ chân Atmega328 [8] ........................................................................ 14 Hình 1.9 Hình ảnh thực tế của vi điều khiển Atmega328 ở dạng Smd và Dip [9] ... 15 Hình 1.10 Sơ đồ chân Atmega328 Smd [10] ............................................................ 16 Hình 1.11 Module thu sóng Rf 4 kênh [11] .............................................................. 16 Hình 1.12 Form dữ liệu truyền Uart cơ bản [12] ...................................................... 18 Hình 1.13 Usb to Uart sử dụng chip PL2303 [13] .................................................... 19 Hình 1.14 Cửa sổ làm việc của Arduino IDE [14] ................................................... 20 Hình 1.15 Chương trình Blink chớp tắt 1 led theo chu kì 1s [15] ............................ 21 Hình 2.1 Sơ đồ khối của board mở rộng ................................................................... 22 Hình 2.2 Khối vi điều khiển trung tâm Atmega 328 ................................................ 23 Hình 2.3 Khối điều khiển rơ le ................................................................................. 23 Hình 2.4 Mạch điều khiển còi chip ........................................................................... 24 Hình 2.5 Mạch Reset................................................................................................. 24 Hình 2.6 Khối ngõ vào .............................................................................................. 25 Hình 2.7 Khối thu tín hiệu Rf ................................................................................... 25 Hình 2.8 Khối Module Sim900 ................................................................................. 26 Hình 2.9 Khối hiển thị lên màn hình Lcd16*02 ....................................................... 26 Hình 2.10 Khối nguồn 5V......................................................................................... 27 Hình 2.11 Sơ đồ nguyên lý mạch mở rộng sử dụng module sim ............................. 28 và vi điều khiển Atmega328 ..................................................................................... 28 Hình 2.12 Đặt luật khoảng cách giữa 2 đường dây nhỏ nhất ................................... 30 Hình 2.13 Đặt luật độ rộng đường dây nhỏ nhất ...................................................... 30 Hình 2.14 Đặt luật khoảng cách nhỏ nhất giữa đường mạch và lớp phủ đồng ........ 31 Hình 2.15 Mạch in sau khi thiết kế ........................................................................... 32 Hình 2.16 Lưu đồ thuật toán xử lý trên vi điều khiển Atmega328 ........................... 33 Hình 2.17 Ảnh gốc khi chưa sử dụng thuật toán nhị phân [16] ................................ 44 Hình 2.18 Ảnh sau khi được nhị phân bằng cách đổi hệ mầu [17]........................... 44 Hình 2.19 Vẽ khung bảo vệ bên trong ảnh [18]........................................................ 45 Hình 2.20 Xác định các vật chuyển động trong khung bảo vệ [19] ......................... 46 Hình 2.21 Bỏ qua các vật chuyển động có diện tích nhỏ hơn S ngưỡng [20] .......... 46 Hình 2.22 Lưu đồ thuật toán xử lý ảnh trên máy tính .............................................. 47 Hình 3.1 Giàn thép đỗ xe cao tầng tại phố Nguyễn Công Hoan – TP. Hà Nội [21] 51 Hình 3.2 Lắp đặt hệ thống báo động tại giàn thép đỗ xe Phố Nguyễn Công Hoan .. 52 Hình 3.3 Giả nghiệm khi có đồ vật chuyển động vào vùng cảnh báo ...................... 52 (để hạn chế báo động giả) ......................................................................................... 52 Hình 3.4 Hệ thống hoạt động khi có người đi vào vùng cảnh báo ........................... 53 MỞ ĐẦU 1. Lý do chọn đề tài Xã hội phát triển kéo theo sự đi lên không ngừng nghỉ của những thành tựu khoa học kĩ thuật. Nhằm tối ưu hóa quá trình sản xuất và đem lại những tiện nghi tốt nhất cho con người thì công nghệ cũng từng bước phát triển tương xứng, song song với sự phát triển của công nghệ và khoa học kĩ thuật thì của cải thặng dư và tích lũy của mỗi cá nhân tập thể ngày càng nhiều thêm. Trong cuộc sống hiện đại ngày nay, khi những thành tựu khoa học kĩ thuật ngày càng len lỏi vào sâu trong cuộc sống thì việc ứng dụng các thiết bị điện điện tử vào các lĩnh vực dân dụng đã trở nên rất cần thiết. Nắm bắt được hướng đi đó, các nhà sản xuất đã tung ra thị trường rất nhiều sản phẩm với mục đích phục vụ cuộc sống con người ngày một tiện nghi, an toàn hơn. Để đảm bảo an toàn cho tính mạng và tài sản của con người, các nhà sản xuất đã cho ra đời rất nhiểu sản phẩm với mục đích phòng chống và cảnh báo con người trước các nguy cơ mất tài sản. Sự ra đời của các thiết bị chống trộm cũng như bảo vệ là minh chứng cho điều đó. Chính vì vậy, em đã chọn đề tài tốt nghiệp của mình “Hệ thống báo động tài giàn thép đỗ xe”. Tham khảo các hệ thống chống trộm trên thị trường, em nhận ra các hệ thống này đều có ưu nhược điểm riêng biệt và nắm lấy nhu cầu bức thiết của thị trường, em đã mạnh dạn chọn đề tài đồ án của mình và thiết kế hệ thống chống trộm dùng xử lý ảnh và cảnh báo qua điện thoại (tin nhắn hoặc gọi điện) với mục đích tạo ra một sản phẩm thiết thực và hữu ích. Đề tài này cũng nhằm mục đích áp dụng các kiến thức điện - điện tử - lập trình đã được học vào trong thực tế. Trong quá trình thực hiện đề tài em rất cảm ơn sự hướng dẫn nhiệt tình của TS. Đă ̣ng Quang Hiế u và TS. Nguyễn Phan Kiên cũng như sự tư vấn của các thầy cô trong viện Điện tử - Viễn thông. Vì thời gian dành cho đề tài không quá nhiều cũng như là do lần đầu nghiên cứu nên đề tài sẽ không tránh khỏi một số vấn đề và chưa được hoàn thiện một cách tốt nhất nên em rất mong nhận được sự đóng góp quý báu của quý thầy cô và các bạn đọc luận văn này. Em xin chân thành cảm ơn! 1 2. Mục đích nghiên cứu của luận văn Trên cơ sở nội dung nghiên cứu, mục đích của luận văn bao gồm: - Tìm hiểu và nghiên cứu các phương pháp cảnh báo chống trộm trong các bãi đỗ xe - Tìm hiểu và so sánh các phương pháp tách và xử lý hình ảnh ứng dụng thư viện xử lý ảnh OpenCV - Nghiên cứu tìm ra các giải pháp báo động khi có xâm nhập sử dụng sóng Gms với module sim gửi tin nhắn cảnh báo lên số điện thoại người sử dụng - Triển khai và phát triển đề tài từng bước hoàn thiện cho ra sản phẩm thực tế 3. Đối tượng, phạm vi nghiên cứu - Đối tượng nghiên cứu là thuật toán xử lý ảnh sử dụng thư viện Open CV và thiết kế mạch điện tử với mục đích báo động xâm nhập - Phạm vi nghiên cứu là các giải thuật đã được công bố và các đoạn code mẫu của nhà sản xuất 4. Phương pháp nghiên cứu Trên thị trường hiện lưu hành rất nhiều hệ thống chống trộm và ta có thể liệt kê được một số công nghệ chống trộm phổ biến như sau: - Chống trộm sử dụng tia laze và hệ thống cảnh báo qua còi báo - Hệ thống chống trộm sử dụng cảm biến hồng ngoại nhận diện trong đêm tối - Hệ thống chống trộm sử dụng cảm biến thân nhiệt - Hệ thống chống trộm sử dụng camera xử lý ảnh và cảnh báo qua còi báo Trong quá trình thực hiện nghiên cứu, các phương pháp đã được sử dụng để thực hiện các yêu cầu chức năng hệ thống đề ra bao gồm: - Phương án 1: Sử dụng hồng ngoại dải để chặn các đường bao xung quanh khu giàn thép để xe - Phương án 2: sử dụng camera để theo dõi và thực hiện xây dựng phần mềm cảnh báo Tuy nhiên, trong quá trình thực hiện nghiên cứu, giải pháp của Phương án 1 là không thành công do ảnh hưởng nhiễu ánh sáng, không ghi lại hình ảnh thời điểm 2 đối tượng xâm nhập và bài toán kinh tế không hợp lý. Mỗi hệ thống đều có ưu và nhược điểm riêng, nhằm tìm ra một giải pháp phù hợp với tình hình thực tiễn và khả năng phát triển về sau, em đã đi sâu phân tích và nhận ra hệ thống chống trộm sử dụng camera xử lý ảnh và cảnh báo qua điện thoại, còi, đèn báo gần như đáp ứng đầy đủ các yêu cầu thực tiễn. Xác định được điều này em đã quyết định thực hiện phương án 2, phát triển hệ thống cảnh báo này và chọn đây là đề tài tốt nghiệp của mình. Sau quá trình xây dựng đề tài và tìm hiểu hệ thống, em đã xây dựng được một hệ thống với các chức năng chính sau: - Cảnh báo xâm nhập vào vùng bảo vệ - Thay đổi kích thước vùng bảo vệ mỗi lần khởi động - Bảo vệ được nhiều vùng khác nhau tương ứng với nhiều camera - Tiến hành cảnh báo bằng tin nhắn và còi báo mỗi lần có xâm nhập - Tiến hành vô hiệu hóa cảnh báo bằng bộ điều khiển Rf Hệ thống xây dựng được có những đặc điểm nổi trội so với các hệ thống chống trộm hiện có trên thị trường như sau: - Khả năng phát hiện chính xác các vật thể xâm nhập - Có khả năng làm việc ban đêm với camera hồng ngoại Khả năng báo động bằng tin nhắn áp dụng với trường hợp chủ nhân không có tại hiện trường. Đặc biệt, có khả năng phát triển về sau như: phát hiện chỗ đỗ xe trống, đếm lượt xe ra vào bến đỗ xe, phân loại xe,… với những tính năng trên, em hi vọng hệ thống này sẽ được áp dụng rộng rãi trong thực tế. 5. Bố cục luận văn Ngoài phầ n mở đầ u, kế t luâ ̣n, danh mu ̣c tài liê ̣u tham khảo, danh mục hình vẽ, luâ ̣n văn gồ m 03 chương:  Chương 1 - Tổng quan: trình bày các lý thuyết tổng quan về:Thư viện Open CV, các ứng dụng của Open CV, các chức năng của Open CV; Ngôn ngữ lập trình Python, các đặc điểm của Python, lịch sử vắn tắt của Python; Module Sim 900a, tập lệnh AT điều khiển hoạt động của module sim 900a trong môi 3 trường Arduino IDE, vi điều khiển Atmega 328; Module thu sóng Rf 4 kênh, tay phát Rf 4 kênh; Chuẩn truyền thông Uart và giao tiếp máy tính với board mở rộng; Giới thiệu Arduino IDE, cách lập trình vi điều khiển sử dụng Arduino IDE.  Chương 2 –Thiết kế hệ thống: chế tạo board mở rộng với module sim và vi điều khiển Atmega 328; Lập trình board mở rộng; Lập trình xử lý ảnh trên máy vi tính.  Chương 3 - Kết quả và bàn luận: trình bày các kết quả hệ thống báo động, hình ảnh lắp đặt, sử dụng thực tế và đánh giá, nhận xét về sản phẩm của người sử dụng. 4 Chương I: TỔNG QUAN Do trong nội dung luận văn, chủ yếu sử dụng các công cụ xử lý ảnh và xử lý camera nên trong phần cơ sở lý thuyết này, các nội dung liên quan tới các công cụ ứng dụng trong quá trình thiết kế sẽ được sử dụng để giới thiệu làm cơ sở lý thuyết trước khi đưa vào nghiên cứu. 1.1. Tổng quan về thư viện Open CV và xử lý ảnh 1.1.1. Tổng quan về thư viện Open CV OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực [1]. OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại. Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực. Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi. Được sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần. Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot [6]. Hình 1.1 Logo của thư viện Open CV [1] 1.1.2. Các ứng dụng của Open CV OpenCV đang được sử dụng rộng rãi trong các ứng dụng bao gồm [6]: - Hình ảnh street view 5 - Kiểm tra và giám sát tự động - Robot và xe hơi tự lái - Phân tích hình ảnh y tế - Tìm kiếm và phục hồi hình ảnh/video - Phim - cấu trúc 3D từ chuyển động - Nghệ thuật sắp đặt tương tác[1] Một số hình ảnh ứng dụng của thư viện Open CV: Hình 1.2 Ứng dụng đếm xe trên quốc lộ bằng Open CV [2] Hình 1.3 Ứng dụng nhận dạng biển số xe dùng Open CV [3] 1.1.3. Các chức năng của Open CV 6  Xử lý và hiển thị hình ảnh, video  Phát hiện các vật thể, xây dựng hình ảnh 2D  Phát hiện vật thể 3D, biên tập video  Nhiếp ảnh máy tính, xử lý video tự động  Máy học và ngôn ngữ máy  Công nghệ CUDA giúp tăng tốc GPU-CPU Với Open CV, có thể thực hiện được các phép xử lý ảnh từ cơ bản đến phức tạp và hoàn thành nhiều vấn đề xảy ra trong cuộc sống. Thư viện Open CV hỗ trợ rất nhiều ngôn ngữ lập trình thông dụng như: C#, C++, Python hay Java đảm bảo môi trường lập trình tốt nhất cho người lập trình[9]. Ở phạm vi đề tài này, ta đi sâu phân tích việc lập trình hệ thống xử lý ảnh sử dụng Open CV và ngôn ngữ lập trình Python[1]. 1.2. Tổng quan về ngôn ngữ lập trình Python 1.2.1. Ngôn ngữ lập trình Python là gì Python là một ngôn ngữ lập trình bậc cao, thông dịch, hướng đối tượng, đa mục đích và cũng là một ngôn ngữ lập trình động. Cú pháp của Python là khá dễ dàng để học và ngôn ngữ này cũng mạnh mẽ và linh hoạt không kém các ngôn ngữ khác trong việc phát triển các ứng dụng. Python hỗ trợ mẫu đa lập trình, bao gồm lập trình hướng đối tượng, lập trình hàm và mệnh lệnh hoặc là các phong cách lập trình theo thủ tục. Python không chỉ làm việc trên lĩnh vực đặc biệt như lập trình web và đó là tại sao ngôn ngữ này là đa mục đích bởi vì nó có thể được sử dụng với web, enterprise, 3D CAD,… [10]. Không cần sử dụng các kiểu dữ liệu để khai báo biến bởi vì kiểu của nó là động, vì thế có thể viết a=15 để khai báo một giá trị nguyên trong một biến. Với Python, việc phát triển ứng dụng và debug trở nên nhanh hơn bởi vì không cần đến bước biên dịch và chu trình edit-test-debug của Python là rất nhanh [2]. 7 Hình 1.4 Logo ngôn ngữ lập trình Python [4] 1.2.2. Các đặc điểm của Python Dưới đây là một số đặc điểm chính của Python [10]:  Dễ dàng để sử dụng: Python là một ngôn ngữ bậc cao rất dễ dàng để sử dụng. Python có một số lượng từ khóa ít hơn, cấu trúc của Python đơn giản hơn và cú pháp của Python được định nghĩa khá rõ ràng, … Tất cả các điều này là Python thực sự trở thành một ngôn ngữ thân thiện với lập trình viên.  Có thể đọc code của Python khá dễ dàng. Phần code của Python được định nghĩa khá rõ ràng và rành mạch.  Python có một thư viện chuẩn khá rộng lớn. Thư viện này dễ dàng tương thích và tích hợp với UNIX, Windows và Macintosh.  Python là một ngôn ngữ thông dịch. Trình thông dịch thực thi code theo từng dòng (không cần phải biên dịch ra file chạy), điều này giúp cho quá trình debug trở nên dễ dàng hơn và đây cũng là yếu tố khá quan trọng giúp Python thu hút được nhiều người học và trở nên khá phổ biến.  Python cũng là một ngôn ngữ lập trình hướng đối tượng. Ngoài ra, Python còn hỗ trợ các phương thức lập trình theo hàm và theo cấu trúc. Ngoài các đặc điểm trên, Python còn khá nhiều đặc điểm khác như hỗ trợ lập trình GUI, mã nguồn mở, có thể tích hợp với các ngôn ngữ lập trình khác, … 1.2.3. Lịch sử vắn tắt của Python 8 Python được phát triển bởi Guido Van Rossum vào cuối những năm 80 và đầu những năm 90 tại Viện toán-tin ở Hà Lan. Python kế thừa từ nhiều ngôn ngữ như ABC, Module-3, C, C++, Unix Shell, … Ngôn ngữ Python được cập nhật khá thường xuyên để thêm các tính năng và hỗ trợ mới. Phiên bản mới nhất hiện nay của Python là Python 3.3 được công bố vào 29/9/2012 với nguyên tắc chủ đạo là "bỏ cách làm việc cũ nhằm hạn chế trùng lặp về mặt chức năng của Python" [10]. Hình 1.5 Môi trường lập trình Python GUI [5] Hình 1.6 Môi trường lập trình Python CMD [6] 9 1.3. Tổng quan về module Sim 900a và vi điều khiển Atmega328 1.3.1. Tổng quan về module Sim 900a Hình 1.7 Hình ảnh thực tế module sim 900a và sơ đồ chân kết nối [7]  VCC: Nguồn vào 5V.  TXD: Chân truyền Uart TX.  RXD: Chân nhận Uart RX.  Headphone: Chân phát âm thanh.  Microphone: Chân nhận âm thanh (phải gắn thêm Micro từ GND vào chân này thì mới thu được tiếng).  GND: Chân Mass, cấp 0V. Sim900A là một thiết bị GSM/GPRS (nó cũng được gọi là một module sim900A) với thiết kế nhỏ gọn được ứng dụng rộng rãi trong ngành điện tử. Sim 900A hoạt động ở 2 tần số: GSM EGSM: 900 MHz; DCS: 1800 MHz như là một thiết bị đầu cuối với chíp xử lý 1 lõi công suất mạnh mẽ, tăng cường các tính năng quan trọng trong nền vi xử lý ARM926EJ-S [11]. 10 Module GSM/GPRS Sim900A là một module GSM/GPRS hỗ trợ người dùng có thể khai thác được tính năng của SIM900a . 1.3.2. Tập lệnh AT điều khiển hoạt động của module sim 900a trong môi trường Arduino IDE - HGSM.init() Là lệnh KHỞI TẠO chỉ được đặt trong hàm void setup(), có 2 cách khai báo:  HGSM.init(&GSM_Ready, baudrate, countryCode)  HGSM.init(&GSM_Ready, baudrate) o &GSM_Ready là hàm được gọi mỗi khi module GSM gửi dữ liệu về board Arduino một cách tự động. o baudrate: Tốc độ baud của module GSM.  o Kiểu dữ liệu: long. countrycode: Mã quốc gia (kiểu dữ liệu là String). Nếu không khai báo phần này chương trình sẽ mặc định countryCode là “+84” (ở Việt Nam ). o Kiểu dữ liệu: String VD:HGSM.init(&GSM_Ready, 9600) hoặc HGSM.init(&GSM_Ready, 9600, “+84”). - HGSM.atcm() Là lệnh gửi tập lệnh AT cho Module Sim, cấu trúc lệnh:  HGSM.atcm(“tập lệnh AT của Sim”); VD: HGSM.atcm(“AT”); Để có thể thấy dữ liệu phản hồi từ Module Sim truyền từ Arduino lên máy tính, các cần thêm lệnh Serial.println() như sau vào hàm GSM_Ready(): - HGSM.delay() 11 Là lệnh giúp trì hoãn một thời gian (thay thế lệnh delay cơ bản của Arduino) để khi trì hoãn vẫn có thể xử lý dữ liệu từ GSM truyền về, lưu ý lệnh này và cả lệnh delay() của Arduino không được sử dụng trong hàm GSM_Ready(), cấu trúc lệnh:  HGSM.delay(thời gian tính bằng mS); VD: HGSM.delay(1000); // trì hoãn1000 ms = 1s - HGSM.handle() Là lệnh điều khiển chính mặc định của bộ thư viện, đặt ở đầu hàm void loop(), cấu trúc lệnh:  HGSM.handle() VD: HGSM.handle(); - HGSM.call() Đây là lệnh gọi điện, cấu trúc như sau:  HGSM.call(số điện thoại) Lưu ý số điện thoại có kiểu dữ liệu là String hoặc Unsigned long và không có số 0 ở đầu. VD: HGSM.call(“0938022500”) hoặc HGSM.call(938022500) - HGSM.hangcall() Đây là lệnh cúp máy, cấu trúc lệnh:  HGSM.hangcall() VD: HGSM.hangcall(); - HGSM.answer() Đây là lệnh bắt máy, cấu trúc lệnh:  HGSM.answer() VD: HGSM.answer(); -HGSM.sendsms() Đây là lệnh gửi SMS, cấu trúc lệnh:  HGSM.sendsms(Số điện thoại, content) o Số điện thoại: giống của hàm GỌI ĐIỆN. o content: Nội dung tin sms. 12
- Xem thêm -

Tài liệu liên quan