ĐỒ ÁN TỐT NGHIỆP THU THẬP DỮ LIỆU QUA MẠNG INTERNET TRÊN cơ sở NGÔN NGỮ PYTHON và RASPBERRY PI

96 1.8K 15
ĐỒ ÁN TỐT NGHIỆP THU THẬP DỮ LIỆU QUA MẠNG INTERNET  TRÊN cơ sở NGÔN NGỮ PYTHON và RASPBERRY PI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xã hội ngày càng phát triển với những công nghệ hiện đại và gần gũi với con người. Với mức sống và nhu cầu của con người ngày càng cao, đòi hỏi nền kỹ thuật phải luôn thay đổi, hoàn thiện để đáp ứng và nâng cao chất lượng cuộc sống. Trong đó ngành điện tử góp phần lớn và quan trọng mang lại những thành tựu to lớn đó. Với đặc thù của ngành là luôn đón đầu công nghệ, ngành điện tử luôn cho ra các sản phẩm mới để phục vụ con người, không chỉ trong cuộc sống mà còn trong khoa học, quân sự, y tế,… Điều đó không chỉ góp phần thúc đẩy chất lượng cuộc sống ngày càng tốt hơn, mà còn mở ra nhiều hướng đi mới hỗ trợ con người nhiều hơn trong tương lai.Kỹ thuật điện tử kết hợp với sự phát triển của công nghệ thông tin đã, đang và sẽ tiếp tục cho ra những sản phẩm công nghệ mới, không những đa chức năng, đa ứng dụng mà kích thước cũng ngày càng nhỏ hơn, tiện lợi hơn. Một trong những sản phẩm ấy chính là sự ra đời và phát triển của dòng sản phẩm Raspberry Pi. Kích thước nhỏ gọn cộng với những tính năng như một máy tính tí hon, Raspberry Pi là một công cụ tuyệt vời giúp con người dễ dàng tiếp cận thế giới công nghệ hơn với những ứng dụng, sáng tạo gần gũi với cuộc sống. Là một nước đang phát triển và trong giai đoạn “Công nghiệp hóa, hiện đại hóa”, Việt Nam rất cần tiếp cận với những thiết bị khoa học kỹ thuật để đáp ứng và hoàn thành chiến lược đặt ra. Vì thế, Việt Nam đã và đang đầu tư nhiều vào nguồn nhân lực để có thể nắm bắt và dần làm chủ được công nghệ. Với sự ra đời và phát triển của Raspberry Pi cộng với việc sản phẩm đã du nhập về Việt Nam, đây là cơ hội để đội ngũ kỹ thuật vừa có cơ hội tiếp cận với nền kỹ thuật tiên tiến của thế giới, vừa góp phần sáng tạo thêm những ứng dụng mới để đưa vào đời sống, nhằm cải thiện và nâng cao chất lượng cuộc sống ngày càng tốt đẹp hơn. Việc thu thập dữ liệu của các thiết bị, máy móc, động cơ… là điều cần thiết để đảm bảo tính hoạt động ổn định, liên tục, giảm sự cố từ đó tối ưu năng suất sản xuất. Vì thế mà khâu quản lý bảo trì rất được chú trọng tại các đơn vị sản xuất, tùy vào từng điều kiện hoàn cảnh sẽ có phương pháp công nghệ khác nhau để thu thập dữ liệu.Việc nghiên cứu và ứng dụng Raspberry Pi vào thực tế cuộc sống là một điều rất mới mẻ và cũng rất cần thiết cho những người đam mê ngành kỹ thuật nói chung và ngành điện tử nói riêng trong vai trò làm chủ công nghệ hiện nay. Python là một ngôn ngữ 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. Python là ngôn ngữ lập trình chính và được cài đặt sẵn trên Raspberrry Pi và có vai trò rất quan trọng không những trên Raspberry Pi, 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à lí do 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…Để góp phần tạo nên nền tảng ban đầu vững chắc cho việc học tập, tìm hiểu kỹ thuật vi xử lý và quen với lập trình bằng ngôn ngữ cấp cao, em đã tập trung nghiên cứu đề tài: “Thu thập dữ liệu qua mạng Internet trên cơ sở ngôn ngữ Python và Raspberry Pi”.Những kiến thức, năng lực đạt được trong quá trình học tập ở trường sẽ được đánh giá qua đợt bảo vệ đồ án cuối khóa. Vì vậy em sẽ cố gắng tận dụng những kiến thức đã học ở trường cùng với sự tìm tòi, nghiên cứu, dưới sự hướng dẫn tận tình của giáo viên hướng dẫn cùng thầy cô thuộc Viện Kỹ thuật và Công Nghệ để có thể hoàn thành tốt đồ án này.Mặc dù đã cố gắng hoàn thành nhiệm vụ của đề tài đặt ra và đúng thời hạn nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, mong quý thầy cô và các bạn sinh viên thông cảm. Em mong nhận được những ý kiến đóng góp của quý thầy cô và các bạn sinh viên. Em xin chân thành gửi lời cảm ơn đến Thầy giáo ThS. Hồ Sỹ Phương đã trực tiếp hướng dẫn và tận tình giúp đỡ, tạo điều kiện để em hoàn thành tốt đề tài.Bên cạnh đó, em cũng xin chân thành gửi lời cảm ơn đến các quý thầy cô trong trường Đại học Vinh nói chung và Viện Kỹ thuật và Công nghệ nói riêng đã truyền đạt những kiến thức quý báu, tạo dựng nền móng đầu tiên cho em thực hiện có cơ sở cũng như nền tảng kiến thức cần thiết để em hoàn thành tốt đề tài Đồ Án Tốt nghiệp cũng như định hướng nghề nghiệp tương lai sau này.

TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT CÔNG NGHỆ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THU THẬP DỮ LIỆU QUA MẠNG INTERNET TRÊN SỞ NGÔN NGỮ PYTHON RASPBERRY PI SV thực hiện: NGUYỄN NGỌC LĨNH Lớp: 53K2 ĐTTT GV hướng dẫn: ThS HỒ SỸ PHƯƠNG NGHỆ AN - 2017 LỜI MỞ ĐẦU Xã hội ngày phát triển với công nghệ đại gần gũi với người Với mức sống nhu cầu người ngày cao, đòi hỏi kỹ thuật phải ln thay đổi, hồn thiện để đáp ứng nâng cao chất lượng sống Trong ngành điện tử góp phần lớn quan trọng mang lại thành tựu to lớn Với đặc thù ngành ln đón đầu cơng nghệ, ngành điện tử ln cho sản phẩm để phục vụ người, khơng sống mà khoa học, qn sự, y tế,… Điều khơng góp phần thúc đẩy chất lượng sống ngày tốt hơn, mà mở nhiều hướng hỗ trợ người nhiều tương lai Kỹ thuật điện tử kết hợp với phát triển công nghệ thông tin đã, tiếp tục cho sản phẩm công nghệ mới, đa chức năng, đa ứng dụng mà kích thước ngày nhỏ hơn, tiện lợi Một sản phẩm đời phát triển dòng sản phẩm Raspberry Pi Kích thước nhỏ gọn cộng với tính máy tính tí hon, Raspberry Pi công cụ tuyệt vời giúp người dễ dàng tiếp cận giới công nghệ với ứng dụng, sáng tạo gần gũi với sống Là nước phát triển giai đoạn “Cơng nghiệp hóa, đại hóa”, Việt Nam cần tiếp cận với thiết bị khoa học kỹ thuật để đáp ứng hoàn thành chiến lược đặt Vì thế, Việt Nam đầu tư nhiều vào nguồn nhân lực để nắm bắt dần làm chủ công nghệ Với đời phát triển Raspberry Pi cộng với việc sản phẩm du nhập Việt Nam, hội để đội ngũ kỹ thuật vừa hội tiếp cận với kỹ thuật tiên tiến giới, vừa góp phần sáng tạo thêm ứng dụng để đưa vào đời sống, nhằm cải thiện nâng cao chất lượng sống ngày tốt đẹp Việc thu thập liệu thiết bị, máy móc, động cơ… điều cần thiết để đảm bảo tính hoạt động ổn định, liên tục, giảm cố từ tối ưu suất sản xuất Vì mà khâu quản lý bảo trì trọng đơn vị sản xuất, tùy vào điều kiện hồn cảnh phương pháp công nghệ khác để thu thập liệu Việc nghiên cứu ứng dụng Raspberry Pi vào thực tế sống điều mẻ cần thiết cho người đam mê ngành kỹ thuật nói chung ngành điện tử nói riêng vai trò làm chủ cơng nghệ Python ngơn ngữ 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 mệnh lệnh Python ngơn ngữ lập trình cài đặt sẵn Raspberrry Pi vai trò quan trọng khơng Raspberry Pi, Python không làm việc lĩnh vực đặc biệt lập trình web, lí ngơn ngữ đa mục đích sử dụng với web, enterprise, 3D CAD… Để góp phần tạo nên tảng ban đầu vững cho việc học tập, tìm hiểu kỹ thuật vi xử lý quen với lập trình ngơn ngữ cấp cao, em tập trung nghiên cứu đề tài: “Thu thập liệu qua mạng Internet sở ngôn ngữ Python Raspberry Pi” Những kiến thức, lực đạt trình học tập trường đánh giá qua đợt bảo vệ đồ án cuối khóa Vì em cố gắng tận dụng kiến thức học trường với tìm tòi, nghiên cứu, hướng dẫn tận tình giáo viên hướng dẫn thầy thuộc Viện Kỹ thuật Cơng Nghệ để hồn thành tốt đồ án Mặc cố gắng hoàn thành nhiệm vụ đề tài đặt thời hạn chắn không tránh khỏi thiếu sót, mong q thầy bạn sinh viên thông cảm Em mong nhận ý kiến đóng góp q thầy bạn sinh viên Em xin chân thành gửi lời cảm ơn đến Thầy giáo ThS Hồ Sỹ Phương trực tiếp hướng dẫn tận tình giúp đỡ, tạo điều kiện để em hồn thành tốt đề tài Bên cạnh đó, em xin chân thành gửi lời cảm ơn đến q thầy trường Đại học Vinh nói chung Viện Kỹ thuật Cơng nghệ nói riêng truyền đạt kiến thức quý báu, tạo dựng móng cho em thực sở tảng kiến thức cần thiết để em hoàn thành tốt đề tài Đồ Án Tốt nghiệp định hướng nghề nghiệp tương lai sau Em xin chân thành gửi lời đồng cảm ơn đến bạn sinh viên lớp 53K2-108 chia sẻ, trao đổi kiến thức kinh nghiệm q báu để góp phần giúp em thực hoàn thành đề tài tốt Xin chân thành cảm ơn! Nghệ An, ngày 22 tháng năm 2017 Sinh viên thực Nguyễn Ngọc Lĩnh TÓM TẮT ĐỒ ÁN Trong đồ án cho thấy nhiều trường hợp, bạn cần phải tìm câu trả lời để tìm khu vực nóng ẩm tủ lưu trữ Một số vượt qua số báo động mà bạn khơng biết, chi phí trì thay thiết bị lưu trữ lớn Vì vậy, luận án chúng tơi nghiên cứu, thiết kế, lắp ráp tủ để cảnh báo nhiệt độ độ ẩm Raspberry Pi thiết bị giám sát quyền truy cập vào sở liệu SQL lấy liệu từ cảm biến tích hợp Màn hình hiển thị nhiệt độ với biểu đồ giao diện web, qua cho phép dễ dàng đọc liệu lưu trữ kết đến sở liệu hiệu chi phí để bảo trì thay dịch vụ cho thiết bị an ninh ABSTRACT In this thesis shows us that in many cases, you need to find the answer to finding the hot and humid area of the storage cabinets Once the index overcomes the alarming number that yourself not know, the cost of maintaining or replacing the stored equipment is very significant So this thesis we researches, designs, assembles the cabinets to alert the temperature and humidity Raspberry Pi is as a monitoring device with access to the SQL database and retrieves data from integrated sensors The display monitors the temperature with the web interface graph, thereby allowing for easy reading of data and storing results to a cost-effective database for maintenance or replacement services for a security appliance MỤC LỤC LỜI MỞ ĐẦU i TÓM TẮT ĐỒ ÁN iv MỤC LỤC v DANH MỤC HÌNH vii DANH MỤC BẢNG viii PHẦN MỞ ĐẦU ix CHƯƠNG TỔNG QUAN VỀ THU THẬP DỮ LIỆU DÙNG RASPBERRY PI 1.1 Tổng quan thu thập liệu 1.1.1 Các phương pháp thu thập liệu 1.1.2 Ứng dụng thực tiễn 1.2 Thu thập liệu dùng Raspberry Pi 1.2.1 Raspberry Pi .3 1.2.2 Cảm biến DHT22 .15 1.2.3 Web server 20 1.2 Kết luận chương .23 CHƯƠNG PYTHON ỨNG DỤNG PYTHON TRONG RASPBERRY PI .24 2.1 Tổng quan ngơn ngữ lập trình Python 24 2.1.1 Giới thệu ngôn ngữ lập trình Python 24 2.1.2 Lịch sử phát triển Python 24 2.1.3 Đặc điểm Python 26 2.1.4 Cú pháp Python 33 2.1.5 Ứng dụng Python 36 2.2 Python Raspberry Pi ứng dụng 38 2.2.1 Python Raspberry Pi 38 2.2.2 Ứng dụng Python Raspberry Pi 51 2.3 Kết luận chương .52 CHƯƠNG THIẾT KẾ HỆ THỐNG THU THẬP DỮ LIỆU QUA MẠNG INTERNET TRÊN SỞ NGÔN NGỮ PYTHON RASPBERRY PI 53 3.1 Thiết kế phần cứng cho hệ thống .53 3.2 Lập trình cho hệ thống sử dụng ngơn ngữ Python HTML 54 3.2.1 Lập trình ngơn ngữ Python .54 3.2.2 Lập trình ngơn ngữ HTML .64 3.3 Kết nghiên cứu 66 3.3.1 Kết phần cứng 66 3.3.2 Kết xây dựng web server 66 3.3.3 Kết tổng quát hệ thống thu thập liệu .67 3.4 Kết luận chương .67 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO .69 PHỤ LỤC 70 DANH MỤC HÌNH Hình 1.1 Hình ảnh thực tế Raspberry Pi .4 Hình 1.2 Cấu tạo Raspberry Pi Hình 1.3 đồ chân GPIO Raspberry Pi 10 Hình 1.4 Phụ kiện kèm theo với Raspberry Pi .12 Hình 1.5 Một số ứng dụng Raspberry Pi 14 Hình 1.6 Cảm biến nhiệt độ, độ ẩm DHT22 15 Hình 1.7 Kích thước thực tế cảm biến DHT22 (đơn vị mm) 17 Hình 1.8 Cảm biến DHT22 kết nối với vi xử lý 17 Hình 1.9 Q trình gửi tín hiệu vi xử lí 18 Hình 1.10 Dữ liệu bit nhận đươc từ DHT22 .19 Hình 1.11 Dữ liệu bit nhận từ DHT22 .19 Hình 1.12 Web Server 20 Hình 2.1 Bảng xếp hạng sử dụng ngơn ngữ lập trình giới (năm 2016) 36 Hình 2.2 Biểu đồ thống kê việc giảng dạy ngơn ngữ lập trình .37 Hình 2.3 Truy nhập Python từ Menu .39 Hình 3.1 đồ khối hệ thống thu thập liệu dùng Raspberry Pi 53 Hình 3.2 Hình ảnh thực tế phần cứng hệ thống thu thập liệu 66 Hình 3.3 Hình ảnh thực tế giao diện web thu thập liệu .66 Hình 3.4 Biểu đồ thể giá trị nhiệt độ độ ẩm theo thời gian 67 Hình 3.5 Chương trình nhậ liệu Raspberry Pi 67 DANH MỤC BẢNG Bảng 1.1 Các thông số kỹ thuật cảm biến DHT22 16 Bảng 2.1 Các từ khóa Python .28 Bảng 2.2 Chức tích hơp Python .39 Bảng 3.1 Một số thư viện cần quan tâm với người dùng Raspberry Pi 60 PHẦN MỞ ĐẦU Thu thập liệu thiết bị, máy móc, động cơ… điều cần thiết để đảm bảo tính hoạt động ổn định, liên tục, giảm cố từ tối ưu suất sản xuất Vì mà khâu quản lý bảo trì trọng đơn vị sản xuất, tùy vào điều kiện hồn cảnh phương pháp cơng nghệ khác để thu thập liệu Đề tài “Thu thập liệu qua mạng Internet sở ngôn ngữ Python Raspberry Pi” nghiên cứu nhằm tìm hiểu phương pháp thu thập liệu, tìm hiểu Raspberry Pi thu thập liệu dùng Raspberry Pi ngơn ngữ lập trình Python Cấu trúc đồ án trình bày chương: Chương Tổng quan thu thập dữu liệu dùng Raspberry Pi Giới thiệu tổng quan thu thập liệu, phương pháp thu thập liệu, ứng dụng thu thập liệu thực tiễn thu thập liệu dùng Raspberry Pi Chương Python ứng dụng Python Raspberry Pi Trong chương giới thiệu ngơn ngữ lập trình Python ứng dụng Python Raspberry Pi Chương Thiết kế hệ thống thu thập liệu qua mạng Internet sở ngôn ngữ Python Raspberry Pi Chương thực vào thiết kế hệ thống thu thập liệu lập trình cho chương trình thu thập liệu hai ngơn ngữ Python tích hợp HTML sudo apt-get install build-essential python-dev sudo python setup.py install - Thư viện RPi.GPIO Sử dụng Python Raspberry Pi mở hội kết nối với giới thực thông qua chân GPIO Pi Điều thực với thư viện RPIO GPIO Nó cài đặt sẵn hình ảnh Raspbian gần đây, bạn phiên cũ, bạn cài đặt bằng: sudo apt-get install python-rpi.gpio sudo apt-get install python3-rpi.gpio Trong phiên cũ Raspian, bạn cần truy cập root để truy cập vào chân GPIO, sudo python chạy sudo ipython sudo idle &, phiên hơn, người dùng nhóm GPIO chạy bình thường Trong tập lệnh Python bạn (hoặc REPL), nhập module GPIO, đặt chế độ hội đồng quản trị sang chế độ ưa thích bạn, thiết lập chân bạn muốn sử dụng bật chúng lên: import RPi.GPIO as GPIO Như chương trình hồn tất việc cài đặt thư viện Adafruit_DHT RPi.GPIO Tiếp theo, với yêu cầu của thư viện ta tiến hành chọn loại cảm biến chọn chân truyền sữ liệu Raspberry Pi (chân GPIO data) cách sử dụng: Trên chương trình Python, ta thực gán loại cảm biến muốn sử dụng cho thư viện Adafruit_DHT chọn chân giao tiếp: chon_cam_bien = Adafruit_DHT.DHT22 GPIO.setmode(GPIO.BCM) # Chân data cảm biến nối với chân GPIO 21 Raspberry Pi pin_sensor = 21 72 Như chương trình khai báo loại cảm biến sử dụng chân kết nối để giao tiếp Raspberry Pi cảm biến Với chương trình lập trình kết hợp với thư viện khai báo chương trình thực đo giá trị nhiệt độ độ ẩm từ cảm biến DHT22 Xây dựng chương trình vẽ biểu đồ cho nhiệt độ độ ẩm Một ứng dụng cho đề tài sử dụng hệ thống giám sát khảo sát nhiệt độ độ ẩm môi trường làm việc Trong nhiều thời điểm, bạn cần tìm câu trả lời cho việc tìm điểm nóng ẩm thấp tủ chứa đồ Một số vượt qua số đáng báo động mà thân khơng biết chi phí cho dịch vụ bảo trì thay cho thiết bị bảo quản đáng kể Đồ án nghiên cứu, thiết kế, lắp ráp cho tủ chứa nhằm cảnh báo nhiệt độ độ ẩm Để dễ dàng đọc giá trị nhiệt độ độ ẩm khảo sát thay đổi chúng theo thời gian việc vẽ biểu đồ thẻ u cầu lựa chọn thích hợp Python ngơn ngữ lập trình phổ biến khác nhiều người u thích ứng dụng với tài nguyên vô rộng lớn Vẽ biểu đồ, đồ thị lĩnh vực phổ biến cho đề tài với mục đích khảo sát đối tượng Để xây dựng đoạn chương trình vẽ biểu đồ Python với biến nhiệt độ độ ẩm, thực khai báo thư viện hỗ trợ cho việc vẽ biểu đồ - Thư viện plotly.plotly Thư viện plotly hỗ trợ hai phương thức vẽ trực tuyến (online) ngoại tuyến (offline) Plotly cung cấp dịch vụ web để lưu trữ biểu đồ, cần phải đăng ký tài khoản web Đề tài lựa chọn phương thức vẽ ngoại tuyến để việc thực đơn giản dễ dàng Để cài đặt plotly, thực sau: 73 Trên Terminal, để cài đặt plotly cần chạy lệnh: sudo pip install plotly Tiếp theo, thực hiện khai báo thư viện cho chương trình import plotly Ngồi ra, chương trình vẽ biểu đồ cho hai biến nhiệt độ độ ẩm sử dụng số thư viện khác như: lotly.offline plotly.graph_objs matplotlib.pyplot Chương trình hồn tất việc khai báo thư viện, để thực vẽ biểu đồ cần cho đoạn chương trình soạn sẵn vào kết hợp với thư viện khai báo Python vẽ biểu đồ với hai biến nhiệt độ độ ẩm theo thời gian 3.2.2 Lập trình ngơn ngữ HTML Giao diện trang web viết ngôn ngữ thường gặp lập trình web HTML, Javascript, Jquery (một module Javascript)… Trong đề tài sử dụng ngơn ngữ HTML tích hợp với Python chủ yếu để tạo nên bố cúc cho trang web Điều cần làm khai báo cho trình duyệt biết bạn “nói” với ngơn ngữ HTML cách sử dụng thẻ Do đó, trước làm điều gõ thẻ vào dòng chương trình, thẻ mở cần phải thẻ đóng trước hồn tất trang HTML Do đảm bảo không quên thẻ đóng ““ Cơng việc kế tiếp, trang Web cần thẻ head, phần cung cấp thông tin trang HTML, thẻ body nơi chứa tất nội dung trang HTML khơng trình duyệt hiểu khơng tn thủ luận lý học, thẻ viết sau phần head bào gồm cặp thẻ ( and ) body với ( and ) 74 Tất thẻ giống định dạng bắt đầu ký tự ““ Ví dụ: Bắt đầu kết thức đoạn chương trình html Tên tiêu đề trình duyệt

