Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 108 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
108
Dung lượng
2,56 MB
Nội dung
LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng Các kết nêu luận văn trung thực chƣa đƣợc công bố công trình nghiên cứu khác Tôi xin cam đoan rằng, thông tin trích dẫn luận văn đƣợc rõ nguồn gốc Hải Phòng, ngày 11 tháng 03 năm 2016 i LỜI CẢM ƠN Để thực hiên đƣợc đề tài này, tác giả xin chân thành cảm ơn Thầy Nguyễn Trọng Đức tận tình hƣớng dẫn, bảo, kinh nghiệm quý báu nhƣ hỗ trợ phƣơng tiện vật tƣ suốt trình tìm hiểu, nghiên cứu đề tài Đồng thời tác giả xin cảm ơn thầy cô Viện đào tạo sau đại học – Trƣờng Đại học Hằng Hải Việt Nam tạo điều kiện thuận lợi, cung cấp sở vật chất tốt suốt trình học tậm nghiên cứu khoa học Tác giả xin gửi lời cảm ơn đến thầy cô Khoa Công nghệ thông tin – Trƣờng Đại học Hằng Hải tạo điều kiện, cung cấp kiến thức cần thiết để tác giả có điều kiện đủ kiến thức để thực trình nghiên cứu Ngoài ra, tác giả xin cám ơn thành viên lớp, đồng nghiệp công ty có ý kiến đóng góp, bổ sung, giúp nhóm hoàn thành tốt đề tài! ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CHỮ VIẾT TẮT VÁ KÝ HIỆU vi DANH MỤC BẢNG vii DANH MỤC HÌNH viii MỞ ĐẦU CHƢƠNG 1: TỔNG QUAN .4 CHƢƠNG 2: HỆ THỐNG ĐỊNH VỊ VÀ ỨNG DỤNG GIÁM SÁT, QUẢN LÝ PHƢƠNG TIỆN GIAO THÔNG 10 2.1 Hệ thống định vị toàn cầu GPS 10 2.2 Nguyên lý định vị vệ tinh GPS 12 2.3 Giao thức dành cho máy thu GPS .16 2.3.1 Giới thiệu chuẩn NMEA 16 2.3.2 Ghép nối phần Cứng theo chuẩn NMEA 17 2.3.3 Các đoạn mã theo chuẩn NMEA 18 2.3.4 Giải mã số đoạn mã xác định vị trí 20 CHƢƠNG 3: HỆ ĐIỀU HÀNH .22 3.1 Hệ điều hành UNIX .22 3.1.1 Lịch sử phát triển 22 3.1.2 Hai dòng UNIX: System V AT&T, Novell Berkeley Software Distribution (BSD) Đại học Berkeley 22 3.2 Hệ điều hành LINUX 24 3.2.1 Lịch sử phát triển 24 3.2.2 Lợi ích sử dụng Linux .26 3.2.3 Một số hạn chế tồn Linux 28 iii 3.2.4 Các phiên Linux .29 3.2.5 Hệ thống tiến trình (process) Linux .31 3.2.6 Hệ thống tập tin Linux 35 3.2.7 Kết nối mạng thông qua TCP/IP 38 CHƢƠNG 4: PYTHON RASPBERRY 43 4.1 Ngôn ngữ lập trình Python 43 4.1.1 Giới thiệu Python .43 4.1.2 Lịch sử phát triển Python 43 4.1.3 Đặc điểm Python: 45 4.1.4 Các phiên khác Python: .50 4.2 Máy tính nhúng Raspberry Pi 52 4.2.1 Giới thiệu Board Raspberry Pi 52 4.2.2 Cấu hình RPi 53 4.2.3 Ứng dụng RPi 54 4.2.4 Kết nối Raspberry Pi 55 4.2.5 Các hệ điều hành cho Raspberry Pi: .56 CHƢƠNG 5: THIẾT KẾ CHẾ TẠO THIẾT BỊ GIÁM SÁT HÀNH TRÌNH TRỰC TUYẾN 58 5.1 Thiết kế chế tạo thử nghiệm mạch điện 58 5.2 Sơ đồ khối 59 5.3 Thiết kế thiết bị 59 5.4 Lựa chọn linh kiện .62 5.5 Thiết kế chi tiết mạch điện 68 CHƢƠNG 6: XÂY DỰNG PHẦN MỀM CHO THIẾT BỊ GIÁM SÁT HÀNH TRÌNH 69 6.1 Phần mềm GPSD 69 6.2 Giao thức kết nối thiết bị với máy chủ 70 6.3 Xây dựng sở liệu SQLite 71 iv 6.4 Xây dựng module chƣơng trình 72 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO .79 PHỤ LỤC 1: SƠ ĐỒ MẠCH ĐIỆN 80 PHỤ LỤC 2: DANH SÁCH LINH KIỆN .84 PHỤ LỤC 3: HÌNH ẢNH KẾT QUẢ THỰC TẾ 85 PHỤ LỤC 4: CẤU HÌNH SERVER VÀ RASPBERRY 90 v DANH MỤC CHỮ VIẾT TẮT VÁ KÝ HIỆU Chữ viết tắt Giải thích GPRS General Packet Radio Service GPS Global Positioning System GLONASS Russian GLOlal NAVigation Satellite System GNSS Global Navigation Satellite System GCC Ground-based Control Complex GGSN Gateway GPRS Support Node MT Mobile Terminal SMS Short Message Service TE Terminal Equipment RMC Recommended Minimum data for gps vi DANH MỤC BẢNG Bảng - Các phiên hệ điều hành Linux 30 Bảng - Một số lệnh thao tác với thƣ mục tập tin Linux 38 Bảng - Hệ thống từ khóa Python 45 Bảng - Các phiên Raspberry Pi 54 Bảng - Thông số kỹ thuật module GPS L70 63 Bảng - Dữ liệu tin hành trình 71 Bảng - Dữ liệu tin tốc độ 71 Bảng - Cấu trúc sở liệu PITRACKER 72 Bảng - Module ADC 73 Bảng 10 - Module SQLiteDB 73 Bảng 11 - Module kết nối truyền liệu 74 Bảng 12 - Module đọc liệu GPS từ GPSD 76 Bảng 13 - Module phần mềm cho thiết bị 77 vii DANH MỤC HÌNH Hình - Số liệu tai nạn giao thông 2014-2015 Hình - Tỷ lệ vụ tai nạn giao thông Hình - Mô hình hoạt động Hình - Cấu trúc hệ thống định vị vệ tinh GPS 10 Hình - Hệ GPS hệ tọa độ địa tâm 13 Hình - Cách định vị GPS không gian 15 Hình - Các phiên Unix 24 Hình - Cây thƣ mục Linux 35 Hình - Board Raspberry Pi 52 Hình 10 - Những thông số sơ lƣợc Raspberry Pi B v2 53 Hình 11 - Raspberry Pi thiết bị kết nối với 55 Hình 12 - Sơ đồ chân GPIO board RPi 56 Hình 13 - Sơ đồ khối 59 Hình 14 - Cấu trúc Chip GPS 60 Hình 15 - Sơ đồ khối module GPS L70 64 Hình 16 - Sơ đồ khối IC GL850G 65 Hình 17 - Sơ đồ khối IC MCP300x 66 Hình 18 - Sơ đồ nguyên lý mạch đo tín hiệu tƣơng tự 80 Hình 19 - Sơ đồ nguyên lý mạch thu thập tín hiệu số 80 Hình 20 - Sơ đồ nguyên lý mạch USB Hub 81 Hình 21 - Sơ đồ nguyên lý mạch thu tín hiệu GPS 81 Hình 22 - Sơ đồ nguyên lý mạch nguồn 82 Hình 23 - Sơ đồ chân Raspberry Pi 82 Hình 24 - Mạch in PCB lớp top 83 Hình 25 - Mạch in PCB lớp bottom 83 viii MỞ ĐẦU Cùng với phát triển ngành công nghiệp điện tử, năm gần hệ thống định vị dẫn đƣờng ngày đƣợc sử dụng rộng rãi giới Việt nam Và năm tới hứa hẹn tăng trƣởng với mục đích ứng dụng công nghệ để đảm bảo an toàn giao thông tuyến quốc lộ Để chủ động việc ứng dụng công nghệ này, việc nắm vững chất công nghệ khía cạnh lý thuyết thực tiễn đóng vai trò vô quan trọng Trên sở xin đề xuất triển khai đề tài luận văn thạc sĩ “NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO THIẾT BỊ ĐỊNH VỊ PHỤC VỤ QUẢN LÝ, GIÁM SÁT PHƢƠNG TIỆN GIAO THÔNG” với mục tiêu sau: Xây dựng công nghệ chế tạo thiết bị trợ giúp giám sát, quản lý phƣơng tiện giao thông đƣờng bộ, đƣờng sắt sở ứng dụng công nghệ đại nhƣ định vị vệ tinh, vi điện tử phù hợp với điều kiện Việt Nam Chế tạo sản phẩm ứng dụng công nghệ định vị chất lƣợng cao, phù hợp với tiêu chuẩn tƣơng đƣơng giới, mang tính cạnh tranh cao, có khả xuất sang nƣớc khu vực Đối tƣợng nghiên cứu phạm vi nghiên cứu gồm: Hệ điều hành Linux Ngôn ngữ lập trình Python Máy tính nhúng RaspberryPi Chip GPS thu tín hiệu tính toán tọa độ, tốc độ thời gian Các thiết bị giám sát hành trình kiểm soát tốc độ ứng dụng giao thông đƣờng đƣờng sắt Tính cấp thiết đề tài: Hiện ứng dụng công nghệ định vị đề sử dụng thiết bị nhập ngoại đƣợc định hƣớng sản xuất theo tiêu kỹ thuật cứng nhiều trƣờng hợp chƣa phù hợp với điều kiện đặc thù Việt nam, thiết bị nhập dạng nguyên khó can thiệp có nhu cầu đồng thời giá thành cao có tính không dùng đến Ngƣời sử dụng không nắm đƣợc chất nguyên lý định vị công nghệ GPS dẫn đến số trƣờng hợp sử dụng không mục tiêu đối tƣợng Quan trọng hơn, từ 06/2009 tập đoàn Bƣu viễn thông Việt Nam – VNPT thức triển khai hệ dịch vụ định vị VNPTTracking Đây dịch vụ giá trị gia tăng có tiềm phát triển lớn nhiên trình triển khai dịch vụ (đặc biệt phần thiết bị định vị) gặp số trở ngại cần giải sau: Các tính thiết bị ngày đòi hỏi đƣợc nâng cấp, dung lƣợng nhớ chƣơng trình cần nhiều hơn, IC dòng 8bits không đáp ứng đƣợc yêu cầu đề Các dòng thiết bị chủ yếu chạy mạng 2,5G – sử dụng GPRS để truyền liệu số yêu cầu truyền liệu với tốc độ cao thực đƣợc Trong trình phát triển dòng thiết bị (VNT102, VNT918, VNT918s) cần nhiều thời gian cấu trúc xử lý trung tâm khác tập lệnh, sơ đồ chân, công cụ phát triển … Khó tận dụng đƣợc module xây dựng tảng trƣớc Chính lý trên, mục tiêu nội dung đề đề tài cần thiết đáp ứng đƣợc yêu cầu đề 86 87 88 89 PHỤ LỤC 4: CẤU HÌNH SERVER VÀ RASPBERRY COMM SẺRVER a Thông số hostname: comm user: sonkt pass: *********** b Cấu hình card mạng: auto eth0 iface eth0 inet static address 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.1 broadcast 192.168.1.255 network 192.168.1.0 dns-nameservers 8.8.8.8 c Cài đặt socat sudo apt-get install socat d Cài đặt MySQL-Python 90 sudo apt-get install python-pip sudo apt-get install python-dev libmysqlclient-dev sudo pip install MySQL-python 91 MYSQL SERVER a Thông số hostname: mysql user: sonkt pass: *********** b Cấu hình card mạng: auto eth0 iface eth0 inet static address 192.168.1.30 netmask 255.255.255.0 gateway 192.168.1.1 broadcast 192.168.1.255 network 192.168.1.0 dns-nameservers 8.8.8.8 c Cài đặt MySQL sudo apt-get install mysql-server (https://help.ubuntu.com/lts/serverguide/mysql.html) d Cấu hình MySQL 92 user: root pass: 1234@qaz cd /etc/mysql/ sudo nano my.cnf Thay đổi: “bind-address = 127.0.0.1” thành “bind-address = 0.0.0.0” sudo service mysql restart mysql -u root -p mysql> use mysql mysql> GRANT ALL ON *.* to root@'192.168.1.20' IDENTIFIED BY '1234@qaz'; mysql> FLUSH PRIVILEGES; (http://www.thegeekstuff.com/2010/08/allow-mysql-client-connection/) 93 AMQP SERVER a Thông số hostname: amqp user: sonkt pass: *********** b Cấu hình card mạng: auto eth0 iface eth0 inet static address 192.168.1.40 netmask 255.255.255.0 gateway 192.168.1.1 broadcast 192.168.1.255 network 192.168.1.0 dns-nameservers 8.8.8.8 c Cài đặt Rabbitmq # install erlang sudo apt-get install erlang -y sudo apt-get install erlang-nox -y # get deb package echo deb http://www.rabbitmq.com/debian/ testing main | sudo tee /etc/apt/sources.list 94 # add key wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc sudo apt-key add rabbitmq-signing-key-public.asc # install server sudo apt-get update sudo apt-get install rabbitmq-server -y sudo service rabbitmq-server start sudo service rabbitmq-server status sudo rabbitmq-plugins enable rabbitmq_management sudo rabbitmqctl add_user admin 1234@qaz sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" sudo rabbitmqctl delete_user guest sudo service rabbitmq-server restart # add rule, restart service sudo iptables -A INPUT -p tcp dport 15672 -m state state NEW,ESTABLISHED j ACCEPT sudo service ufw restart # verify port is listening netstat -tulpn tcp 0 0.0.0.0:15672 0.0.0.0:* LISTEN - (http://jessesnet.com/development-notes/2014/ubuntu-rabbitmq-install/) 95 TRACKER – RASPBERRY PI a Thông số hostname: raspberry user: pi pass: raspberry b Cấu hình card mạng: auto eth0 iface eth0 inet static address 192.168.2.66 netmask 255.255.255.0 gateway 192.168.2.1 nameservers 8.8.8.8 c Cập nhật phần mềm: sudo apt-get upgrade sudo apt-get update d Cài đặt phần mềm cần thiết: #Cài đặt pip sudo apt-get install python-pip 96 #Cài đặt pycrypto sudo apt-get install python-crypto #Kiểm tra cổng usb lsusb udevadm info -q path -n /dev/ttyXXX dmesg | grep ttyXXX #Cấu hình cổng usb sudo nano /etc/udev/rules.d/usb2com.rules SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="1-1.2.1:1.0", SYMLINK+="usb2com_3g1" SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="1-1.2.1:1.1", SYMLINK+="usb2com_3g2" SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="1-1.2.1:1.2", SYMLINK+="usb2com_3g3" SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="1-1.2.2:1.0", SYMLINK+="usb2com_gps" SUBSYSTEM=="tty", KERNEL=="ttyUSB*", KERNELS=="1-1.2.2:1.1", SYMLINK+="usb2com_extra" #Cài đặt gpsd sudo apt-get install gpsd gpsd-clients python-gps #Cấu hình gpsd sudo nano /etc/default/gpsd # Default settings for gpsd # Please not edit this file directly - use `dpkg-reconfigure gpsd' to 97 # change the options START_DAEMON="true" GPSD_OPTIONS="-b" DEVICES="/dev/usb2com_gps" USBAUTO="false" GPSD_SOCKET="/var/run/gpsd.sock" #Kiểm tra gpsd cgps –s #Cài đặt wvdial sudo apt-get install wvdial #Cấu hình wvdial sudoedit /etc/wvdial.conf [Dialer Defaults] New PPPD = yes Dial Command = ATDT Dial Attempts = Modem = /dev/usb2com_3g1 Modem Type = Analog Modem ISDN = Baud = 460800 Username = "mms" Password = "mms" Init1 = ATH Init2 = AT+CGDCONT=1,"IP","m3-world" Phone = *99# Stupid Mode = Check Def Route = yes Auto Reconnect = yes 98 [Dialer vinafone] Init2 = AT+CGDCONT=1,"IP","m3-world" [Dialer mobifone] Init2 = AT+CGDCONT=1,"IP","m-wap" [Dialer viettel] Init2 = AT+CGDCONT=1,"IP","v-internet" #Cài đặt card mạng cho wvdial sudo nano /etc/network/interfaces # start 3G connection auto ppp0 iface ppp0 inet wvdial provider vinafone #Tạo file kiểm tra kết nối 3G nano check-wan-status.sh #!/bin/sh # # Restart network interfaces # if ppp0 3G connection is down PING="/bin/ping -q -c1 -W 10 -I ppp0" HOST=8.8.8.8 ${PING} ${HOST} if [ $? -ne ]; then echo "3G (ppp0) network connection is down! Attempting reconnection." 99 /sbin/ifdown force ppp0 sleep 10 /sbin/ifup force ppp0 sleep 10 fi #Thêm quyền thực thi cho file check-wan-status.sh sudo chmod +x check-wan-status.sh #Đặt lịch tự động kiểm tra phút lần sudo crontab –e */2 * * * * /home/pi/check-wan-status.sh #Add route sudo nano /etc/ppp/peers/wvdial noauth name wvdial usepeerdns defaultroute replacedefaultroute 100 ... sĩ “NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO THIẾT BỊ ĐỊNH VỊ PHỤC VỤ QUẢN LÝ, GIÁM SÁT PHƢƠNG TIỆN GIAO THÔNG” với mục tiêu sau: Xây dựng công nghệ chế tạo thiết bị trợ giúp giám sát, quản lý phƣơng tiện. .. CHƢƠNG 5: THIẾT KẾ CHẾ TẠO THIẾT BỊ GIÁM SÁT HÀNH TRÌNH TRỰC TUYẾN 58 5.1 Thiết kế chế tạo thử nghiệm mạch điện 58 5.2 Sơ đồ khối 59 5.3 Thiết kế thiết bị ... 2: HỆ THỐNG ĐỊNH VỊ VÀ ỨNG DỤNG GIÁM SÁT, QUẢN LÝ PHƢƠNG TIỆN GIAO THÔNG 10 2.1 Hệ thống định vị toàn cầu GPS 10 2.2 Nguyên lý định vị vệ tinh GPS 12 2.3 Giao thức dành