(Đồ Án Hcmute) Hệ Thống Liên Lạc Nội Bộ.pdf

86 4 0
(Đồ Án Hcmute) Hệ Thống Liên Lạc Nội Bộ.pdf

Đ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

THÀNH PHỐ HỒ CHÍ MINH BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT GVHD TS HOÀNG XUÂN BÁCH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH SVTH NGUYỄN HỬU VINH VÕ VĂN ANH TUẤN Tp Hồ Chí M[.]

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 ĐỒ ÁN TỐT NGHIỆP NGÀNH CƠNG NGHỆ KỸ THUẬT MÁY TÍNH HỆ THỐNG LIÊN LẠC NỘI BỘ GVHD: TS HOÀNG XUÂN BÁCH SVTH: NGUYỄN HỬU VINH VÕ VĂN ANH TUẤN SKL009936 Tp Hồ Chí Minh, tháng 7/2016 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG LIÊN LẠC NỘI BỘ NGÀNH CƠNG NGHỆ KỸ THUẬT MÁY TÍNH Sinh viên: NGUYỄN HỬU VINH MSSV: 12119032 VÕ VĂN ANH TUẤN MSSV: 12119266 TP HỒ CHÍ MINH – 07/2016 i TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG LIÊN LẠC NỘI BỘ NGÀNH CƠNG NGHỆ KỸ THUẬT MÁY TÍNH Sinh viên: NGUYỄN HỬU VINH MSSV: 12119032 VÕ VĂN ANH TUẤN MSSV: 12119266 Hướng dẫn: TS HỒNG XN BÁCH TP HỒ CHÍ MINH – 07/2016 ii LỜI CẢM ƠN Đồ án tốt nghiệp đòi hỏi khối lượng kiến thức lớn chuẩn bị lâu dài, kỹ lưỡng kỹ xếp phân tích, tổng hợp kiến thức Tuy thực hành tích lũy kinh nghiệm từ đồ án môn học, trước yêu cầu cao áp lực đề tài lớn, nhóm thực đồ án cảm thấy bỡ ngỡ Sự thiếu sót kiến thức, kỹ điều tránh khỏi nhóm cảm ơn hướng dẫn thầy cô môn Khoa Điện – Điện tử giúp nhóm hồn thành đồ án Nhóm thực đề tài trân trọng cảm ơn tác giả tài liệu tham khảo Nguồn tài liệu tham khảo quý báu giúp nhóm tiết kiệm nhiều thời gian có huớng nghiên cứu cụ thể việc thực đề tài Trên hết nhóm xin gửi lời cảm ơn chân thành đến thầy Hoàng Xuân Bách tận tình giúp đỡ bảo, hướng dẫn chúng tơi suốt q trình thực đề tài Trong thời gian làm việc tiếp thu thêm nhiều kiến thức bổ ích tinh thần trách nhiệm công việc học tập Đây điều cần thiết cho trình học tập cơng tác sau Trong q trình thực đề tài khơng tránh khỏi thiếu xót Rất mong nhận góp ý, phê bình, dẫn q thầy bạn sinh viên Nhóm xin chân thành cảm ơn! Nhóm thực đồ án Nguyễn Hửu Vinh Võ Văn Anh Tuấn i MỤC LỤC LỜI CẢM ƠN i DANH MỤC HÌNH ẢNH v DANH MỤC BẢNG vii TÓM TẮT viii CHƢƠNG 1.1 GIỚI THIỆU Xu hướng công nghệ giới 1.1.1 Information of Everything (IoE) .1 1.1.2 Hệ thống nhúng .2 1.2 Lý chọn đề tài 1.3 Mục tiêu đề tài .4 1.4 Phạm vi nghiên cứu giới hạn đề tài 1.5 Phương pháp nghiên cứu .4 1.6 Bố cục đồ án CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan hệ thống nhúng .6 2.1.1 Khái niệm hệ thống nhúng 2.1.2 Lịch sử hình thành hệ thống nhúng 2.1.3 Đặc trưng hệ thống nhúng 2.1.4 Giới thiệu kit nhúng Raspberry Pi 10 2.2 Tổng quan mạng WLAN 14 2.2.1 Nguyên lý hoạt động mạng WLAN 14 2.2.2 Các tiêu chuẩn kỹ thuật mạng WLAN 15 2.3 Ngôn ngữ lập trình Python 17 2.3.1 Giới thiệu 17 2.3.2 Đặc điểm ngơn ngữ lập trình Python 19 2.4 Kỹ thuật streaming video .21 2.4.1 Giới thiệu 21 ii 2.4.2 Nguyên lý hoạt động 22 2.5 Giao thức không hướng kết nối UDP 23 2.5.1 Một số thuật ngữ UDP .23 2.5.2 Hoạt động giao thức UDP 24 2.6 Lập trình Socket 27 2.6.1 Đặc điểm socket hướng kết nối 27 2.6.2 Đặc điểm socket không hướng kết nối .28 2.6.3 Một số khái niệm Socket 28 2.6.4 Python lập trình Socket .29 2.7 Hệ thống liên lạc nội thị trường 30 CHƢƠNG THIẾT KẾ VÀ THI CÔNG 33 3.1 Thiết kế phần cứng 33 3.1.1 Sơ đồ khối hệ thống 33 3.1.2 Sơ đồ nguyên lý 45 3.2 Thiết kế phần mềm 46 3.2.1 Tóm tắt cơng đoạn thực .46 3.2.2 Cài đặt hệ điều hành cho Raspberry Pi .47 3.2.3 Cài đặt usb wifi TL-WN725N 49 3.2.4 Truy cập Raspberry Remote Desktop Connection 51 3.2.5 Thiết đặt phương thức truyền video 52 3.2.6 Cài đặt thư viện Selenium cho Python 55 3.2.7 Cài đặt trình duyệt Firefox 56 3.2.8 Cài đặt VLC Media Player 56 3.2.9 Cài đặt Sound Card cho Raspberry Pi .57 3.2.10 Cài đặt thư viện truyền nhận âm cho Python 59 3.2.11 Thiết kế chương trình 61 CHƢƠNG KẾT QUẢ 65 4.1 Kết đạt 65 4.1.1 Về sản phẩm 65 4.1.2 Số liệu khảo sát .66 iii 4.2 Thảo luận .69 4.2.1 Giá thành sản phẩm 69 4.2.2 Project timeline 70 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 71 5.1 Kết đạt 71 5.1.1 Về mặt lý thyết 71 5.1.2 Về mặt thực tiễn 71 5.2 Kết luận 71 5.2.1 Ưu điểm .71 5.2.2 Khuyết điểm 72 5.2.3 Đánh giá 72 5.3 Hướng phát triển đề tài 72 TÀI LIỆU THAM KHẢO 74 iv DANH MỤC HÌNH ẢNH Hình 1 - Internet of Everything Hình - Nền tảng tương lai - Hệ thống nhúng Hình - Apollo Guidance Computer Hình 2 - Kit Raspberry Pi 10 Hình - Guido van Rossum 18 Hình - Logo Python 19 Hình - Một số ví dụ hệ thống liên lạc nội 31 Hình – Module Raspberry Pi .35 Hình - Kết nối module camera với kit RPi 36 Hình 3 - Bàn phím ma trận 4x4 .36 Hình - Sơ đồ nguyên lý bàn phím ma trận 4x4 37 Hình - Sơ đồ chân LCD .38 Hình - USB Sound Card .41 Hình – Kết nối mạch khuếch đại âm 42 Hình - USB wifi TL-WN725N 43 Hình - Màn hình LCD inch .44 Hình 10 – Sơ đồ nguyên lý thiết bị cổng .46 Hình 11 - Chạy phần mềm Win32DiskImage 47 Hình 12 - Giao diện Advanced IP Scanner 48 Hình 13 - Giao diện Putty .48 Hình 14 - Khởi động Remote Desktop 52 Hình 15 - Đăng nhập vào Raspberry Pi .52 Hình 16 - Màn hình vào Raspi -Config 53 Hình 17 - Sử dụng lệnh lsusb để kiểm tra kết nối audio .57 Hình 18 - Thay đổi file alsa-base.conf 58 Hình 19 - Điều chỉnh âm lệnh alsamixer 58 v Hình 4.1 - Thiết bị cổng 65 Hình 4.2 - Sản phẩm thiết bị phòng 66 Hình 4.3 - Thực lệnh htop để kiểm tra nhớ Rpi B+ .66 Hình 4.4 - Kết dùng lệnh htop Pi 67 Hình 4.5 - Kiểm tra nhớ CPU gọi Firefox Pi B+ 68 Hình 4.6 - Kiểm tra nhớ CPU gọi Firefox Pi .68 Hình 4.7 - CPU chạy chương trình VLC Pi2 .68 vi DANH MỤC BẢNG Bảng - Thông số kỹ thuật Raspberry 12 Bảng 2 - Phân biệt khác giao thức UDP TCP .26 Bảng - Các khái niệm riêng Socket .28 Bảng - Các phương thức sử dụng cho Server Socket 29 Bảng - Các phương thức sử dụng cho Client Socket 30 Bảng - So sánh hệ thống liên lạc nội thị trường 31 Bảng - Thứ tự kết nối chân bàn phím mà trận RPi2 .37 Bảng – Sơ đồ chân LCD 38 Bảng 3 - Thứ tự kết nối chân LCD 16x2 Raspberry 40 Bảng - Thuộc tính hình LCD inch 45 Bảng - Kết truyền stream video 67 Bảng - Liệt kê linh kiện sử dụng đồ án 69 Bảng - Project timeline nhóm 70 vii 3.2.11.Thiết kế chƣơng trình 3.2.11.1 Lƣu đồ chƣơng trình  Lưu đồ chương trình phịng Bắt đầu KKhởi tạo socket Chờ kết nối Kiểm tra S kết nối Đ Chấp nhận kết nối Thông báo chuông Kết nối âm Đ Thiết lập nết nối 61 S  Lưu đồ chương trình ngồi cổng Begin Xử lý thơng tin từ bàn phím ma trận Khởi tạo socket Thiết lập kết nối Bật camera Tắt Camera S Kiểm tra Kết nối âm Đ Thực Kiểm tra Time Đ 62 3.2.11.2 Thực chƣơng trình Những lệnh sử dụng chương trình s.bind((host, port)) để kết nối tới Port Đợi t giây bắt đầu kết nối s.listen(t) s.connect((host, port)) Kết nối tới host có port tạo c, addr = s.accept() Kết nối với Client c.send(„lệnh‟) sock = client gửi lệnh cho Server socket.socket(socket.AF_INET, socket.SOCK_DGRAM) truyền theo giao thức UDP Các lệnh nằm thư viện socket nên viết chương trình cần import thư viện socket cho chương trình Để thử lệnh hệ thống import thư viện os Khi thực việc gọi chương trình ta tiến hành gọi os.(„lênh‟) Trong chương trình có viết số chương trình Shell script nhỏ nhằm dể kiểm sốt việt gọi chương trình Trong stream audio sử dụng thư viện PyAudio để viết code stream video p=pyaudio.PyAudio() stream = p.open(format = pyaudio.paInt16, channels = 1, input_device_index = 2, rate = 44100, input = True, cài đặt âm python frames_per_buffer = 8192) data = stream.read(8192) đóng gói gói tin trước gửi sock.send(data) gửi gói tin đến thiết bị kết nối data = s.recv(8192) thiết lập nhận âm từ người gửi stream.write(data) đọc gói tin nhận 63 64 CHƢƠNG 4.1 KẾT QUẢ Kết đạt đƣợc 4.1.1 Về sản phẩm Tạo thiết bị hệ thống liên lạc nội Hệ thống liên kết với Thực việt truyền nhận video, kết nối hệ thống lại với qua wifi Tuy nhiên trình thu video bị số hạn chế phần cứng dẫn đến video không truyền với chất lượng tốt Về âm thanh, truyền tốt độ truyền của âm hạn chế Âm truyền mức đồ nghiên cứu, chưa thể ứng dụng vào thực tế Hình 4.1 - Thiết bị cổng 65 Hình 4.2 - Sản phẩm thiết bị phòng 4.1.2 Số liệu khảo sát đƣợc 4.1.2.1 Stream Video Nhóm thực khảo sát quay video nên tảng Pi B+ Pi kết sau Khi quay video sử dụng module camera việc thực quay module Pi nhanh nhiều so với Pi B+ cho chất lượng video tốt Hình 4.3 - Thực lệnh htop để kiểm tra nhớ Rpi B+ Khi chưa chạy lệnh để bắt đầu việc stream video, CPU Raspberry Pi B+ chiếm khoảng 20%, thực lệnh quay video, chương trình chiếm nhiều nhớ Raspberry Pi B+ khiến cho Raspberry B+ có thử đầy nhớ, làm việc thu truyền nhận không rõ so với Raspberry Pi 66 Khi thực Raspberry Pi : Hình 4.4 - Kết dùng lệnh htop Pi Việc sử lý song song nhiều tag vụ làm cho CPU Raspberry Pi tối ưu chương trình, CPU chiếm khoảng 25% Về chất lƣợng video: Bảng - Kết truyền stream video Chất lượng video Raspberry Pi B+ Raspberry Pi 640x480 8-12 khung hình giây 12-20 khung hình giây 480x320 12-24 khung hình giây 30-40 khung hình giây 320x240 40-50 khung hình giây 60-70 khung hình giây 4.1.2.2 Chƣơng trình xuất video Để thực việc stream video nhóm thực khảo sát sử dụng phần mềm hợp lý Ban đầu nhóm có viết app Qt nhằm tạo trang web có địa IP mặc định việc stream video không đạt kết quả, chương trình kiến cho nhớ ln tình trạng đứng máy CPU đáp ứng khơng đủ, nên nghiên cứu chuyển sang dùng phần mềm có sẳn linux để thực show video Nhóm thực việc sử dụng trình duyệt Firefox VLC để show video, sử dụng thư viện selenium python để thự việc gọi trang web lệnh Nhóm thực việc gọi kit RPi B+ Pi thấy chương trình mở Pi B+ Pi gần full 100% nhớ CPU Việc mở trang web lệnh lâu khó thực 67 Hình 4.5 - Kiểm tra nhớ CPU gọi Firefox Pi B+ Với Pi việc chạy lệnh dể dàng hơn, tốc độ đọc ảnh nhỏ, dẫn đến video bị dựt nhiều CPU bị chiếm khoảng 30% Hình 4.6 - Kiểm tra nhớ CPU gọi Firefox Pi Sử dụng chương trình xem video VLC để thực việc hiển thị video Sau nhiều lần kiểm tra, nhóm thấy VLC làm thiết bị xuất video tốt nhất, nhớ CPU chiếm dụng tốt độ xem ảnh nhanh so với khác nhóm tìm hiểu Hình 4.7 - CPU chạy chương trình VLC Pi2 68 4.1.2.3 Âm Tuy thực truyền âm không tốt lắm, lượng âm nhận tầm 60% - 80% so với lượng âm truyền 4.2 Thảo luận Trong đồ án này, việt tream video cịn chậm giới hạn phần cứng Raspberry Pi, tốc độ xử lý chưa cao Việc Stream audio code chưa tốt nên việc stream audio không mong muốn nhóm 4.2.1 Giá thành sản phẩm Giá trường hệ thống liên lạc nội cao, theo quan sát giá thị trường từ triệu đến 30 triệu sản phẩm Bảng - Liệt kê linh kiện sử dụng đồ án Tên linh kiện Giá sản phẩm(VNĐ) Số lượng Raspberry Pi 900.000 Có từ trước Raspberry Pi B+ 850.000 Có trước Màn hình LCD 7inch 750.000 USB wifi 180.000 Sound card 50.000 Bàn phím ma trận 90.000 Module Camera 650.000 Một số linh kiện 50.000 khác Tổng cộng 4.650.000 Giá linh kiện tham khảo Hshop 69 Ghi 4.2.2 Project timeline Bảng - Project timeline nhóm Tuần Vinh Tuấn Tìm hiểu hệ thống chng cửa Tìm hiểu linh kiện cần Tìm hiểu linh kiện cần mua, Tìm hiểu hệ thống chng cửa mua, tìm hiểu thơng tin tìm hiểu thơng tin linh kiện linh kiện đó Tìm hiểu kết nối phần Tìm hiểu kết nối phần cứng cứng 4-5 6-7 Tìm hiểu truyền video Tìm hiểu truyền video module Camera Webcam Tìm hiểu lập trình Socket Tìm hiểu code chương trình nút nhấn, thực chương trình Kết nối hệ thống với Kết nối hệ thống với Lập khung viết báo cáo Tìm hiểu lý thuyết để viết báo cáo 10-11 Tìm hiều stream audio 12-13 Làm khung sản phẩm, Viết Làm khung sản phẩm, Viết chỉnh sửa báo cáo Viết báo cáo chỉnh sửa báo cáo 70 CHƢƠNG 5.1 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết đạt đƣợc 5.1.1 Về mặt lý thyết - Hiểu cấu trúc tổng quan phần cứng phần mềm kit nhúng RPi - Hiểu cách thức để xây dựng hệ thống nhúng - Tìm hiểu ngơn ngữ lập trình Python, đặc điểm cách thức xây dựng chương trình Python - Hiểu kỹ thuật lập trình socket Python - Tích lũy thêm kiến thức giao thức truyền nhận liệu TCP UDP - Có nhìn tổng quan chuẩn mạng IEEE 802.11 - Khám phá thêm số kỹ thuật streaming video streaming voice thú vị 5.1.2 Về mặt thực tiễn - Xây dựng thành công hệ thống nhúng với khối điều khiển RPi cho phép giao tiếp với thiết bị ngoại vi thông qua chân GPIO Hiểu chức chân GPIO cách sử dụng chúng - Có hội tìm hiểu thực hành với nhiều linh kiện điện tử LCD, bàn phím, nút nhấn, camera, mic, loa, - Nâng cao khả lập trình thân - Trải nghiệp mơi trường Linux, hệ điều hành yêu thích lĩnh vực nhúng 5.2 Kết luận 5.2.1 Ƣu điểm - Thiết kế nhỏ gọn hoạt động tốt, khả linh động cao… - Khả mở rộng: hệ thống mở rộng với số lượng host (thiết bị phòng) lớn, đáp ứng nhu cầu chung cư cao tầng khu trọ có số lượng phịng lớn - Xây dựng phần cứng phần mềm tương đối đơn giản 71 5.2.2 Khuyết điểm - RPi biết đến máy tính thu nhỏ với mục đích phục vụ cho (hoặc vài nhiệm vụ nhỏ) định, việc cài đặt nhiều tác vụ cho RPi khiến tiêu tốn lượng RAM đáng kể để thực thi RPi thiết kế với cấu hình tương đối thấp hạn chế RAM Đó hạn chế lớn cho việc xây dựng hệ thống đòi hỏi nhiều tác vụ RPi - Hạn chế phần cứng số nguyên nhân khiến chất lượng video âm không đảm bảo - Khi Stream video CPU Raspberry B+ gần full 100% dẫn đến video bị dật liên tục - Giới hạn phạm vi phủ sóng tốc độ mạng wireless ảnh hưởng đến khả tryền nhận liệu RPi 5.2.3 Đánh giá - Với thời gian thực có hạn nên nhóm thực tìm hiểu, nghiên cứu, phân tích vấn đề liên quan đến đề tài thực hiện, thân đề tài nhiều vấn đề chưa thực thực chưa tối ưu nên không tránh khỏi thiếu sót Tuy vậy, nhóm tự đánh giá trình thực đề tài sau: - Thành cơng việc thiết hệ thống chng cửa có khả ứng dụng vào thực tế - Áp dụng kiến thức học vào trình thực đề tài tạo sản phẩm phục vụ nhu cầu sống - Nghiên cứu, học hỏi thêm nhiều kinh nghiệm, kiến thức hay bổ ích sau này, khám phá thêm vấn đề kỹ thuật 5.3 - Hƣớng phát triển đề tài Đề tài mở rộng với nhiều thiết bị (host) kết nối vào hệ thống smartphone, tablet, PC, Có thể xây dựng app thiết bị di động với nhiều tảng hệ điều hành khác android, iOS, … để truyền nhận tín hiệu điện thoại thiết bị thơng minh khác 72 - Lưu lịch sử người gọi cửa truyền phòng để biết đến nhà - Hệ thống gửi thông báo trực tiếp đến thiết bị kết nối cho phép tương tác với người nhấn chng cổng có tín hiệu từ hệ thống 73 TÀI LIỆU THAM KHẢO [1] Peter Membrey & David Hows, “True WiPi with WiFi,” in Learn Raspberry Pi with Linux, the Raspberry Pi Foundation, 2013, pp 186-195 [2] Ibrahim Al Shourbaji, “What is a Wireless LAN (WLAN),” in An Overview of Wireless Local Area Networks (WLAN), Computer Networks Department Jazan University, 2013, pp 1-2 [3] Engineering Dept, “Setting up the Camera software,” in Camera module setup, The Raspberry Pi Foundation, July 2013, pp [4] Mikey Sklar, “LCD Pinout,” and “Run the code,” in Drive a 16x2 LCD with the Raspberry Pi, Adafruit Industries, Apr 2015 [5] John G Apostolopoulos, Wai-tian Tan, Susie J Wee, “Media streaming protocols and standards,” in Video Streaming: Concepts, Algorithms, and Systems, Mobile and Media Systems Laboratory, HP Laboratories Palo Alto HPL-2002-260, September 18th , 2002* [6] Hubert Pham, “PyAudio,” in PyAudioDocuments, MIT, 2006 [7] Jonathan W Valvano, “Introduction to Embedded Systems,” in Embedded system, July 2014, pp 16 [8] Miguel Grinberg, “How to build and run MJPG-Streamer on the Raspberry Pi,” Miguel Grinberg blog, Oct 2013 [9] Richard L Halterman, Learning to program with python, 2011 74 S K L 0

Ngày đăng: 25/09/2023, 08:44

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

Tài liệu liên quan