Đây dạng văn

tiêu đề cấp 1 tiêu đề cấp 2 Tương tự Word Office, HTML kiểu định dạng phơng chữ, in đậm, in nghiêng, gạch chân… Ví dụ: in nghiêng in đậm gạch chân Với việc thiết kế giao diện đơn giản cho trang web, cần học kiến thức làm cho trang web thêm sinh động nhiều 3.3 Kết nghiên cứu 3.3.1 Kết phần cứng 75 Hình 3.2 Hình ảnh thực tế phần cứng hệ thống thu thập liệu Từ hình ảnh thấy cảm biến DHT22 nối trực tiếp đến chân GPIO Raspberry Pi dây nối Raspberry Pi cấp nguồn kết nối với máy tính mạng LAN Raspberry gửi yêu cầu đến DHT22 nhận lại giá trị sau DHT22 phản hồi lại Từ chương trình cài sẵn Python, dùng máy tính truy cập lên web server để xem kết 3.3.2 Kết xây dựng web server Hình 3.3 Hình ảnh thực tế giao diện web thu thập liệu 76 Hình 3.4 Biểu đồ thể giá trị nhiệt độ độ ẩm theo thời gian Nhận xét: - Trang web đơn giản, dễ quan sát - Tốc độ tải trang web nhanh nhờ dung lượng trang web nhỏ 3.3.3 Kết tổng quát hệ thống thu thập liệu Hình 3.5 Chương trình nhậ liệu Raspberry Pi Nhận xét: Chương trình hoạt động ổn định tương đối xác với yêu cầu đề tài 3.4 Kết luận chương Chương trình bày thiết kế hệ thống thu thập liệu phần cứng, kiến thức ngơn ngữ Python 77 HTML lập trình cho chương trình thu thập liệu hai ngơn ngữ Python tích hợp HTML KẾT LUẬN Sau nghiên cứu thực đề tài “Thu thập liệu qua mạng Internet sở ngôn ngữ Python Raspberry Pi”, em thực yêu cầu đề tài sau: - Tìm hiểu máy tính Raspberry Pi - Làm quen với hệ điều hành linux (Raspbian) - Kỹ lập trình ngơn ngữ lập trình Python, HTML ngồi ngơn ngữ học trường ngơn ngữ lập trình C - Thiết lập webserver máy tính Raspberry - Thiết kế giao diện web đơn giản sử dụng ngôn ngữ HTML - Lắp đặt thiết kế mơ hình sản phẩm - Thực truyền nhận liệu UART - Sản phẩm hoạt động ổn định, tiết kiệm điện Trong thời gian cho phép đề tài thực xong yêu cầu đặt Hệ thống hoạt động nhịp nhàng ổn định Mặt khác, đề tài chưa giải vấn đề truy cập liệu thu thập qua mạng Internet Ngoài kết đạt đề tài này, tương lai em cố gắng khắc phục thiếu sót, cải tiến sản phẩm dựa hỗ trợ vô lớn từ máy tính nhỏ Raspberry Pi cộng đồng phát triển Hướng phát triển đề tài tương lai: - thể truy cập trang web từ thiết bị kết nối Internet - Lắp đặt lập trình cho động hoạt động theo mức nhiệt độ độ ẩm, tắt động nhiệt độ cao - Giá trị đo đạt độ xác cao - Dựa vào liệu thu thập phân tích hoạt động động để bảo trì kịp thời, lúc - Lập trình đưa liệu thu thập dạng file Excel để dễ quan sát tính tốn 78 - Thu thập liệu nhiều kênh, cảnh báo đến người thu thập thông số liệu vượt giá trị cho phép hệ thống - Mở rộng điều khiển thiết bị từ xa qua web đèn, quạt, thiết bị làm mát điều chỉnh độ ẩm cho thích hợp mơi trường sản xuất… TÀI LIỆU THAM KHẢO Sách tham khảo [1] Giáo trình lập trình C bản, Đại học Sư phạm Kỹ Thuật TP.HCM, 2010 [2] Đậu Trọng Hiển, Giáo trình Lập trình nhúng, Đại học Sư phạm Kỹ thuật TP.HCM, 2013 [3] Nguyễn Việt Hùng, Nguyễn Ngô Lâm, Nguyễn Văn Phúc, Giáo trình kỹ thuật truyền số liệu, Đại học Sư phạm Kỹ thuật TP.HCM, 2012 [4 ] Matt Richardson - Shawn Wallace, Getting Started with Raspberry Pi Một số website tham khảo Cảm biến DHT22: http://linhkien69.vn/cam-bien-nhiet-do-va-do-amdht22_i1938_c162.aspx Raspberry Pi : https://www.raspberrypi.org Lập trình ngơn ngữ Python : https://plot.ly/matplotlib/scatter/ http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot https://blackconsole.net/2016/07/03/do-nhiet-do-va-do-am-voiraspberry-pi- dung-cam-bien-dht11/ https://docs.python.org/2/whatsnew/2.7.html?highlight=scatter 79 https://stackoverflow.com/questions/27246058/matplotlibscatter-plot-with-2-y-points-per-x-point Lập trình ngơn ngữ Html : https://www.w3schools.com/html/html_iframe.asp http://html.com 80 PHỤ LỤC Chương trình lập trình hệ thống thu thập liệu qua mạng Internet sở ngôn ngữ Python Raspberry Pi # -*- coding: utf-8 -*import matplotlib.pyplot as plt import Adafruit_DHT import RPi.GPIO as GPIO import time import decimal from plotly import tools import plotly.plotly as py import plotly.graph_objs as go from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot from plotly.graph_objs import Scatter, Figure, Layout from time import gmtime, strftime # Adafruit_DHT hỗ trợ nhiều loại cảm biến DHT, sử dụng DHT22 nên chọn DHT22 chon_cam_bien = Adafruit_DHT.DHT22 myname = socket.gethostname() GPIO.setmode(GPIO.BCM) # Chân DATA nối vào chân GPIO21 PI pin_sensor = 21 tg = [0,1,2,3,4,5,6,7,8,9] gtnd = [20,20,20,20,20,20,20,20,20,20] gtda = [80,80,80,80,80,80,80,80,80,80] print ("Nhiet va am tai Vinh"); while(1): # Đọc nhiệt độ độ ẩm thông qua thư viện Adafruit_DHT 81 # Hàm read_retry đọc giá trị nhiệt độ độ ẩm từ cảm biến # Nếu không thành công thử 15 lần, lần cách giây trace1 = go.Scatter( x=[0,1,2,3,4,5,6,7,8,9], y=[gtnd[0],gtnd[1],gtnd[2],gtnd[3],gtnd[4],gtnd[5],gtnd[6],gtnd[7] ,gtnd[8],gtnd[9]], name = 'Nhiệt độ', ) trace2 = go.Scatter( x=[0,1,2,3,4,5,6,7,8,9], y=[gtda[0], gtda[1], gtda[2],gtda[3],gtda[4],gtda[5],gtda[6],gtda[7],gtda[8],gtda[9]], name = 'Độ ẩm', yaxis ='y2', ) data =[trace1,trace2] layout = go.Layout( title='Đồ thị Nhiệt độ & Độ ẩm', xaxis=dict( domain=[0.2, 0.8]), yaxis=dict( title='Nhiệt độ', titlefont=dict( color='rgb(24, 34, 170)' ), tickfont=dict( color='rgb(24, 34, 170)' ), range=[20,45] 82 ), yaxis2=dict( title='Độ ẩm', titlefont=dict( color='rgb(238, 141, 15)' ), tickfont=dict( color='rgb(238, 141, 15)' ), range=[50,90], overlaying='y', side='right' ) ) fig = go.Figure(data=data, layout=layout) plot(fig, filename='multiple-axes-double',auto_open=False) doam, nhietdo = Adafruit_DHT.read_retry(chon_cam_bien, pin_sensor); # Kiểm tra giá trị trả từ cảm biến (nhiệt độ độ ẩm) khác NULL if doam is not None and nhietdo is not None: print ("Nhiet Do = {0:0.1f} Do Am = {1:0.1f}\n").format(nhietdo, doam); print ("Cho giay de tiep tuc \n"); nd = decimal.Decimal(nhietdo) da = decimal.Decimal(doam) nhietdo = round(nd,2) doam = round(da,2) #nhiet gtnd[0]=gtnd[1] gtnd[1]=gtnd[2] 83 gtnd[2]=gtnd[3] gtnd[3]=gtnd[4] gtnd[4]=gtnd[5] gtnd[5]=gtnd[6] gtnd[6]=gtnd[7] gtnd[7]=gtnd[8] gtnd[8]=gtnd[9] gtnd[9]=nhietdo #do am gtda[0]=gtda[1] gtda[1]=gtda[2] gtda[2]=gtda[3] gtda[3]=gtda[4] gtda[4]=gtda[5] gtda[5]=gtda[6] gtda[6]=gtda[7] gtda[7]=gtda[8] gtda[8]=gtda[9] gtda[9]=doam nhdo = str(nhietdo) doAm = str(doam) index = open('/var/www/html/index.html','w') index.close() index = open('/var/www/html/index.html','w') index.write(' Nhiệt độ độ ẩm Thành phố Vinh ') index.write(' TRƯỜNG ĐẠI HỌC VINH') index.write(' VIỆN KỸ THUẬT CÔNG NGHỆ') 84 index.write('') index.write('ĐỒ ÁN TỐT NGHIỆP') index.write(' Đề tài: Thu thập liệu qua mạng Internet sở ngôn ngữ Python Raspberry Pi

