Đồ án Hệ thống điều khiển giám sát và thu thập dữ liệu chất lượng nước ứng dụng công nghệ IoTs (Phần 1)

pdf 22 trang phuongnguyen 1570
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Hệ thống điều khiển giám sát và thu thập dữ liệu chất lượng nước ứng dụng công nghệ IoTs (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_he_thong_dieu_khien_giam_sat_va_thu_thap_du_lieu_chat.pdf

Nội dung text: Đồ án Hệ thống điều khiển giám sát và thu thập dữ liệu chất lượng nước ứng dụng công nghệ IoTs (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO NGÀNH CNKT MÁY TÍNH ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT VÀ THU THẬP DỮ LIỆU CHẤT LƯỢNG NƯỚC ỨNG DỤNG CÔNG NGHỆ IoTs GVHD : ThS. NGUYỄN NGÔ LÂM SVTH : MAI QUỐC THÁI MSSV : 13119137 SVTH : VŨ ĐÌNH TOÀN MSSV : 13119151 Khoá : 2013-2017 S K L 0 0 4 8 8 5 Tp. Hồ Chí Minh, tháng 07/2017
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƢỢNG CAO ĐỒ ÁN TỐT NGHIỆP Đề tài: HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT VÀ THU THẬP DỮ LIỆU CHẤT LƢỢNG NƢỚC ỨNG DỤNG CÔNG NGHỆ IoTs SVTH : MAI QUỐC THÁI MSSV : 13119137 SVTH : VŨ ĐÌNH TOÀN MSSV : 13119151 Khóa : 2013 Ngành : CÔNG NGHỆ KỸ THUẬT MÁY TÍNH GVHD: ThS. NGUYỄN NGÔ LÂM Tp. Hồ Chí Minh, tháng 7 năm 2017
  3. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc Tp. Hồ Chí Minh, ngày tháng năm 2017 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: Mai Quốc Thái MSSV: 13119137 Vũ Đình Toàn MSSV: 13119151 Ngành: Công Nghệ Kỹ Thuật Máy Tính Lớp : 13119CL2 Giảng viên hƣớng dẫn: ThS. Nguyễn Ngô Lâm ĐT: 0908434763 Ngày nhâṇ đề tài: / /2017 Ngày nộp đề tài: 11/7/2017 Tên đề tài: HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT VÀ THU THẬP DỮ LIỆU CHẤT LƢỢNG NƢỚC ỨNG DỤNG CÔNG NGHỆ IoTs 1. Các số liệu, tài liệu ban đầu: 2. Nội dung thƣc̣ hiêṇ đề tài : Thiết kế và xây dựng hệ thống quan trắc môi trƣờng nƣớc sử dụng nguồn năng lƣợng mặt trời. Giám sát các thông số giá trị của cảm biến thông qua mạng Internet và mạng di động, điều khiển thiết bị ngoại vi nhƣ đèn, motor qua web server và trực tiếp trên phần cứng. 3. Sản phẩm: Mô hình hệ thống năng lƣợng mặt trời đƣợc giám sát qua mạng Internet và mạng di động. TRƢỞNG NGÀNH GIẢNG VIÊN HƢỚNG DẪN
  4. CỘNG HÒA XÃ HỘI CHỦNGHĨAVIỆTNAM Độc lập – Tự do – Hạnh phúc PHIẾ U NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Họ và tên Sinh viên: Mai Quốc Thái MSSV: 13119137 Vũ Đình Toàn MSSV: 13119151 Ngành: Công Nghệ Kỹ Thuật Máy Tính Tên đề tài: HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT VÀ THU THẬP DỮ LIỆU CHẤT LƢỢNG NƢỚC ỨNG DỤNG CÔNG NGHỆ IoTs Họ và tên Giáo viên hƣớng dẫn: ThS. Nguyễn Ngô Lâm NHẬN XÉT 1. Về nội dung đề tài & khối lƣợng thực hiện: 2. Ƣu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không? 5. Đánh giá loại: 6. Điểm: .(Bằng chữ: ) Tp. Hồ Chí Minh, ngày tháng năm 2017 Giáo viên hƣớng dẫn
  5. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc PHIẾ U NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên Sinh viên: Mai Quốc Thái MSSV: 13119137 Vũ Đình Toàn MSSV: 13119151 Ngành: Công Nghệ Kỹ Thuật Máy Tính Tên đề tài: HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT VÀ THU THẬP DỮ LIỆU CHẤT LƢỢNG NƢỚC ỨNG DỤNG CÔNG NGHỆ IoTs Họ và tên Giáo viên phản biện: NHẬN XÉT 1. Về nội dung đề tài & khối lƣợng thực hiện: 2. Ƣu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không? 5. Đánh giá loại: 6. Điểm: .(Bằng chữ: ) Tp. Hồ Chí Minh, ngày tháng năm 2017 Giáo viên phản biện
  6. LỜI CẢM ƠN Để có thể hoàn thành đề tài này, chúng em chân thành cảm ơn quý Thầy, Cô trong khoa Đào tạo chất lƣợng cao, Trƣờng Đại Học Sƣ Phạm Kỹ Thuật TP. Hồ Chí Minh đã tận tình truyền đạt kiến thức trong những năm chúng em học tập. Đặc biệt, chúng em xin chân thành cảm ơn Th ầy Nguyễn Ngô Lâm đa ̃ tâṇ tình hƣớng dẫn và tạo điều kiện thuận lợi cho chúng em trong su ốt thời gian thực hiện đồ án môn học. Bên cạnh đó, chúng em cũng xin cảm ơn các anh , chị khóa trƣớc đa ̃ nhiêṭ tình đóng góp ý kiến v à chia s ẻ kinh nghiêṃ để giúp chúng em hoàn thành đ ề tài này. Cuối cùng, do kiến thức còn hạn hẹp nên không tránh khỏi những sai sót Chúng em rất mong nhận đƣợc sự đóng góp ý kiến của quý thầy cô và các bạn để có thể hoàn thiện hơn. Chúng em xin chân thành cảm ơn! i
  7. TÓM TẮT Hiện tƣợng nóng lên của Trái Đất đang là một vấn đề đầy thử thách cho toàn thế giới, hệ quả kéo theo là làm cho môi trƣờng nƣớc biển bị ảnh hƣởng nƣớc ta cũng không ngoại lệ, sự xâm nhập mặn đang là mối lo ngại cho ngƣời nông dân, lẫn cả cơ quan chức năng và nhà khoa học. Xâm nhập mặn đã và đang gây ra hậu quả nặng nề trên các tỉnh miền Tây Việt Nam, nên sự ra đời của sản phẩm là rất cần thiết ngƣời dùng cần theo dõi thông số môi trƣờng nƣớc để đƣa ra các quyết định về việc nuôi trồng hoặc tƣới tiêu. Hệ thống giám sát dữ liệu môi trƣờng nƣớc có các chức năng nhƣ thu thập nhiệt độ nƣớc, độ mặn, độ đục, độ pH, để ngƣời dùng có thể theo dõi liên tục môi trƣờng nƣớc, áp dụng vào nuôi trồng thủy sản. Hệ thống hƣớng đến môi trƣờng nƣớc biển đƣa ra cảnh báo kịp thời thông qua chuông báo tại chỗ, tin nhắn và thông qua mạng, ngƣời dùng sẽ tra cứu thông số môi trƣờng thông qua mạng để kịp thời xử lý. Thông số sẽ đƣợc lƣu trữ lại để ngƣời dùng tham khảo và có biện pháp theo dõi lâu dài nhằm đƣa ra phƣơng án nuôi trồng thủy sản thích hợp trong năm. ii
  8. Trang phụ bìa Trang NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i PHIẾ U NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN ii PHIẾ U NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii LỜI CẢM ƠN i TÓM TẮT ii DANH MỤC CÁC TỪ VIẾT TẮT v DANH MỤC CÁC BẢNG BIỂU vii DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH vii Chƣơng 1: TỔNG QUAN 1 1.1. GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY 1 1.1.1. Đặt vấn đề 1 1.1.2. Tính cấp thiết của đề tài 1 1.2. MỤC TIÊU NGHIÊN CỨU 2 1.3. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU 2 1.4. PHƢƠNG PHÁP NGHIÊN CỨU 2 1.5. BỐ CỤC ĐỒ ÁN 2 Chƣơng 2: CƠ SỞ LÝ THUYẾT 4 2.1. KIT INTEL GALILEO 4 2.1.1. Giới thiệu về kit galileo 4 2.1.2. Cấu trúc của KIT Galileo 6 2.1.3. Các tính năng hỗ trợ 7 2.1.4 Phƣơng thức lập trình trên Kit Galileo 8 2.2. PIN NĂNG LƢỢNG MẶT TRỜI 9 2.2.1. Giới thiệu về pin năng lƣợng mặt trời 9 2.2.2. Cấu tạo của pin năng lƣợng mặt trời 10 2.2.3. Nguyên lý hoạt động của pin năng lƣợng mặt trời 11 2.3. PIN LI-ION 18650 12 2.4. LCD HIỂN THỊ 13 2.4.1. Giới thiệu về LCD 13 2.4.2. Module IC2 giao tiếp với LCD 17 2.4. NGÔN NGỮ LẬP TRÌNH NODEJS 18 2.4.1. Giới thiệu về Nodejs 18 2.4.2. Một số lệnh cơ bản và thƣ viện trong Nodejs 20 iii
  9. 2.4.3. Nguyên lý xử lý yêu cầu của máy chủ 23 2.5. MODULE SIM900A 23 2.5.1. Giới thiệu về module SIM900A 23 2.5.2. Đặc điểm kỹ thuật của GSM/GPRS SIM900A 24 2.6. NGÔN NGỮ HTML 25 2.6.1. Giới thiệu sơ lƣợc về HTML 25 2.6.2. Cấu trúc cơ bản của HTML 25 Chƣơng 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 27 3.1. YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG 27 3.2. THIẾT KẾ PHẦN CỨNG 28 3.3. THIẾT KẾ PHẦN MỀM 41 3.3.1 Lƣu đồ giải thuật 41 3.3.2. Thiết kế giao diện web và giải thích hoạt động 47 Chƣơng 4: KẾT QUẢ PHẦN CỨNG 54 4.1. KẾT QUẢ PHẦN CỨNG 54 4.2. KẾT QUẢ PHẦN MỀM 56 4.2.1. Điều khiển qua mạng di động 56 4.2.2. Điều khiển đƣợc thiết bị qua Web 58 4.2.3. Hiển thị kết quả với biểu đồ 58 4.2.4. Hiển thị kết quả với biểu đồ chart 59 4.2.5. Thiết lập giá trị sẵn cho ngƣời dùng 60 4.2.5. Thiết lập giá trị sẵn cho ngƣời dùng 61 Chƣơng 5: KẾT QUẢ VÀ PHẠM VI ỨNG DỤNG 62 5.1. KẾT LUẬN 62 5.2. CÁC PHẠM VI ỨNG DỤNG 62 TÀI LIỆU THAM KHẢO 79 iv
  10. DANH MỤC CÁC TỪ VIẾT TẮT PV Photovoltaic Pin năng lƣợng mặt trời Hệ thống tạo năng lƣợng từ Concentrating Solar thermal CSP nhiệt năng của năng lƣợng Power mặt trời SIPV Smart Intergrated Photovoltaic Điện mặt trời nối lƣới Hệ thống tích hợp trên một SoC System On Chip vi mạch MCU Microprocessor Control Unit Khối vi điều khiển IC Integrated Circuit Mạch tích hợp I/O Input/Output Ngõ vào/ngõ ra PWM Pulse Width Modulation Điều chế độ rộng xung Universal Asynchronous Truyền dữ liệu nối tiếp bất UART Receiver – Transmitter đồng bộ LDR Light-Dependent Resistor Quang trở PPM Pulse Position Modulation Điều chế vị trí xung Dò tìm điểm công suất cực MPPT Maximum Power Point Tracker đại P&O Perturbation and Observation Nhiễu loạn và quan sát Metal Oxide Semiconductor MOSFET Transistor hiệu ứng trƣờng Field Effect Transistor LCD Liquid Crystal Display Màn hình tinh thể lỏng Vi mạch tích hợp truyền I2C Inter-Integrated Circuit thông nối tiếp TWI Two Wire Interface Giao tiếp hai dây SDA Serial Data Line Dây truyền dữ liệu SCL Serial Clock Line Dây truyền xung clock Negative Temperature NTC Hệ số nhiệt độ âm Coefficient Ngôn ngữ đánh dấu siêu HTML Hyper Text Markup Language văn bản v
  11. Giao thức truyền siêu văn HTTP Hyper Text Transfer Protocol bản Chuyển đổi tín hiệu tƣơng ADC Analog Digital Converter tự sang tín hiệu số ĐBSCL Đồng bằng sông cửu long vi
  12. DANH MỤC CÁC BẢNG BIỂU Bảng 2.1: Các chân trong LCD 15 Bảng 2.2: Các lệnh trong LCD 16 Bảng 2.3: Các module trong nodejs 22 Bảng 2.4: Một số lệnh AT cơ bản mô đun Sim900A 24 Bảng 3.1: Tiêu chuẩn giảm tiềm năng cho một số giải pháp dung dịch nƣớc 33 Bảng 3.2: Các phản ứng sơ cấp có thể xảy ra ở các điện cực của cảm biến dẫn. 33 DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH Hình 2.1: Kit Intel Galileo Gen 1 và Gen 2 5 Hình 2.2: Sơ đồ cấu trúc của kit Intel Galileo 6 Hình 2.3: Pin năng lƣợng mặt trời 9 Hình 2.4: Phân loại pin năng lƣợng mặt trời 10 Hình 2.5: Sơ đồ cấu tạo pin mặt trời 11 Hình 2.6: Nguyên lý hoạt động của pin mặt trời 11 Hình 2.7: Board mạch giảm áp 12 Hình 2.8: Pin Li-ion 18650 13 Hình 2.9: LCD 20 x 4 14 Hình 2.10: Module I2C giao tiếp với LCD 17 Hình 2.11: Hình ảnh mô tả luồng xử lý của A web framework nodejs 18 Hình 2.12: Vòng lặp kiểm tra sự kiện 19 Hình 2.13: Cách thức xử lý code của nodejs 19 Hình 2.14: Ví dụ thể hiện khác nhau giữa non block code và block code. 20 Hình 2.15: So sánh tốc độ xử lý của non block code vs block code 20 Hình 2.16: Yêu cầu Modules để sử dụng trong chƣơng trình 20 Hình 2.17: Cách tạo ra server 21 Hình 2.18: Cách chạy file nodejs 21 Hình 2.19: Tạo Server 23 Hình 2.20: Server đƣợc tạo và ghi data 23 Hình 2.21: Module SIM 900A mini 23 Hình 3.1: Sơ đồ khối. 27 Hình 3. 2: Sơ đồ kết nối LM35 29 Hình 3.3: Cảm biến PH 30 Hình 3.4: Module cảm biện độ đục 31 Hình 3.5: Hình mô tả sơ đồ cảm biến độ mặn 31 Hình 3.6: Hydrat hóa NaCl trong nƣớc 32 Hình 3.7: Phản ứng xảy ra khi cảm biến đƣợc kích hoạt. 32 Hình 3.8: Phản ứng dòng để oxy hóa Cl- và làm giảm nƣớc. 33 Hình 3.9: Cấu tạo của led dây 34 vii
  13. Hình 3.10: Động cơ mini 35 Hình 3.11: Mô hình máy bơm mini 35 Hình 3.12: Sơ đồ kết nối LCD 36 Hình 3.13: Tấm pin năng lƣợng mặt trời 37 Hình 3.14: Mạch sạc Pin dự phòng. 38 Hình 3.15: Sơ đồ kết nối của khối xử lý trung tâm 39 Hình 3.16: Cách tạo sự kiện nhấn 40 Hình 3.17: Sơ đồ hệ thống 41 Hình 3.18: Sơ đồ đọc giá trị cảm biến 43 Hình 3.19: Sơ đồ hiển thị thông số lên LCD và Web 44 Hình 3.20: Sơ đồ xử lý tin nhắn 45 Hình 3. 21: Sơ đồ kiểm tra cảnh báo 46 Hình 3.22: Giao diêṇ đăng nhâp̣ 47 Hình 3.23: Giao diêṇ trang chủ 48 Hình 3.24: Giao diêṇ hiển thi ̣thông số môi trƣờng 48 Hình 3.25: Giao diêṇ thiết lâp̣ giá tri ̣ngƣỡng 49 Hình 3.26: Giao diêṇ điều khiển thiết bi ̣ 49 Hình 3.27: Sơ đồ thuật toán 50 Hình 3.28: Hàm cập nhật biểu đồ 52 Hình 3.29: Lƣu đồ xƣ̉ lý tín hiêụ điều khiển tƣ̀ web 53 viii
  14. Chƣơng 1: TỔNG QUAN 1.1. GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY 1.1.1. Đặt vấn đề Hiện tƣợng nóng lên của Trái Đất đang là một vấn đề đầy thử thách cho toàn thế giới, hệ quả kéo theo là làm cho môi trƣờng nƣớc biển bị ảnh hƣởng nƣớc ta cũng không ngoại lệ, sự xâm nhập mặn đang là mối lo ngại cho ngƣời nông dân, lẫn cả cơ quan chức năng và nhà khoa học. Xâm nhập mặn đã và đang gây ra hậu quả nặng nề trên các tỉnh miền Tây Việt Nam, nên sự ra đời của sản phẩm là rất cần thiết ngƣời dùng cần theo dõi thông số môi trƣờng nƣớc để đƣa ra các quyết định về việc nuôi trồng hoặc tƣới tiêu. Hệ thống giám sát dữ liệu môi trƣờng nƣớc có các chức năng nhƣ thu thập nhiệt độ nƣớc, độ mặn, độ đục, độ pH, để ngƣời dùng có thể theo dõi liên tục môi trƣờng nƣớc, áp dụng vào nuôi trồng thủy sản. Hệ thống hƣớng đến môi trƣờng nƣớc biển đƣa ra cảnh báo kịp thời thông qua chuông báo tại chỗ, tin nhắn và thông qua mạng, ngƣời dùng sẽ tra cứu thông số môi trƣờng thông qua mạng để kịp thời xử lý. Thông số sẽ đƣợc lƣu trữ lại để ngƣời dùng tham khảo và có biện pháp theo dõi lâu dài nhằm đƣa ra phƣơng án nuôi trồng thủy sản thích hợp trong năm. 1.1.2. Tính cấp thiết của đề tài Theo báo cáo của Bộ NN&PTNT mùa khô năm 2015-2016, Tổng lƣợng mƣa trên lƣu vực thiếu hụt 20-50% trung bình nhiều năm. Mực nƣớc thƣợng nguồn sông Mê Kông tiếp tục xuống nhanh và thấp nhất trong vòng 90 năm qua. Do thiếu nƣớc ngọt, mặn xuất hiện sớm hơn 2 tháng so với cùng kỳ đã xâm nhập sâu vào vùng ĐBSCL. Hiện nay trên các hệ thống sông chính ở miền Tây, mặn xâm nhập sâu từ 40-93 km, tăng 10-15 km so với các năm trƣớc. Tỉnh Vĩnh Long nằm rất xa biển nhƣng lần đầu đã bị nƣớc mặn tấn công. Còn Hậu Giang hơn 40 ha lúa bị thiệt hại nặng. Theo Phó chủ tịch tỉnh Kiên Giang, Mai Anh Nhịn thì hiện tại các sông lớn đã bị mặn xâm nhập sâu từ 3 đến 4km. Hiện tỉnh này có đến 34.000ha lúa bị thiệt hại và chƣa dừng lại, đời sống sản xuất của ngƣời dân bị ảnh hƣởng nghiêm trọng. Ở Cà Mau diện tích lúa bị thiệt hại trên 18.000ha, chiếm 56% diện tích trồng lúa trên đất nuôi tôm.[2] Chính vì sự ứng dụng rộng rãi và khả năng phát triển trong tƣơng lai , việc phân tích khả năng hoạt động của kỹ thuật nâng cao hiệu suất là rất cần thiết. Qua đó, có thể giúp nhóm thực hiện đề tài hiểu hơn về nhƣ̃ng kiến thƣ́ c mới cũng nhƣ áp dụng các kiến thức đã học vào thƣc̣ tế. 1
  15. 1.2. MỤC TIÊU NGHIÊN CỨU Thiết kế và thi công mô hình thu thập dữ liệu môi trƣờng nƣớc sạch và sử dụng năng lƣợng mặt trời, đồng thời gửi các thông số qua mạng Internet sau cập nhập thông tin lên web và mạng di động để nâng cao khả năng giám sát và kịp thời điều chỉnh. 1.3. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU Đối tƣợng nghiên cứu về phần mềm đó là thu đƣợc dữ liệu từ môi trƣờng và sử dụng nguồn năng lƣợng mặt trời, gửi dữ liệu thông qua mạng Internet và mạng di động, cách thức lập trình nodejs và nhúng chƣơng trình vào Board Galileo. Còn về phần cứng là các linh kiện điện tử, các module, pin năng lƣợng mặt trời, và board Intel Galileo gen 2. Phạm vi nghiên cứu trong khuôn khổ mô hình nhỏ có công suất thấp và có thể phát triển lên các mô hình lớn hơn. Ngoài ra, về lập trình Web nhóm thực hiện đƣợc hiển thị giá trị cảm biến, vẽ đƣợc biểu đồ, điều khiển thiết bị bằng nút nhấn trên Web. 1.4. PHƢƠNG PHÁP NGHIÊN CỨU Tìm hiểu các lý thuyết về cách thu dữ liệu, truyền qua Board Galileo và cách đẩy dữ liệu lên mạng sử dụng ngôn ngữ nodejs và javacript để thực hiện lập trình cho kit. Thiết kế và xây dựng mô hình. Qua thực nghiệm từ những sản phẩm của đề tài trƣớc dẫn tới rút kinh nghiệm và tìm hiểu và xây dựng đề tài. 1.5. BỐ CỤC ĐỒ ÁN Chƣơng 1: Tổng quan Giới thiệu sơ lƣợc về tình hình nghiên cứu hiện nay cũng nhƣ tính cấp thiết của đề tài. Chƣơng 2: Cơ sở lý thuyết Nêu các lý thuyết cần thiết để sử dụng trong đề tài. Chƣơng 3: Thiết kế và xây dựng hệ thống Trình bày sơ đồ hệ thống và giải thích hoạt động của hệ thống. Đƣa ra các phƣơng pháp lựa chọn phần cứng và xác định lựa chọn phù hợp với yêu cầu của đề tài. Tính toán đƣa ra giải thuật, thuật toán phần mềm. 2
  16. Chƣơng 4: Kết quả thực hiện Trình bày kết quả đã thực hiện về phần cứng và phần mềm, đƣa ra nhận xét. Chƣơng 5: Kết luận và phạm vi ứng dụng Nêu các ƣu điểm và nhƣợc điểm của đề tài, hƣớng khắc phục và phạm vi sử dụng trong thực tế 3
  17. Chƣơng 2: CƠ SỞ LÝ THUYẾT 2.1. KIT INTEL GALILEO 2.1.1. Giới thiệu về kit galileo Kit Galileolà một board mạch vi điều khiển dựa trên bộ xử lí ứng dụng Intel Quark SoC X1000 - một bộ xử lí thuộc dòng Pentium 32-bit system-on-chip (tích hợp tất cả các thành phần hệ thống vào trong 1 chip xử lí duy nhất). Kit Galileo là board mạch tƣơng thích với Arduino đầu tiên dựa trên cấu trúc của Intel. Cả phần cứng lẫn phần mềm của Kit Galileo đều tƣơng thích với các Arduino Shield vốn đƣợc thiết kế cho Arduino UNO R3 với chuẩn chân cắm Arduino 1.0 pinout. Kit Galileo có thể chạy đƣợc các shield của Arduino ở cả 2 mức điện áp 3.3V và 5V mặc dù điện áp hệ thống của nó chỉ là 3.3V. Kit Galileocó đƣợc điều này là nhờ các bộ chuyển đổi điện áp đƣợc tích hợp ngay trên Kit Galileo. Mặc định, Kit Galileochạy shield ở mức 5V và có thể chuyển xuống 3.3V bằng cách thay đổi các chân cắm (jumper) trên mạch. Ngoài các tƣơng thích vềphần mềm lẫn phần cứng với nền tảng Arduino, Kit Galileocũng hỗ trợ các chuẩn giao tiếp trên máy tính cá nhân hiện nay. Vì vậy, Kit Galileocó thể giao tiếp với nhiều thiết bị khác ngoài các shield trong Arduino. Mặc định, trên bo mạch Kit Galileohỗ trợ: Cổng full sized mini-PCI Express 2.0. Cổng Ethernet 100Mbps. Cổng Serial RS-232. Cổng USB Host và USB Client. RAM DDR3 256MB. Chân cắm chuẩn Arduino Pinout 1.0. Khe cắm thẻ nhớ micro-SD hỗ trợ lên tới 32GB. Bộ nhớ flash 8MB dùng để chứa firmware hay bootloader. 256KB - 512KB bộ nhớ lƣu trữ chƣơng trình Arduino. 4
  18. Khả năng chạy các hệ điều hành Linux Yocto, Linux Debian, Windows 8,Windows 10, đƣợc tuỳ biến đặc biệt. Đây là Kit Galileo mạch đầu tiên trong họ hàng của Arduino có khe cắm mini-PCI Express half-sized lẫn full-sized. Intel Galileo hiện có 2 phiên bản là Gen 1 và Gen 2 nhƣ hình 2.1 Hình 2.1: Kit Intel Galileo Gen 1 và Gen 2 Nguồn cung cấp cho Intel Galileo Gen 1 là 5V, 2A. Trong khi đó, nguồn cung cấp cho Gen 2 đƣợc kéo dãn lên từ 7V - 12V. Ngoài ra, tốc độ làm việc của các chân giao tiếp cũng đƣợc tăng lên đáng kể. 5
  19. 2.1.2. Cấu trúc của KIT Galileo Hình 2.2: Sơ đồ cấu trúc của kit Intel Galileo Giống nhƣ Arduino UNO phiên bản 3, Kit Galileo có: • 14 chân Digital I/O, trong đó 6 chân có thể phát xung PWM. • Chúng có thể đƣợc sử dụng ở cả 2 chế độ INPUT và OUTPUT, sử dụng đƣợc với các hàm pinMode(), digitalWrite() và digitalRead() nhƣ trên các mạch Arduino. • Các chân giao tiếp có thể hoạt động ở 2 mức điện áp 3.3V và 5V. Dòng cấp tối đa là 10mA, dòng đỉnh là 25mA. • Mỗi chân đều có một điện trở kéo lên trong có trị số khoảng 5.6k đến 10k ohms. Mặc định, các điện trở này bị ngắt. • 6 chân Analog từ A0 đến A5 giao tiếp qua chip AD7298 (chuyển đổi Analog-to-Digital). • Mỗi chân Analog có thể cung cấp độ phân giải 12bit với 4096 giá trị khác nhau. Mặc định tính từ GND đến 5V. • I2C bus, TWI với 2 chân SDA và SCL nằm cạnh chân AREF. • TWI: gồm 2 chân SDA (A4) và SCL (A5). Hỗ trợ giao tiếp TWI thông qua thƣ viện Wire tƣơng tự nhƣ trên Arduino. 6
  20. • UART (cổng Serial): là một cổng UART với tốc độ có thể lập trình đƣợc, 2 chân giao tiếp là 0 (RX) và chân 1 (TX). • Chân 5V output: chân này cấp nguồn ra 5V từ nguồn ngoài cấp cho Kit Galileo hay từ nguồn USB. Dòng ra tối đa ở chân này cho các shield là 800mA. • Chân 3.3V output: cấp điện áp ra 3.3V đƣợc điều chế từ các mạch điều áp trên Kit Galileo. Dòng ra tối đa ở chân này cho các shield là 800mA. • GND: chân nối cực âm của nguồn điện. • RESET: chân/nút nhấn RESET. Kéo chân này xuống GND để reset chƣơng trình Arduino đang chạy trên Kit Galileo. Thƣờng chân này đƣợc dùng để reset các shield. 2.1.3. Các tính năng hỗ trợ Các bộ xử lí của Intel và các tƣơng thích I/O của SoC đi kèm cung cấp hầu nhƣ tất cả các tính năng cần thiết: Bộ xử lí 400Mhz Intel Pentium 32bit tƣơng thích với kiến trúc tập lệnh ISA (ISA-compatible). 16KB bộ nhớ đệm L1. 512KB bộ nhớ SRAM tích hợp trên mạch. Dễ dàng lập trình: đơn luồng, đơn nhân, xung nhịp cố định. Mạch thời gian thực tích hợp (RTC intergrated) với 1 pin nút áo 3V. Cổng kết nối10/100 Ethernet. Cổng kết nối USB Client dùng để lập trình. Ngoài chức năng là một cổng lập trình, nó cũng có thể đóng vai trò nhƣ một USB Host chuẩn 2.0. 10 chân header chuẩn JTAG hỗ trợ việc dò lỗi hệ thống. Nút Reboot dùng để reboot vi xử lí trung tâm. Nút Reset dùng để reset chƣơng trình Arduino đang chạy hay bất kì shield nào đang kết nối. Tùy chọn lƣu trữ: 8MB Legacy SPI Flash dùng để lƣu trữ firmware hay bootloader cũng nhƣ chƣơng trình Arduino. Khoảng 256KB đến 512KB đƣợc tách ra từ 7
  21. 8MB này để lƣu trữ chƣơng trình Arduino cuối cùng đƣợc tải lên. Các chƣơng trình Arduino đƣợc tải lên từ máy tính đƣợc xử lí một cách tự động, bạn không cần phải thao tác gì trừ khi có một sự thay đổi nào đó đƣợc thêm vào firmware. 512KB bộ nhớ SRAM nhúng đƣợc mở mặc định bởi firmware. 256MB DRAM đƣợc mở mặc định bởi firmware. Tùy chọn thẻ nhớ ngoài SD có thể cung cấp lên tới 32GB dung lƣợng lƣu trữ. Lƣu trữ USB có thể làm việc với bất kì ổ đĩa USB 2.0 nào tƣơng thích. 11KB EEPROM có thể đƣợc lập trình qua thƣ viện EEPROM. Kit Galileo cung cấp giao tiếp UART, TTL, Serial ở cả 2 mức 3.3V và 5V ở 2 chân 0 (RX) và 1 (TX). Thêm vào đó, 1 cổng UART khác hỗ trợ RS-232 có thể đƣợc sử dụng qua jack cắm 3.5mm. Cổng USB Client cho phép giao tiếp Serial qua USB. Nó cung cấp kết nối Serial đến Serial Monitor (một chức năng trong IDE) hoặc các ứng dụng khác trong máy tính. Và cũng có thể tải chƣơng trình Arduino lên Galieo qua cổng này. Cổng kết nối Ethernet RJ45 cho phép Galieo kết nối đến các mạng có dây. Giao tiếp Ethernet đƣợc hỗ trợ đầy đủ trên Galieo. Do đó, không cần phải sử dụng giao tiếp SPI nhƣ trên Arduino shield. Đầu đọc thẻ nhớ microSD đƣợc tích hợp trên mạch có thể truy cập thông qua thƣ viện SD. Giao tiếp giữa Galieo và thẻ nhớ microSD đƣợc hỗ trợ bởi một trình điều khiển SD tích hợp. Do đó, không cần phải sử dụng giao tiếp SPI nhƣ trên mạch Arduino. Giao tiếp SD có thể chạy với tần số đến 50Mhz phụ thuộc vào Class của thẻ nhớ. Thẻ nhớ có 2 loại Class thông dụng là Class 4 và Class 10. Phần mềm nhƣ trên Arduino bao gồm thƣ viện Wire giúp dễ dàng sử dụng bus I2C/TWI. 2.1.4 Phƣơng thức lập trình trên Kit Galileo Kit Galileo có thể đƣợc lập trình với IDE của Arduino. Khi đã sẵn sàng để tải chƣơng trình lên, kết nối máy tính với Kit Galileo qua cổng USB Client (gần cổng Ethernet nhất) trên mạch, trong IDE chọn Boards là "Intel Galieo". Khi Kit Galileo khởi động, sẽ có 2 kịch bản xảy ra: Nếu đã có 1 chƣơng trình trong bộ nhớ, nó sẽ đƣợc khởi chạy. Trƣờng hợp này chỉ xảy ra khi đã gắn thẻ microSD vào Kit Galileo. 8
  22. S K L 0 0 2 1 5 4