Tên đề tài: THIẾT KẾ XE ĐIỀU KHIỂN TỪ XA CÓ LIVE STREAM CAMERA GVHD TUẦN 1 Gặp GVHD nhận đề tài TUẦN 2 Viết đề cương chi tiết TUẦN 3 Tìm hiểu các đề tài đã nghiên cứu lien quan đến đ
Trang 1Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01
I TÊN ĐỀ TÀI: THIẾT KẾ XE ĐIỀU KHIỂN TỪ XA CÓ LIVE STREAM
CAMERA
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Nguyễn Đình Phú, Giáo trình kỹ thuật số, Trường ĐH Sư Phạm Kỹ Thuật, 2014
- Nguyễn Ngọc 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, Trường ĐH Sư Phạm Kỹ Thuật, 2011
- Nguyễn Mạnh Tiến, Điều khiển robot công nghiệp, Trường ĐH Bách Khoa
Hà Nội, 2007
- Võ Minh Huân, Phạm Quang Huy, Lập trình điều khiển với Rasberry, Nhà xuất
bản Thanh Niên
2 Nội dung thực hiện:
- Điều khiển xe robot chạy tiến ,lùi ,trái và phải
- Sử dụng camera để truyền hình ảnh trực tiếp
- Viết chương trình điều khiển cho kit raspberry pi 3
- Thiết lập web server và thực hiện truyền dữ liệu
- Thi công mô hình xe robot
- Sản phẩm cuối cùng và chạy thực tế
III NGÀY GIAO NHIỆM VỤ: 06/04/2018
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 06/07/2018
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Nguyễn Thị Lưỡng
Trang 2Tên đề tài: THIẾT KẾ XE ĐIỀU KHIỂN TỪ XA CÓ LIVE STREAM CAMERA
GVHD
TUẦN 1 Gặp GVHD nhận đề tài
TUẦN 2 Viết đề cương chi tiết
TUẦN 3 Tìm hiểu các đề tài đã nghiên cứu lien quan đến điều khiển tự động
TUẦN 4 Gặp GVHD để báo cáo về hướng thực hiện đề tài
TUẦN 5 Tìm hiểu về Rasberry, camera, động cơ servo, module điều khiển động cơ
TUẦN 6 Lập trình giao tiếp Rasberry với camera và điều khiển động cơ
TUẦN 7 Tìm hiểu về web server và các giao thức truyền dữ liệu
TUẦN 8 Truyền hình ảnh trực tiếp từ camera lên web server
TUẦN 9 Điều khiển xe tiến lùi trái phải từ web server
TUẦN 10 Hoàn thành mô hình, cân chỉnh hệ thống
TUẦN 11 Viết báo cáo đồ án
TUẦN 12 Chỉnh sửa và hoàn thiện báo cáo
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
Trang 3LỜI CAM ĐOAN
Đề tài này là do tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
SVTH2: HÀ ĐĂNG LỘC
Trang 4
LỜI CẢM ƠN
Sau khi hoàn thành luận văn, nhóm em xin chân thành cảm ơn đến:
Cô Nguyễn Thị Lưỡng, người đã tận tình giúp đỡ và luôn quan tâm chúng em
trong suốt quá trình thực hiện luận văn Cô luôn tạo mọi điều kiện và thể hiện sự quan tâm đến nhóm chúng em Một lần nữa chúng em xin chân thành cảm ơn cô
Chúng em xin chân thành gửi lời cảm ơn đến tất cả quý thầy cô trong khoa Điện - Điện tử, những người đã truyền đạt cho chúng em những kiến thức vô cùng quý báu làm
hành trang vững chắc cho chúng em bước vào đời Và cũng cảm ơn trường đã tạo cho chúng em một môi trường học tập thật tốt trong suốt thời gian qua
Cuối cùng chúng em xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên và giúp đỡ chúng em trong thời gian thực hiên luận văn này
Do hạn chế về thời gian và kinh nghiệm nên chắc chắn rằng luận văn này không tránh khỏi những sai sót nhất định Em rất mong được sự góp ý và hướng dẫn thêm ttừ quý thầy cô
Một lần nữa chúng em xin chân thành cảm ơn !
Tp Hồ Chí Minh,ngày 3 tháng 7 năm 2018
Sinh viên Sinh viên
Trang 5MỤC LỤC
Trang bìa ……… i
Nhiệm vụ đồ án………ii
Lịch trình ……… iii
Cam đoan ……… iv
Lời cảm ơn ……… v
Mục lục ……… vi
Liệt kê hình vẽ…….……… … viii
Liệt kê bảng vẽ ……… x
Tóm tắt ……….….xi
CHƯƠNG 1 TỔNG QUAN……….……… 1
1.1 ĐẶT VẤN ĐỀ……….1
1.2 MỤC TIÊU……… 2
1.4 GIỚI HẠN………….……… 2
1.5 BỐ CỤC………… ……… 4
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT……… 4
2.1 TỔNG QUAN VỀ XE ĐIỀU KHIỂN LIVE STREAM CAMERA……… 4
2.1.1 Giới thiệu sơ lược về điều khiển từ xa……….……….4
2.1.2 Giới thiệu và stream video lên trang web……….4
2.1.3 Định nghĩa……….5
2.1.4 Ưu điểm ….……… ………….5
2.2 GIỚI THIỆU PHẦN CỨNG……… 6
2.2.1 Giới thiệu Raspberry Pi ……… 6
2.2.2 Module camera ……… 10
2.2.3 Module điều khiển động cơ L298……… ……… 11
2.2.4 Động cơ servo SG90……… 11
2.2.5 Usb Tp-Link Tl-Wn725n……… 12
2.2.6 Động cơ giảm tốc DC……….… … 13
CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ……… ……15
3.1 GIỚI THIỆU ……… 15
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG ……… 15
3.2.1 Thiết kế sơ đồ khối hệ thống ……….15
3.2.2 Tính toán và thiết kế mạch……… ……16
3.2.3 Sơ đồ nguyên lý của toàn mạch……… ………19
CHƯƠNG 4 THI CÔNG HỆ THỐNG……….20
4.1 GIỚI THIỆU……… 20
4.2 THI CÔNG HỆ THỐNG……… 20
Trang 6a Giao thức RTSP……… ……….……….… 22
b Giao thức RTP……… ……….……….……… 25
c Giao thức RTMP - Real Time Messaging Protocol……….……….….……27
d FFMPEG - Phầm mềm xử lý audio, video hiệu quả ……….……… … 29
4.2.3 Thiết lập web server và thực hiện truyền dữ liệu……….……….31
4.2.4 Thi công phần cứng của xe robot……….…………32
4.2.5 Giao diện web server nhúng hình ảnh camera……….……… 33
4.3 LẬP TRÌNH HỆ THỐNG……… ………….….34
4.3.1 Lưu đồ giải thật điều khiển động cơ servo……… ….34
4.3.2 Lưu đồ giải thật điều khiển động cơ DC……….…… 35
4.4 HƯỚNG DẪN SỬ DỤNG, THAO TÁC……… … 37
4.4.1 Các bước để tạo một web server cho phép streaming dùng Pi-Camera…….….35
4.4.2 Cài đặt và điều khiển trên mạng Wan……….…… 40
a Kết nối với Website trung gian……… …40
b.Cài đặt phần mềm cho Raspberry Pi……….…… ……41
c.Cách kết nối Raspberry với remot3.it……….… … …42
CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ……….……… 46
5.1 KẾT QUẢ……….… …46
5.2 NHẬN XÉT VÀ ĐÁNH GIÁ……… …46
5.2.1 Khoảng cách……… 46
5.2.2 Tốc độ mạng ……… ….49
5.2.3 Frame per second……… … 52
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN……… 56
6.1 KẾT LUẬN ……… …56
6.2 HƯỚNG PHÁT TRIỂN……… 56
TÀI LIỆU THAM KHẢO………
PHU LỤC
Trang 7LIỆT KÊ HÌNH VẼ
Hình Trang
Hình 2.1 Hình ảnh điều khiển từ xa xe robot live stream camera 5
Hình 2.2 Raspberry Pi Mode B 6
Hình 2.3 Cấu tạo của Raspberry Pi 8
Hình 2.4 Module Camera 10
Hình 2.5 Module mạch cầu H L298 10
Hình 2.6 Động cơ SG90 11
Hình 2.7 Usb tp-link tl-wn725n 12
Hình 2.8 Động cơ giảm tốc DC 13
Hình 3.1 Sơ khối của hệ thống 14
Hình 3.2 Camera kết nối Rasberry qua cáp ribbon 15
Hình 3.3 Khối điều khiển kết nối với động cơ 16
Hình 3.4 Động cơ servo SG90 16
Hình 3.5 Động cơ giảm tốc DC 17
Hình 3.6 Khối xử lý trung tâm 17
Hình 3.7 Web server giao tiếp với kit qua Usb Wifi 18
Hình 3.8 Sạc dự phòng cấp nguồn cho kit raspberry pi 3 18
Hình 3.9 Nguồn cấp cho khối điều khiển module L298N 19
Hình 3.10 Sơ đồ nguyên lý toàn mạch 19
Hình 4.1 Streaming Video 21
Hình 4.2 OPTIONS Request 22
Hình 4.3 DESCRIBE Request 23
Hình 4.4 SETUP Request 24
Hình 4.5 PLAY Request 24
Hình 4.6 PAUSE Request 25
Hình 4.7 TEARDOWN Request 25
Hình 4.8 Header của RTP Packet 26
Hình 4.9 Giao thức RTMP - Real Time Messaging Protocol 28
Hình 4.10 Tổng hợp các máy chủ trên thế giới 31
Hình 4.11 Giao diện tạo nút nhấn điều khiển 32
Hình 4.12 Kết quả phần cứng xe 32
Hình 4.13 Kết quả streaming video và điều khiển qua Web 33
Hình 4.14 Sơ đồ giải thuật điều khiển servo 34
Hình 4.15 Lưu đồ giải thuật điều khiển động cơ DC 35
Trang 8Hình 4.18 Giao diện Putty 42
Hình 4.19 Địa chỉ hostname và port thông qua SSH 43
Hình 4.20 Hostname và port khi kết nối VNC 43
Hình 4.21 Giao diện phần mềm TightVNC 44
Hình 4.22 Giao diện nhập mật khẩu kết nối 44
Hình 4.23 Giao diện Raspberry sau khi đã kết nối 45
Hình 5.1 Ảnh hưởng khoảng cách đến quá trình stream video 47
Hình 5.2 Ảnh hưởng tốc độ mạng đến quá trình stream video 50
Hình 5.3 Ảnh hưởng Frame per second đến quá trình stream video 53
Trang 9LIỆT KÊ BẢNG
Bảng Trang
Bảng 2.1: Tổng quan về thông số của Raspberry Pi 8
Bảng 2.2: Trạng thái của Led khi kit hoạt động ……… .9
Bảng 2.3: Thông số kĩ thuật usb tp-link tl-725n ……… 12
Bảng 4.1: So sánh giữa hai giao thức HTTP với RTMP ……… 29
Bảng 5.1 Ảnh hưởng khoảng cách đến quá trình stream video ……… 48
Bảng 5.2 Ảnh hưởng khoảng cách đến quá trình điều khiển robot ……… 48
Bảng 5.3 Ảnh hưởng tốc độ mạng đến quá trình stream video ……….………… … 51
Bảng 5.4 Ảnh hưởng tốc độ mạng đến quá trình điều khiển robot ……… …… 51
Bảng 5.5 Ảnh hưởng fps đến quá trình stream video ……… 54
Bảng 5.6 Ảnh hưởng fps đến quá trình điều khiển robot ……… 54
Trang 10TÓM TẮT
Với sự cách mạng của nền công nghiệp 4.0, thế giới đã gần như không còn khoảng cách Chỉ cần một nút nhấn, mọi thiết bị có thể được điều khiển ở bất cứ đâu Để bắt kịp xu hướng đó, nhóm sinh viên quyết định thực hiện đề tài “Điều khiển xe từ xa có live stream camera”
Đề tài trình bày về lý thuyết của Raspberry Pi và một ứng dụng rất phổ biến trong cộng đồng từ Raspberry Pi Một ứng dụng có thể thay thế con người vào được những nơi nguy hiểm đến tính mạng
Nguyên lý hoạt động cụ thể:
Raspberry Pi sẽ nhận lệnh từ người điều khiển thông qua webserver để thực hiện lệnh rồi truyền lệnh để điều khiển động cơ
Camera sẽ nhận lệnh stream và phản hồi lại Raspberry
Pi rồi truyền lên webserver để cho người điều khiển biết thông tin hoạt động
hình xe hoàn chỉnh, điều khiển tiến, lùi, trái, phải ổn đinh và mượt mà, đồng thời, chất lượng hình ảnh truyền từ xe lên trình duyệt web rõ nét và có
độ trễ thấp Qua đó, nhóm sẽ phát triển đề tài và đưa sản phẩm vào thực tiễn nhằm phục vụ đời sống nâng cao của con người
Trang 11Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Thời gian qua chúng ta thường hay nghe nhắc đến nền công nghiệp 4.0 còn gọi là công nghiệp lần thứ tư Đó là sự tiến bộ công nghệ tạo ra sự kết nối thế giới thực, thế giới số và thế giới sinh vật hữu cơ tạo ra những công cụ sản xuất giữa thực
và ảo Những thành phần điển hình của nền công nghiệp 4.0 bao gồm sự xuất hiện của Internet vạn vật (IoT), thành phố thông minh, trí tuệ nhân tạo, xe tự lái, robot, máy in 3D, vật liệu mới, công nghệ nano cùng đột phá về nhận thức trong quy trình sinh học
Nói về IoT hay còn có tên đầy đủ là “Internet of Things” dịch nôm na là “Vạn vật kết nối Internet” Nó là một hệ thống với mọi thiết bị liên quan đến nhau, mọi vật được kết nối với nhau qua một giao thức chung đó là mạng truyền thông hay Internet Hiểu một cách đơn giản, bạn chỉ cần một thiết bị kết nối mạng là có thể điều khiển được nó mà bất cứ bạn đang ở bất kì đâu Điều khiển thiết bị từ xa với IoT thật đơn giản khi bây giờ bạn chỉ cần kết nối internet cho thiết bị mình cần điều khiển phải không nào?
Dựa vào các ứng dụng thực tiễn của điều khiển từ xa ta có thể chia làm 2 dạng: Điều khiển từ xa vô tuyến và điều khiển từ xa hữu tuyến
Điều khiển từ xa vô tuyến:
Có thể điều khiển từ xa bằng tia sáng hồng ngoại hay sóng siêu âm Môi trường truyền là không khí Với tia hồng ngoại ta chỉ có thể điều khiển các thiết bị ở khoảng cách gần Vì vậy nó được ứng dụng nhiều cho các thiết bị dân dụng
Điều khiển từ xa hữu tuyến:
Với dạng điều khiển này ta lợi dụng vào đường truyền của internet để điều khiển các thiết bị từ xa
Đối với hệ thống điều khiển xa bằng mạng không dây thì giới hạn về khoảng cách là yếu điểm của kỹ thuật này, ngược lại với mạng internet đã được mở rộng với
Trang 12quy mô toàn thế giới thì giới hạn xa không phụ thuộc vào khoảng cách đã mở ra một lối thoát mới trong lĩnh vực tự động điều khiển
Hiện nay, do nhu cầu trao đổi thông tin của người dân ngày càng tăng đồng thời việc gắn các thiết bị internet ngày càng phổ biến rộng rãi, do đó việc sử dụng mạng internet để truyền tín hiệu điều khiển là phương thức thuận tiện nhất, tiết kiệm nhiều thời gian cho công việc, vừa đảm bảo các tính năng an toàn cho các thiết bị điện gia dụng vừa tiết kiệm được chi phí sử dụng và đảm bảo an toàn cho tính mạng và tài sản của mỗi người dân
1.2 MỤC TIÊU
Đề tài có những mục tiêu chính như sau :
- Thiết kế sản phẩm hoàn chỉnh gồm xe điều khiển từ xa, gắn camera live stream qua web server sử dụng Raspberry Pi, dùng Wifi
- Viết chương trình điều khiển cho kit Raspberry Pi, thiết lập web server và thực hiện truyền dữ liệu
1.3 NỘi DUNG NGHIÊN CỨU
NỘI DUNG 1: Thu thập dữ liệu quy trình thiết kế một hệ thống điều khiển xe có live stream camera
NỘI DUNG 2: Các giải pháp thiết kế hệ thống, mô hình điều khiển xe với chức năng live stream
NỘI DUNG 3: Lựa chọn các thiết bị trong việc thiết kế mô hình điều khiển xe live stream camera
NỘI DUNG 4: Viết chương trình và thiết kế hệ thống điều khiển
NỘI DUNG 5: Thiết kế mô hình
NỘI DUNG 6: Đánh giá kết quả thực hiện
Trang 13 Chất lượng video live stream chỉ nhìn rõ trong môi trường ánh sáng đầy đủ
Tính bảo mật chưa cao (Các thành viên truy cập cùng một mạng đều điều khiển được khi biết IP của Raspberry Pi)
1.5 BỐ CỤC
Nội dung đề tài gồm các phần sau:
Chương 1: Tổng quan
Đặt vấn đề
Mục tiêu của đề tài
Nhiệm vụ của đề tài
Giới hạn
Chương 2: Cơ sở lý thuyết
Giới thiệu hệ điều hành Raspberry Pi
Giới thiệu Board mạch Raspberry Pi
Giới thiệu mạch công suất L298N
Giới thiệu về module camera
Chương 3: Tính toán và thiết kế
Trang 14Chương 2 CƠ SỞ LÝ THUYẾT
2.1.1 Giới thiệu sơ lược về điều khiển từ xa
Dựa vào các ứng dụng thực tiễn của điều khiển từ xa, ta có thể chia làm 2 dạng: Điều khiển từ xa vô tuyến và điều khiển từ xa hữu tuyến
Điều khiển từ xa hữu tuyến:
Có thể điều khiển từ xa bằng tia sáng hồng ngoại hay sóng siêu âm Môi trường truyền là không khí Với tia hồng ngoại ta chỉ có thể điều khiển các thiết bị ở khoảng cách gần Vì vậy, nó được ứng dụng nhiều cho các thiết bị dân dụng
Điều khiển từ xa hữu tuyến:
Đối với hệ thống điều khiển xa bằng mạng không dây thì giới hạn về khoảng cách là yếu điểm của kỹ thuật này, ngược lại với mạng internet đã được mở rộng với quy mô toàn thế giới thì giới hạn xa không phụ thuộc vào khoảng cách đã mở ra một lối thoát mới trong lĩnh vực tự động điều khiển
Hiện nay, do nhu cầu trao đổi thông tin của người dân ngày càng tang, đồng thời việc gắn các thiết bị internet ngày càng phổ biến rộng rãi, do đó việc sử dụng mạng internet để truyền tín hiệu điều khiển là phương thức thuận tiện nhất, tiết kiệm nhiều thời gian cho công việc, vừa đảm bảo các tính năng an toàn cho các thiết bị điện gia dụng vừa tiết kiệm được chi phí sử dụng và đảm bảo an toàn cho tính mạng
và tài sản của mỗi người dân
2.1.2 Giới thiệu và stream video lên trang web
Streaming video là một kỹ thuật được sử dụng khá phổ biến trong các ứng dụng mạng Rất nhiều các địa chỉ ứng dụng rộng rãi trong thực tế như: các phần mềm (media player, web browser, ) trên các máy khách truy cập và xem video từ các máy chủ theo mô hình server/client; các ứng dụng hội họp trực tuyến, đào tạo từ xa; giám sát, điều khiển từ xa qua hình ảnh thời gian thực, v.v Trong đó có nhiều ứng dụng sử dụng hệ thống nhúng triển khai kỹ thuật này
Streaming video sử dụng cách thức phát lại các đoạn video được lưu trữ trên các máy tính trên mạng tới người dùng đầu cuối muốn xem đoạn video mà không cần tải đoạn video đó về trên máy tính Về bản chất, streaming video là quá trình
Trang 15chia nhỏ file video thành các frame, rồi lần lượt gửi từng frame tới một bộ đệm trên máy tính của người xem và hiển thị nội dung frame đó Và quá trình này tuân thủ chặt chẽ về ràng buộc theo thời gian, nói khác là tuân thủ chặt chẽ theo giao thức RTSP, RTP và RTCP Với đặc tính như vậy thì streaming video là kỹ thuật cũng khá phức tạp để triển khai Nhưng với những lợi ích mà kỹ thuật streaming video đem lại, chúng ta hoàn toàn có thể triển khai được kỹ thuật này trên thực tế
2.1.3 Định nghĩa
Điều khiển xe robot từ xa có live stream camera với camera được tích hợp vào
xe sẽ truyền hình ảnh trực tiếp lên hệ thống mạng internet Từ hệ thống mạng internet xem được hình ảnh trực tiếp từ xe robot truyền lên đồng thời có thể điều khiển xe di chuyển qua động cơ DC được gắn trên xe trong phạm vi nhất định Một xe robot điều khiển từ xa có live stream camera gồm các tính năng:
Xe có thể chay tới, lui, quay trái, quay phải, dừng
Điều khiển được camera quay trái, quay phải
Trang 16Raspberry Pi được bắt đầu phát triển từ năm 2006, phiên bản đầu tiên dựa trên
vi điều khiển AVR Atmel ATmega644 Ngày 16 tháng 6 năm 2012, những chiếc Raspberry Pi đầu tiên được gửi đến tay người nhận Đến ngày 22/5 hơn 20.000 chiếc
đã được bán ra Ngày 16/7/2012, Quỹ Raspberry Pi thông báo có 4000 sản phẩm được phân phối mỗi ngày và bắt đầu cho phép người dùng mua “máy tính nhỏ” này với số lượng lớn Trong vòng 3 năm kể từ khi được bán ra, đã có hơn 5 triệu chiếc
Pi đã được bán ra thị trường (theo số liệu thống kê của trang chủ Raspberry Pi) Vậy điều gì làm nên thành công ngoài sức tưởng tượng của Raspberry Pi ?
Trang 17Raspberry Pi có mức giá quá hấp dẫn: chỉ từ 25$ cho một chiếc bo mạch có thể làm hầu như mọi ứng dụng hằng ngày như lướt web, lập trình, xem phim HD đến những ý tưởng mà bạn không ngờ đến như điều khiển robot, nhà thông minh, Một điều quan trọng là nó tiết kiệm điện và khả năng chạy liên tục 24/24
Raspberry Pi chạy hệ điều hành Linux: 99% những thứ mà bạn có thể làm trên máy tính đều có thể làm trên Window và quan trọng là tất cả đều miễn phí
Raspberry Pi có kích thước tí hon: chỉ tương đương như một chiếc thẻ ATM và nặng chưa đầy 50 gram Gắn với chiếc tivi bạn có thể biến nó thành một thiết bị giải trí thông minh trong phòng khách Gắn với màn hình và bàn phím, chuột bạn có thể biến nó thành một chiếc máy tính đúng nghĩa Nhỏ gọn và tiện lợi
Cộng đồng Raspberry Pi phát triển rất nhanh trên thế giới: Hầu hết những thắc mắc của bạn đều được giải đáp rất nhanh va còn hơn thế nữa: bạn có thể tìm thấy hàng ngàn dự án đã thực hiện và vố số ý tưởng độc đáo Với những ưu điểm độc đáo trên, Raspberry đã vượt khỏi biên giới vủa trường học và trở thành thiết bị ưa thích của rất nhiều người đam mê điện tử và lập trình Sự thành công của nó đã mở
đã một bước phát triển mới cho tin học: đem máy tính và cảm hứng lập trình đến gần mọi người hơn bao giờ hết
Raspbery Pi sử dụng chip Broadcom BCM2835 SoC (System on Chip) có chứa
bộ xử lý ARM1176JZF-S 700 Mhz (có thể ép xung lên 1Ghz), GPU Video Core IV,
và bộ nhớ RAM 256 sau nâng cấp lên 512MB Nó không có ổ cứng hay SSD đi kèm mà sử dụng thẻ SD để lưu trữ dữ và khởi động hệ điều hành
Raspbery Pi sử dụng chip Broadcom BCM2835 SoC (System on Chip) có chứa bộ xử lý ARM1176JZF-S 700 Mhz (có thể ép xung lên 1Ghz), GPU Video Core IV, và bộ nhớ RAM 256 sau nâng cấp lên 512MB Nó không có ổ cứng hay SSD đi kèm mà sử dụng thẻ SD để lưu trữ dữ và khởi động hệ điều hành
Trang 182 Phần cứng
Bảng 2.1 Tổng quan về thông số của Raspberry Pi
Hình 2.3 Cấu tạo của Raspberry Pi
Video outputs Composite RCA hoặc HDMI
Audio outputs 3.5 mm jack , HDMI
Lưu trữ SD/MMC/SDIO Card Slot
Hệ điều hành Debian GNU/Linux, Raspian OS, Arch Linux
ARM, RIC OS, Free BSD, Plan 9…
Trang 19- CPU: “Trái tim “ của Raspberry Pi Chip của Raspberry Pi là 32 bit, 700 Mhz
System on Chip, được xây dựng trên kiến trúc ARM11 Model B có 512MB RAM
- SD Card Slot: Raspberry không có ổ cứng Vì thế mọi thứ đều được lưu trữ trên SD
Card từ hệ điều hành đến dữ liệu
- Cổng USB: Model B có 2 cổng USB 2.0, có thể sử dụng để cắm các thiết bị ngoại vi
như bàn phím, con chuột
- Cổng Ethernet: Model B có cổng Ethernet chuẩn RJ45
- Cổng HDMI: Cổng HDMI cung cấp âm thanh và video số Có 14 chuẩn video khác
nhau được hỗ trợ, và tín hiệu HDMI có thể chuyển đổi về DVI (Digital Video Interface – Cổng truyền trực tiếp từ video số tới màn hình), cáp Composite (là loại 3 đầu dây ra 2 cho âm thanh và 1 cho hình ảnh) hoặc SCART (chuẩn giao tiếp châu Âu) với bộ chuyển đổi bên ngoài
Bảng 2.2 Trạng thái của kit khi hoạt động
- Ngõ ra Audio analog: thiết kế cắm giắc audio chuẩn 3.5mm, hướng tới lái tải có trở
kháng cao, tuy nhiên chất lượng nhõ ra kém hơn so với cổng HDMI khi bạn kết nối tới TiVi thông qua HDMI
- Ngõ ra Composite video: Cổng chuẩn loại RCA cung cấp tín hiệu video NTSC hoặc
PAL Định dạng video qua cổng này độ phân giải thấp hơn so với cổng HDMI
- Nguồn ngõ vào: Điều đầu tiên bạn nhận ra là không có cổng chuyển đổi nguồn trên
Pi Cổng micro USB chỉ được sử dụng là nguồn cho Pi
Trang 20- Kết nối raspberry thông qua cáp ribbon đi kèm dài 15cm
- Camera Module đƣợc hỗ trợ phiên bản mới nhất của Raspbian
2.2.3 Module điều khiển động cơ L298N
Hình 2.5 Module mạch cầu H L298N
Trang 21Module L298N có thể điều khiển 2 động cơ DC hoặc 1 động cơ bước, có 4 lỗ nằm ở 4 góc thuận tiện cho người sử dụng cố định vị trí của module
+ Có thể gắn tản nhiệt chống nóng cho IC, giúp IC có thể điều khiển với dòng đỉnh đạt 2A
+ IC L298N được gắn với các đi-ốt trên board giúp bảo vệ vi xử lý chống lại các dòng điện cảm ứng từ việc khởi động/ tắt động cơ
Thông số kĩ thuật:
- Driver: L298N tích hợp hai mạch cầu H
- Điện áp điều khiển: +5V ~ +12 V
- Dòng tối đa cho mỗi cầu H là: 2A
- Điện áp của tín hiệu điều khiển: +5 V ~ +7 V
- Dòng của tín hiệu điều khiển: 0 ~ 36 mA
- Công suất hao phí: 20W (khi nhiệt độ T = 75 °C)
2.2.4 Động cơ servo SG90
Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PWM) với góc quay nằm trong khoảng bất kì từ 0o - 180o Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực rất lớn (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn…
Hình 2.6 Động cơ SG90
Trang 22Bảng 2.3 Thông số kĩ thuật usb tp-link tl-725n
Chuẩn không dây IEEE 802.11b, IEEE 802.11g, IEEE 802.11n
Tốc độ tín hiệu
EIRP
11b: lên tới 11 Mbps (động) 11g: lên tới 54 Mbps (động) 11n: lên tới 150 Mbps (động)
< 20 dBm
Độ nhạy tiếp nhận
130M: -68 dBm@10% PER 108M: -68 dBm@10% PER 54M: -68 dBm@10% PER 11M: -85 dBm@10% PER 6M: -88 dBm@10% PER 1M: -90 dBm@10% PER Chế độ không dây Chế độ Ad-Hoc / Infrastructure
Bảo mật không dây Hỗ trợ các mã hóa: 64/128 WEP, WPA/WPA2,
WPA-PSK/WPA2-PSK(TKIP/AES), hỗ trợ IEEE 802.1X Công nghệ không dây BDPSK, DQPSK, CCK, OFDM, 16-QAM, 64-QAM
Trang 232.2.6 Động cơ giảm tốc DC
Động cơ giảm tốc DC đƣợc sử dụng nhiều để thiết kế các loại robot mô hình Với giá thành rẻ, dễ sử dụng và mang tính chất ƣu việt nên đƣợc ứng dụng rất nhiều
Hình 2.8 Động cơ giảm tốc DC
Thông số kỹ thuật
- Điện áp hoạt động: 3V~9V (hoạt động tố ở 6V~8V)
- Moment xoắn cực đại: 800gf cm min 1:48 (3V)
- Tốc độ không tải: 125 vòng/ 1 phút (3V) (Với bánh xe 66mm: 26m/1p)
208 vòng/ 1 phút (5V) (Với bánh xe 66mm: 44m/1p)
- Dòng không tải: 70mA (tối đa 250mA)
Trang 24CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Trong đề tài này nhóm thiết kế mô hình xe robot gồm một kit Raspberry Pi tích hợp camera, thông qua mạch cầu H điều khiển 2 động cơ giảm tốc DC, điều khiển góc quay camera thông qua động cơ RC Servo 9G
Mô h nh cần thiết kế như sau:
Hệ thống điều khiển trung tâm: sử dụng board Raspberry Pi 3
Hệ thống mạch công xuất điều khiển động cơ: sử dụng module L298N để điều khiển động cơ DC và Servo
Hệ thống xe robot: Sử dụng 2 động cơ cho 2 bánh xe và 1 khung xe
Hệ thống Web Server: Sử dụng giao diện Web để nhận hình ảnh truyền lên và điều khiển xe
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
H nh 3.1 Sơ khối của hệ thống
Mạch gồm các khối chính:
KHỐI XỬ LÝ TRUNG TÂM
KHỐI NGUỒN CAMERA
KHỐI CÔNG SUẤT WEB
SERVER
Trang 25 Khối nguồn: Cung cấp nguồn cho toàn bộ mạch hoạt động
Web Server: Nhận hình ảnh truyền lên và gởi tín hiệu điều khiển động cơ về khối xử lý trung tâm
Khối xử lý trung tâm: nhận tín hiệu từ Web Server từ ngõ vào để xử lý tín hiệu đưa ra khối điều khiển
Khối công suất : nhận tín hiệu từ ngõ ra của khối xử lý trung tâm để điều khiển động cơ
Camera: Nhận tín hiệu từ khối xử lý trung tâm để xử lý tín hiệu đưa hình ảnh
về
3.2.2 Tính toán và thiết kế mạch
a Camera
Hình 3.2 Camera kết nối Rasberry qua cáp ribbon
Camera được tích hợp trên kit Rasberry qua cáp ribbon nên sẽ dùng nguồn trên kit mà không cần sử dụng nguồn bên ngoài
Module camera có một cảm biến 8-Megapixel sử dụng để quay video với độ nét cao, cũng như chụp ảnh tĩnh Khá là đơn giản để sử dụng cho người mới bắt đầu chỉ việc kết nối với kit qua cáp ribbon Đặc biệt hỗ trợ video 1080p30, 720p60 rất thích hợp trong việc quay video ứng dụng để live stream chẳng hạn Nhóm đã khai thác đặc điểm này để chọn thiết bị ghi hình cho quá trình live stream lên web
Trang 26b Khối công suất
Hình 3.3 Khối công suất kết nối với động cơ
Khối công suất dùng module L298N kết nối và điều khiển 2 động cơ DC, 1 động cơ RC Servo 9G
Động cơ RC Servo 9G sẽ được kết nối với nguồn 5V trên module L298N Động cơ DC sẽ được kết nối với 4 ngõ ra output của module L298N
Ngõ vào của module L298N sẽ được kết nối với 4 ngõ ra của kit Raspberry (Ở đây là ngõ ra GPIO trên kit)
Trên module L298N còn có một nguồn DC 5V rất tiện lợi cho việc cấp nguồn cho động cơ RC Servo 9G (Không cấp nguồn 5V từ kit vì gây sụt áp trên kit ảnh hưởng đến quá trình hoạt động của kit)
Module L298N tiện lợi, dễ sử dụng, công suất cấp cho mạch khi không tải chỉ 25W nên nhóm chọn module trên để làm mạch công suất điều khiển các động cơ trong hệ thống xe
Động cơ servo SG90
Hình 3.4 Động cơ SG90
Chọn động cơ SG90 dùng để điều khiển camera xoay trái, phải hoặc giữa Vì module camera kèm phụ kiện đi kèm nặng ~10g trong khi moment xoắn của SG90
Trang 27lên tới 1.8kg/cm Ngoài ra SG90 chỉ nặng 9g rất nhỏ gọn, tốc độ hoạt động rất nhanh 60 độ trên 0.1 giây, điều khiển dễ dàng từ kit thông qua việc điều chỉnh độ rộng xung (PWM) trên GPIO
Động cơ giảm ốc DC
Hình 3.5 Động cơ giảm tốc DC
Chọn động cơ giảm tốc DC để điều khiển xe chạy tới, lui, xoay trái, xoay phải Động cơ giảm tốc DC với tốc độ hoạt động tối đa 44mét/1phút ở điện áp 5V có thể hoàn toàn đáp ứng đƣợc yêu cầu về hệ thống Điều khiển tốc độ bằng độ rộng xung thông qua chân GPIO trên kit rất dễ sử dụng Với thiết kế đơn giản, nhỏ gọn nên nhóm đã chọn động cơ trên để thiết kế cho phần di chuyển của xe
c Khối xử lý trung tâm
Hình 3.6 Khối xử lý trung tâm
Kit Raspberry Pi sử dụng nguồn cấp qua cổng Micro USB 5V
Trang 28Hình 3.8 Sạc dự phòng cấp nguồn cho kit raspberry Pi
- Module điều khiển động cơ L298N có điện áp hoạt động 5V - 12V
- Động cơ DC hoạt động ở mức điện áp 3V – 9V
- Động cơ Servo RC 9G hoạt động ở điện áp 5V
Qua trên nhóm dùng nguồn 12VDC để cấp cho module L298N bằng cách ghép 3 pin Panasonic ( Li-ion IRC18650 4.2V4200mAh ) nối tiếp với nhau Web
Server
Trang 29Hình 3.9 Nguồn cấp cho khối điều khiển module L298N
3.2.3 Sơ đồ nguyên lý của toàn mạch
H nh 3.10 Sơ đồ nguyên lý toàn mạch
Sơ đồ nguyên lý toàn mạch gồm:
Camera v2 kết nối với kit qua cáp ribbon
Usb tp-link tl-725n kết nối với kit qua cổng USB 2.0
Nguồn 5V – 2A cấp cho kit qua cổng Usb micro
Nguồn 12V – 4A cấp cho module L298N hoạt động
2 động cơ motor A, motor B gắn vào ngõ output trên module L298N đƣợc điều khiển bởi kit thông qua ngõ vào trên module
Động cơ Servo RC 9G(SG90) đƣợc cấp nguồn 5V từ module L298N và đƣợc điều khiển trực tiếp từ kit
Trang 30CHƯƠNG 4: THI CÔNG HỆ THỐNG
4.1 GIỚI THIỆU
Streaming video là một kỹ thuật được sử dụng khá phổ biến trong các ứng dụng mạng Streaming video sử dụng cách thức phát lại các đoạn video được lưu trữ trên
các máy tính trên mạng tới người dùng đầu cuối muốn xem đoạn video mà không cần tải đoạn video đó về trên máy tính Về bản chất, streaming video là quá trình chia nhỏ file video thành các frame, rồi lần lượt gửi từng frame tới một bộ đệm trên máy tính của người xem và hiển thị nội dung frame đó
4.2 THI CÔNG HỆ THỐNG
4.2.1 Tìm hiểu kỹ thuật video streaming theo mô hình server-client
Tóm tắt cơ bản về kỹ thuật streaming video, các giao thức cần thiết:
Streaming video sử dụng cách thức phát lại các đoạn video được lưu trữ trên các máy tính trên mạng tới người dùng đầu cuối muốn xem đoạn video mà không cần tải đoạn video đó về trên máy tính Về bản chất, streaming video là quá trình chia nhỏ file video thành các frame, rồi lần lượt gửi từng frame tới một bộ đệm trên máy tính của người xem và hiển thị nội dung frame đó Và quá trình này tuân thủ chặt chẽ về ràng buộc theo thời gian, nói khác là tuân thủ chặt chẽ theo giao thức RTSP, RTP và RTCP Với đặc tính như vậy thì streaming video là kỹ thuật cũng khá phức tạp để triển khai Nhưng với những lợi ích mà kỹ thuật streaming video đem lại, chúng ta hoàn toàn có thể triển khai được kỹ thuật này trên thực tế
4.2.2 Kỹ thuật streaming video
Các bước thực hiện kỹ thuật streaming video:
- Phần mềm máy khách (media player, web browser, .) cần kết nối được và xác định file video trên máy streaming server muốn xem
- Yêu cầu streaming file video đó sẽ được gửi tới streaming server để tìm file video
đó
- Chương trình thực hiện streaming chạy trên máy streaming server sẽ chia file video thành các frame rồi gửi các frame đó tới máy yêu cầu sử dụng các giao thức
Trang 31ràng buộc về thời gian (RTSP, RTP, RTCP,RTMP)
- Khi các frame về máy khách, sẽ được lưu trữ trong vùng đệm và nội dung frame sẽ được giải mã (decode) và hiển thị thông qua các chương trình chơi video (ví dụ VLC, Strobe Media …)
Hình 4.1 Streaming Video
Một số khái niệm được sử dụng trong streaming video:
- Streaming video (luồng video) thực chất là quá trình truyền các frame của file
video tới người nhận
- Demand streaming (stream theo yêu cầu) là quá trình streaming một file video có
sẵn (đã được lưu trên ổ cứng) tới người nhận
- Live streaming (stream từ một nguồn tạo video) là quá trình streaming trực tiếp từ
các frame video được tạo ra từ các thiết bị thu nhận video (như camera) tới người nhận
- MPEG, JPEG, H.264 , VP8 là các thuật toán mã hóa cho các luồng video
- Bitstream là khái niệm ám chỉ một luồng video từ máy chủ streaming tới máy
khách nhận các frame video dựa vào giao thức MMS hay RTP
- Codec: thuật ngữ ám chỉ chung cho các thuật toán mã hóa đường truyền trong quá
trình streaming audio hay video
- RTSP (Real Time St reaming Protocol) là giao thức mạng điều khiển quá trình
streaming video hay streaming audio
- RTP (Real-time Transport Protocol) là giao thức chuẩn định dạng cho gói tin
(packet) video hay audio được truyền trên mạng
Trang 32a Giao thức RTSP
RTSP (Real Time Streaming Protocol) là một giao thức điều khiển trên mạng được thiết kế để sử dụng giao tiếp giữa máy client và máy streaming server Giao thức này được sử dụng để thiết lập và điều khiển phiên giao dịch giữa các máy tính (end points)
Về hình thức giao thức RTSP cũng có nét tương đồng với giao thức HTTP, RTSP định nghĩa một bộ các tín hiệu điều khiển tuần tự, phục vụ cho việc điều khiển quá trình playback Trong khi giao thức HTTP là giao thức không có trạng thái thì RTSP là giao thức có xác định trạng thái Một định danh sử dụng khi cần thiết
để theo dõi giao thức hiện tại của quá trình streaming video gọi là số hiệu session Cũng giống như HTTP, RTSP sử dụng TCP là giao thức để duy trì một kết nối đầu cuối tới đầu cuối và các thông điệp điểu khiển của RTSP được gửi bởi máy client tới máy server Nó cũng thực hiện điều khiển lại các đáp trả từ máy server tới máy client Cổng mặc định được sử dụng bởi giao thức này là 554
Để thực hiện kỹ thuật streaming video theo giao thức RTSP nhất thiết máy client phải gửi lên máy server (streaming server) những request sau và phải theo một trình tự nhất định
Đầu tiên, máy client sẻ gửi yêu cầu OPTIONS kèm với đường link trỏ tới file video cần xem tới máy server, để máy server chấp nhận đường link này
Hình 4.2 OPTIONS Request
Trang 33Nếu máy server trả về mã chấp nhận đường link trên thì máy client tiếp tục gửi yêu cầu DESCRIBE tới máy server để máy server phân tích đường link Một yêu cầu DESCRIBE bao gồm một đường link RTSP có dạng (rtsp://) và kiểu dữ liệu đáp trả từ phía server Cổng mặc định được sử dụng cho giao thức RTSP là 554 và cổng này được sử dụng cho cả giao thức của tầng giao vận UDP và TCP Thông điệp đáp lại từ máy server cho yêu cầu DESCRIBE của máy client bao gồm bản tin miêu tả chi tiết (Session Description Protocol – SDP) Ngoài ra trong thông điệp trả về từ máy server còn liệt kê các đường link thích hợp hơn tới file video cần chơi khi mà trong file video đó có trộn lẫn giữa phụ đề và âm thanh Và điều quan trọng nhất ở trong bản tin miêu tả phiên giao dịch này là streamid của luồng video và streamid của luồng âm thanh khi mà đoạn video đó có lồng âm thanh vào trong các frame
Hình 4.3 DESCRIBE Request
Trang 34Hình 4.4 SETUP Request.
Sau khi hoàn tất yêu cầu SETUP, cấu hình được các luồng dữ liệu để chuẩn bị streaming, máy client sẽ gửi yêu cầu PLAY để thực hiện truyền các frame dữ liệu thật sự từ máy server tới máy client , và các frame dữ liệu này sẽ được lưu trong một
bộ đệm của máy client, các frame này sẽ được giải mã (decode), rồi được hiển thị bởi trình chơi file video và âm thanh (VLC) Yêu cầu PLAY bao gồm một đường dẫn trỏ tới file video cần phát giống như các yêu cầu trước đó Đường link này có thể là đường tổng hợp (để phát các luồng dữ liệu) hoặc là môt đường link đơn lẻ (chi phí một luồng dữ liệu duy nhất) Trong yêu cầu PLAY, máy client cũng sẽ chỉ ra một dải (range) chỉ rõ một cách cụ thể số hiệu frame bắt đầu được gửi và số hiệu frame kết thúc, Nếu như không chỉ rõ tham số này, thì toàn bộ các frame sẽ được gửi tới máy client Và nếu như luồng dữ liệu có bị tạm dừng (pause) thì luồng dữ liệu này cũng sẽ được phục hồi ở frame mà nó tạm dừng truyền
Hình 4.5 PLAY Request
Trong quá trình streaming video, nếu như người dùng muốn tạm dừng quá trình streaming thì sẽ gửi yêu cầu PAUSE tới máy server, yêu cầu này sẽ làm tạm dừng một hay nhiều luồng dữ liệu đang truyền các frame về máy client Máy server
sẽ tạm dừng gửi các frame dữ liệu tới máy client
Trang 35Hình 4.6 PAUSE Request
Trong quá trình streaming video, nếu như người dùng muốn dừng hẳn quá trình streaming thì sẽ gửi yêu cầu TEARDOWN để dừng truyền và kết thúc một phiên giao dịch của giao thức RTSP Máy server sẽ đáp trả lại thông điệp xác nhận cho yêu cầu TEARDOWN và sẽ dừng gửi các frame tới máy client
b Giao thức RTP
RTP (Real-time Transport Protocol) định dạng một gói tin RTP được dùng để truyền trên luồng dữ liệu video hay audio dựa trên địa chỉ IP RTP được sử dụng trong các hệ thống giải trí hoặc giao tiếp mà có triển khai kỹ thuật streaming video như là telephone, ứng dụng hội họp từ xa, hệ thống giám sát bằng hình ảnh dựa trên IP
RTP được sử dụng kết hợp với giao thức RTCP (RTP Control Protocol) Trong
đó, RTP được sử dụng để đóng gói các frame dữ liệu (audio và video) để truyền trên luồng dữ liệu thì RTCP được sử dụng để giám sát chất lượng của dịch vụ (QoS) hoặc để thống kê theo các tiêu chí trong quá trình truyền tải Thường thì giao thức RTP sử dụng cổng có số hiệu chẵn còn giao thức RTCP sử dụng cổng có số hiệu lẻ RTP được thiết kế cho quá trình streaming theo thời gian thực từ theo kiểu điểm tới điểm Giao thức này cung cấp tiện ích để dò ra những gói tin RTP đã quá
Trang 36hạn Trên thực tế, gói tin RTP sử dụng địa chỉ IP trên mạng để định danh các máy tính gửi và nhận RTP cũng hỗ trợ truyền dữ liệu tới nhiều điểm đích thông qua địa chỉ IP multicast
RTP được phát triển bởi tổ chức Audio/Video Transport của tổ chức tiêu chuẩn IETF RTP được sử dụng kết hợp với các giao thức khác như H.323 và giao thức RTSP Chuẩn RTP định nghĩa một cặp giao thức làm việc với nhau đó là RTP
và RTCP RTP được sử dụng để truyền tải dữ liệu đa phương tiện và giao thức RTCP được sử dụng để gửi các thông tin điều khiển với các tham số QoS
Các giao thức thành phần: RTP gồm 2 giao thức con là RTP và RTCP
Giao thức truyền, RTP quy định cách thức truyền dữ liệu theo thời gian thực Thông tin được cung cấp bởi giao thức này bao gồm thời gian đồng bộ (timestamps), số thứ tự gói tin (phục vụ cho việc tìm gói tin bị lạc) và chi phí cho việc mã hóa định dạng dữ liệu
Giao thức điều khiển, RTCP được sử dụng cho việc kiểm tra chất lượng (QoS) luồng dữ liệu và thực hiện đồng bộ giữa các luồng dữ liệu So với RTP, thì băng thông của RTCP sẽ nhỏ hơn, vào cỡ 5%
Một giao thức cho phép miêu tả dữ liệu đa phương tiện nhưng không bắt buộc phải kèm theo là giao thức miêu tả phiên (Session Description Protocol – SDP) Phiên (Session): Một phiên RTP được thiết lập cho mỗi luồng dữ liệu Một phiên bao gồm một địa chỉ IP với một cặp cổng của giao thức RTP và RTCP Ví dụ, các luồng video và audio sẽ có các phiên RTP khác nhau, bên nhận sẽ nhận một cách riêng biệt giữa dữ liệu video và audio thông qua 2 cổng khác nhau cho 2 giao thức RTP và RTCP Thường thì số hiệu cổng của RTP là một số chẵn trong khoảng
1024 tới 65535 và cổng của RTCP là một số lẻ kế tiếp
Trang 37Hình 4.8 Header của RTP Packet
Kích thước nhỏ nhất của một header của gói tin RTP là 12 bytes Sau phần header chính, là phần header mở rộng và không cần thiết phải có phần header này Chi tiết các trường trong một header như sau:
Version (2 bits): Cho biết phiên bản của giao thức này Phiên bản hiện tại là phiên bản 2
P (Padding) (1 bit): Cho biết số các byte mở rộng cần thêm vào cuối của gói tin RTP Ví dụ trong trường hợp ta muốn sử dụng các thuật toán mã hóa, ta có thể thêm vào một số byte vào phần kết thúc của gói tin để tiến hành mã hóa frame trên đường truyền
X (Extension) (1bit): Cho biết có thêm phần header mở rộng vào sau phần header chính hay không
CC (CSRC Count) (4 bit): Chứa con số định danh CSRC cho biết kích thước
cố định của header
M (Marker) (1 bit): Cho biết mức của ứng dụng và được định nghĩa bởi một profile Nếu được thiết lập, có nghĩa là dữ liệu hiện tại đã được tính toán chi phí một cách thích hợp
PT (Payload Type) (7 bit): Cho biết định dạng của file video Đây là một đặc tả được định nghĩa bởi một profile RTP
Sequence Number (16 bits): số hiệu của frame Và sẽ được tăng lên 1 đơn vị cho mỗi gói tin RTP trước khi gửi và được sử dụng bởi bên nhận để dò ra các gói bị lạc và có thể phục hồi lại gói có số thứ tự đó
Timestamp (32 bits): Được sử dụng thông báo cho bên nhận biết để phát lại frame này trong khoảng thời gian thích hợp
SSRC (32 bits): Định danh cho nguồn streaming Mỗi nguồn cho phép streaming video sẽ định danh bởi một phiên RTP duy nhất
c Giao thức RTMP - Real Time Messaging Protocol
RTMP (Real Time Messaging Protocol) là giao thức không công khai do Adobe phát triển và giữ bản quyền, được thiết kế cho ứng dụng thời gian thực, cho phép ứng dụng sử dụng video và âm thanh với tốc độ nhanh, hạn chế bị giật hình hoặc méo tiếng