') index.write(' Nhiệt độ độ ẩm Thành phố Vinh hôm nay:') index.write('') index.write(' Nhiệt độ : '+nhdo+' °C ') index.write(' Độ ẩm khơng khí : '+doAm+' % ') index.write('Update') index.write('

GVHD : Th.s Hồ Sỹ Phương') index.write('

Sinh viên : Nguyễn Ngọc Lĩnh') index.write('

MSSV : 1251085453') 85 index.write('') index.close() time.sleep(0.5); else: # Báo lỗi :( print("Loi khong the doc tu cam bien DHT22 :(\n");import Adafruit_DHT 86 ... HỆ THỐNG THU THẬP DỮ LIỆU QUA MẠNG INTERNET TRÊN CƠ SỞ NGÔN NGỮ PYTHON VÀ RASPBERRY PI 53 3.1 Thiết kế phần cứng cho hệ thống .53 3.2 Lập trình cho hệ thống sử dụng ngôn ngữ Python HTML... Pi Chương Thiết kế hệ thống thu thập liệu qua mạng Internet sở ngôn ngữ Python Raspberry Pi Chương thực vào thiết kế hệ thống thu thập liệu lập trình cho chương trình thu thập liệu hai ngơn ngữ. .. hiểu Raspberry Pi thu thập liệu dùng Raspberry Pi ngơn ngữ lập trình Python Cấu trúc đồ án trình bày chương: Chương Tổng quan thu thập dữu liệu dùng Raspberry Pi Giới thiệu tổng quan thu thập liệu,

Ngày đăng: 22/03/2018, 08:01

Mục lục

    TÓM TẮT ĐỒ ÁN

    CHƯƠNG 1 TỔNG QUAN VỀ THU THẬP DỮ LIỆU DÙNG RASPBERRY PI

    1.1. Tổng quan về thu thập dữ liệu

    1.1.1 Các phương pháp thu thập dữ liệu

    1.1.2 Ứng dụng trong thực tiễn

    1.2 Thu thập dữ liệu dùng Raspberry Pi

    Hình 1.1 Hình ảnh thực tế Raspberry Pi 3

    Hình 1.2 Cấu tạo của Raspberry Pi

    Hình 1.3 Sơ đồ chân GPIO của Raspberry Pi

    Hình 1.4 Phụ kiện kèm theo với Raspberry Pi

Tài liệu cùng người dùng

Tài liệu liên quan