1. Trang chủ
  2. » Luận Văn - Báo Cáo

MENU ĐIỆN TỬ TRÊN KIT RASPBERRY PI 2

227 30 0

Đ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ông tin cơ bản

Định dạng
Số trang 227
Dung lượng 12,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ví dụ với đề tài đồng hồ số - Chức năng của đồng hồ: dùng để xem thông tin về thời gian giờ phút giây, ngày tháng năm, dùng để quản lý về thời gian ví dụ như tính cước điện thoại: căn cứ vào thời gian để biết cuộc gọi vào thời điểm nào, dùng để điều khiển như báo chuông giờ học, - Có bao nhiêu loại đồng hồ: đồng hồ cơ, đồng hồ điện tử, ưu điểm, khuyết điểm … - Chọn đồng hồ điện tử để làm đề tài nghiên cứu hay muốn thiết kế để phục vụ cho mục đích nào đó. - Khi trình bày một vấn đề dựa vào 1 tài liệu nào đó như sách, giáo trình, bài báo, đồ án tốt nghiệp thì cần phải trích dẫn. Ví dụ như viết, đề tài sử dụng mạch đếm bất đồng bộ cho việc tính toán thiết kế đồng hồ số [2]

Trang 1

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP -

Trang 2

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP

Trang 3

1 Thông tin sinh viên

Họ và tên: Nguyễn Tấn Mỹ MSSV: 10101076

Tel: 01666270994 Email: nguyentanmy.001@gmail.com

Họ và tên: Phạm Minh Công MSSV: 10901028

Tel: 01655194996 Email: phminhcong@gmail.com

2 Thông tin đề tài

Tên của đề tài: MENU ĐIỆN TỬ TRÊN KIT RASPBERRY PI 2

Mục đích của đề tài: Nâng cao tiện ích trong các loại hình dịch vụ nhà hàng

Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh

Thời gian thực hiện: Từ ngày 21/3/2016 đến 12/7/2016

3 Các nhiệm vụ cụ thể của đề tài

 Lập trình giao diện chọn món trên Raspberry pi 2

 Raspberry pi 2 kết nối wifi

 Lập trình giao diện trên máy chủ bằng Visual Studio 2010

 Lập trình cơ sở dữ liệu dùng SQL 2010

 Kết nối Visual Studio 2010 và SQL 2010 trên máy chủ

 Kết nối Visual Studio 2010 và Raspberry pi 2 qua ethenet wifi

 Kiểm tra độ tin cậy

 Viết báo cáo đề tài tốt nghiệp

4 Lời cam đoan của sinh viên

Chúng tôi – Nguyễn Tấn Mỹ và Phạm Minh Công cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của thạc sỹ Nguyễn Trường Duy Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công

trình nào khác

Tp HCM, ngày 23 tháng 3 năm 2016

SV thực hiện đồ án

Nguyễn Tấn Mỹ – Phạm Minh Công

Xác nhận của Bộ Môn Tp HCM, ngày 23 tháng 3 năm 2016

Giáo viên hướng dẫn

(Ký ghi rõ họ tên và học hàm học vị)

Trang 4

Đề tài này là do chúng tôi tự thực hiện dựa vào một số tài liệu và không sao chép từ tài liệu hay công trình đã có trước đó

Sinh Viên Thực Hiện

Nguyễn Tấn Mỹ - Phạm Minh Công

Trang 5

- Có bao nhiêu loại đồng hồ: đồng hồ cơ, đồng hồ điện tử, ưu điểm, khuyết điểm …

- Chọn đồng hồ điện tử để làm đề tài nghiên cứu hay muốn thiết kế để phục vụ cho mục đích nào đó

- Khi trình bày một vấn đề dựa vào 1 tài liệu nào đó như sách, giáo trình, bài báo, đồ án tốt nghiệp thì cần phải trích dẫn Ví dụ như viết, đề tài sử dụng mạch đếm bất đồng bộ cho việc tính toán thiết kế đồng hồ số [2]

1.2 GIỚI HẠN

- Nêu các thông số cho đồng hồ ví dụ do điều kiện kinh tế tôi chỉ thiết kế đồng hồ hiển thị giờ phút giây trên 6 led 7 đoạn, sử nguồn pin hoặc điện từ lưới 220V, kích thước led để quyết định khoảng cách quan sát Có mấy nút để chỉnh thời gian, khi mất điện thì đồng hồ có hoạt động không?

Trang 6

Chương 2:

THIẾT KẾ (HOẶC KHẢO SÁT SƠ ĐỒ KHỐI)

2.1 GIỚI THIỆU (TÓM TẮT)

Tóm tắt lại các yêu cầu để dẫn dắt đến mục II

2.2 THIẾT KẾ SƠ ĐỒ KHỐI (HOẶC KHẢO SÁT SƠ ĐỒ KHỐI)

Ví dụ: Theo yêu cầu của đề tài thì nhóm chúng tôi tiến hành thiết kế sơ đồ khối của mạch đếm sản phẩm như hình 2-1:

KHỐI

SO SÁNH

KHỐI TẠO XUNG KHI PHÁT HIỆN

SẢN PHẨM

KHỐI ĐẾM

KHỐI NGUỒN

KHỐI GIẢI MÃ

KHỐI HIỂN THỊ

KHỐI CÀI ĐẶT SỐ ĐẾM BẰNG SWITCH RESET

Hình 2.1 Sơ đồ khối mạch đếm sản phẩm

Chức năng từng khối:

 Khối nguồn: có chức năng cấp nguồn cho toàn bộ mạch để hoạt động

 Khối tạo xung khi phát hiện có sản phẩm: có chức năng tạo 1 xung khi có 1 sản phẩm đi qua

 Khối đếm: có chức năng đếm xung và phạm vi đếm từ 000 đến 999

 Khối giải mã: có chức năng giải mã số xung đếm được từ kối đếm sang mã 7 đoạn

 Khối hiển thị: có chức hiển thị kết quả đếm dạng số thập phân

 Khối cài đặt sô đếm bằng switch: có chức năng cài đặt giới hạn số sản phẩm đếm theo yêu cầu

 Khối so sánh: có chứa năng so sánh giá trị đếm với giá trị cài đặt để reset lại mạch đếm

Trang 7

Có 2 loại led 7 đoạn là anode chung và cathode chung

Led 7 đoạn có kí hiệu, sơ đồ chân như hình sau:

Hình 2.2 Kí hiệu và hình ảnh led 7 đoạn

Led 7 đoạn có cấu tạo là các led đơn được sắp xếp theo vị trí để khi sáng hoặc tắt tạo thành 1 số thập phân từ

0 đến 9

Dòng cho mỗi đoạn từ 5 đếm 15 mA và điện áp cho các led nhỏ là 2V

Nhóm tiến hành chọn led loại anode chung

b KHỐI GIẢI MÃ

Do đã chọn led anode chung nên phần này chọn IC giải mã anode chung là vi mạch 74LS247

Vi mạch 74LS247 có chức năng giải mã số BCD sang mã 7 đoạn để điều khiển led 7 đoạn sáng số thập phân, điều khiển led 7 đoạn loại anode chung, IC có sơ đồ chân như hình 2-3

Hình 2.3 Sơ đồ chân IC giải mã số BCD sang 7 đoạn 74LS247

Trang 8

Chức năng các tín hiệu của IC:

 IC có 4 ngõ vào “DCBA” để nhận số BCD cần giải mã

 IC có 7 ngõ ra “f, g, e, d, c, b, a” dùng điều khiển led 7 anode chung

 IC còn có các tín hiệu điều khiển kiểm tra đèn “LAMP TEST - LT”, tín hiệu xóa số không vô nghĩa vào (RB) và ra (RBO)

Bảng 2.1 Bảng trạng thái hoạt động của IC74LS247

Giải thích hoạt động của IC giải mã 74LS247:

Trạng thái giải mã: từ trạng thái số 0 đến trạng thái thứ 15 là hoạt động giải mã bình thường cho 16 trạng thái

 16 trạng thái này gồm có 10 trạng thái từ 0 đến 9 – gọi là giải mã số BCD, 10 trạng thái này led hiển thị đúng số thập phân từ 0 đến 9 – xem hình 6

 6 trạng thái còn lại từ 10 đến 15 (từ 1010B đến 1111B) thì led cũng giải mã nhưng không đúng theo

số hex – xem hình 6

Trạng thái LT: nếu tín hiệu này ở mức ‘0’ và RBO ở mức ‘1’ thì led sẽ sáng số 8

Trạng thái BI: nếu tín hiệu này ở mức ‘0’ thì led sẽ tắt

Trạng thái RBI: nếu tín hiệu này ở mức ‘0’, 4 ngõ vào số BCD ở “0000”, LT ở mức ‘1’ thì led tắt – có chức năng xóa số 0 vô nghĩa

Hình 2.4 là ảnh giải mã điều khiển led 7 đoạn sáng:

Trang 9

Các thông tin lien quan đến vi xử lý

f KHỐI NGUỒN

Có bao nhiêu linh kiện dùng nguồn 5V, 12V, 9V quyết định thiết kế đúng nguồn như nêu Tính tổng dòng cho từng nguồn: … Quyết định cho IC ổn áp 100mA, 500mA hay 1A hay 5A

g SƠ ĐỒ NGUYÊN LÝ CHO TOÀN MẠCH

Giải thích tóm gọn cho sơ đồ nguyên lý

PHẢI VIẾT THEO ĐÚNG CHUẨN)

a GIỚI THIỆU YÊU CẦU ĐIỀU KHIỂN

b LƯU ĐỒ: CHO BIẾT TRÌNH TỰ ĐIỀU KHIỂN

c CHƯƠNG TRÌNH

d GIẢI THÍCH CÁC LỆNH SỬ DỤNG TRONG CHƯƠNG TRÌNH

Trang 10

Giới thiệu các yêu cầu về đường nguồn, đường tín hiệu, cách kiểm tra,

in mã số sinh viên, ngày tháng năm

3.3 GIA CÔNG MẠCH VÀ LẮP RÁP KIỂM TRA MẠCH

Danh sách linh kiện cho mạch, lắp ráp, kiểm tra Các lỗi xảy ra, cách hiệu chỉnh, các thông cần đo, kiểm tra trong quá trình thi công

Phương trình sử dụng để tính toán điện áp trên Led như sau:

R CC

Trang 11

8

Chương 4:

KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN

 Kết luận mạch hoạt động như thế nào

 Hướng phát triển: đề tài mạch đếm sản phẩm chỉ có chức năng đếm lên thì hướng phát triển có thể thêm 1 switch để có thể lựa chọn đếm lên hoặc đếm xuống, có thể cài đặt giới hạn giá trị đếm,

 Tài liệu tham khảo, trang web tham khảo

Nội dung khoảng từ 15 đến 30 trang

Header ghi “đồ án môn học 1 hoặc 2 – tên đồ án”

Footer ghi “họ và tên sinh viên”

Trang 12

TÀI LỆU THAM KHẢO

[1] Tên tác giả, “tên tài liệu”, tên của nhà xuất bản, năm

[2] Nguyen Dinh Phu, Nguyen Truong Duy, “Giáo Trình: Kỹ Thuật Số”, Xuất bản ĐH Quốc Gia,

Tp.HCM, 2013

Trang 14

Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc

Bộ Môn Điện Tử Công Nghiệp

Tên đề tài: MENU ĐIỆN TỬ TRÊN KIT RASPBERRY PI 2

1 Đọc các tài liệu liên quan

2 Lập trình các ứng dụng cơ bản trên Raspberry Pi 2

10 Kiểm tra độ tin cậy

11 Đóng gói sản phẩm và kiểm tra độ tin cậy

12 Xây dựng bố cục cho báo cáo đồ án tốt nghiệp

13 Viết báo cáo đồ án tốt nghiệp

14 Hoàn thiện sản phẩm và báo cáo đồ án tốt nghiệp

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)

Trang 15

Trong thời gian làm đồ án tốt nghiệp, chúng tôi đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè

Chúng tôi xin gửi lời cảm ơn chân thành đến Thạc sỹ Nguyễn Trường Duy, giảng viên Bộ môn Điện Tử Công Nghiệp, trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh người đã tận tình chỉ bảo, hướng dẫn trong suốt thời gian làm đồ án

Chúng tôi xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Sư phạm

Kỹ thuật Thành phố Hồ Chí Minh nói chung, các thầy cô trong Bộ môn Điện Tử Công Nghiệp nói riêng đã dạy dỗ cho chúng tôi kiến thức về các môn chuyên ngành cũng như các môn đại cương, giúp chúng tôi có được cơ sở lý thuyết vững vàng và tạo điều kiện cho chúng tôi trong quá trình học tập

Cuối cùng, chúng tôi xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên chúng tôi trong suốt quá trình học tập và hoàn thành khoá luận tốt nghiệp

Sinh Viên Thực Hiện

Nguyễn Tấn Mỹ - Phạm Minh Công

Trang 16

Trang bìa i

Đánh giá thực hiện của GVHD ii

Nhiệm vụ đồ án iii

Lịch trình .iv

Cam đoan v

Lời cảm ơn .vi

Mục lục vii

Liệt kê hình vẽ viii

Liệt kê bảng ix

Tóm tắt x

CHƯƠNG 1 DẪN NHẬP 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu 2

1.3 Nội dung nghiên cứu 2

1.4 Giới hạn đề tài 2

1.5 Bố cục đề tài 3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5

2.1 Kit Raspberry Pi 2 Model B 5

2.1.1 Mô tả chung 5

2.1.2 Đặc tính kỹ thuật 5

2.2 Usb 2.0 kiểu A 6

2.2.1 Giới thiệu 6

2.3 USB wifi TL-WN725N V2 8

2.3.1 Lý do chọn thiết bị 8

2.3.2 Đặc tính kỹ thuật 8

2.4 Internet Wifi 9

2.5 Giao tiếp Socket 10

2.6 Khe cắm thẻ nhớ micro SDHC 11

2.6.1Giới thiệu 11

2.6.2 Mô tả chuẩn giao tiếp trong thẻ nhớ 12

2.7 Cổng HDMI 15

Trang 17

2.8.1 Lý do lựa chọn thiết bị 16

2.8.2 Đặc tính kỹ thuật 17

2.8.3 Sơ lược về màn hình cảm ứng điện trở 17

2.9 Phần mềm lập trình Python 18

2.9.1 Giới thiệu 18

2.9.3 Một số lệnh hay cú pháp dùng trong đề tài 21

2.10 Phần mềm Visual Studio 23

2.10.1 Giới thiệu 23

2.10.2 Lý thuyết ngôn ngữ lập trình C# 24

2.11 Phần mềm SQL Server 2014 24

2.11.1 Giới thiệu 24

2.11.2 Cách cài đặt, tạo cơ sở dữ liệu 25

2.11.3 Lý thuyết SQL Server 26

2.12 Cài đặt, cấu hình phần cứng trên Rpi2B……… 27

2.12.1 Giới thiệu 27

2.12.2 Cài đặt kết nối wifi cho Rpi2B bằng Usb TL – WN725N

2.12.3 Cài đặt và truy cập Rpi2B thông qua Remote Desktop………

2.12.4 Kết nối với lcd cảm ứng WaveShare………

CHƯƠNG 3 CƠ SỞ LÝ THUYẾT ………

3.1 Giới thiệu ………

3.2 Sơ đồ phần cứng hệ thống

35 35 38 39 39 39 3.3 Chọn nguồn cung cấp cho máy con

3.4 Phần mềm lập trình Python 2.7.9

3.4.1 Hiển thị tiêng Việt trong giao diện ………

3.4.2 Lập trình cấu trúc if, for, while………

3.4.3 Sử dụng thư viện socket ………

3.4.4 Đọc và ghi dữ liệu vào file txt………

3.5 Tạo kết nối với cơ sở dữ liệu trên SQL Server………

3.5.1 Tạo cơ sở dữ liệu ………

3.5.2 Kết nối với cơ sở dữ liệu ………

3.6 Tạo socket kết nối………

3.6.1 Tạo socket ………

3.6.2 Nhận thông tin từ máy con ………

41 42 42 44 46 49 49 49 50 51 51 51 2.9.2 Hướng dẫn tạo chương trình 19

Trang 18

3.7.2 Lập trình giao diện ………

CHƯƠNG 4 THI CÔNG HỆ THỐNG

53 55 4.1 Lắp ráp và kết nối phần cứng 55

4.1.1 Lắp ráp phần cứng 55

4.1.2 Kết nối phần cứng 55

4.1.3 Kết quả 55

4.2 Sơ đồ hoạt động toàn hệ thống .57

4.2.1 Trình tự hoạt động ……… 57

4.2.2 Sơ đồ hoạt động……… 58

4.2.3 Giải thuật ………59

4.2.4 Lưu đồ toàn hệ thống ……… 60

4.3 Chương trình tại máy con……… 60

4.3.1 Giải thuật ……… 61

4.3.2 Lưu đồ ……… 62

4.3.3 Chương trình trên phần mềm Python 2.7.9……… 65

4.3.4 Kết quả lập trình ……… 71

4.3.5 Nhận xét – đánh giá chung tại máy con……… 83

4.4 Chương trình trên máy chủ 84

4.4.1 Giải thuật 84

4.4.2 Lưu đồ 86

4.4.3 Trích chọn đặc trưng chương trình 90

4.4.4 Kết quả lập trình 96

4.4.5 Đánh giá chung tại máy chủ 102

4.5 Kết quả hoạt động của hệ thống 103

4.6 Nhận xét – đánh giá chung cho toàn bộ hệ thống 109

4.6.1 Về phần cứng 109

4.6.2 Về hoạt động tương tác trên menu chọn món .109

4.6.3 Về truyền dữ liệu trong hệ thống 110

4.6.4 Về cấu hình chức năng trên 2 phần mềm tại máy chủ .110

4.6.5 Về hoạt động nhận xử lý thông tin nhận tại máy chủ 111

4.7 Hướng dẫn sử dụng và thao tác 111

4.7.1 Quy trình khởi động máy con 111

4.7.2 Quy trình mở ứng dung .111

Trang 19

5.2.1 Giao diện hệ thống khi mở ứng dụng 125

5.2.2 Giao diện hệ thống khi vào menu 126

5.2.3 Xem nguyên liệu món trên menu 127

5.2.4 Thông báo “chưa chọn món” khi nhấn “Gọi Món” và chưa chọn món trên menu 129

5.2.5 Thông báo “chưa gọi món” khi nhấn “Thanh toán” và chưa gọi món 130

5.2.6 Chọn món trên menu 131

5.2.7 Gọi món lần 1 trên hệ thống 132

5.2.8 Mẫu in cho bếp thực hiện trên máy chủ 133

5.2.9 Mẫu in bếp chuyển sang định dạng PDF để in 134

5.2.10 Chọn thêm món trên menu 135

5.2.11 Gọi món lần 2 trên hệ thống 136

5.2.12 Mẫu in cho bếp khi gọi món lần 2 137

5.2.13 Mẫu in bếp chuyển sang định dạng PDF để in 138

5.2.14 Thông báo “đã gọi món” khi nhấn gọi món khi vừa gọi món xong trên máy con 139

5.2.15 Chọn thêm món trên menu 140

5.2.16 Nhấn “Xem món đã gọi” trên menu 141

5.2.17 Thanh toán trên máy con 142

5.2.18 Thông báo thanh toán trên máy chủ 143

5.2.19 Mẫu in hóa đơn cho khách trên phần mềm 144

5.2.20 Mẫu in hóa đơn cho khách trên PDF 145

5.2.21 Làm mới bàn vừa thanh toán trên máy chủ 146

5.2.22 Lưu số tiền bàn vừa thanh toán vào bảng thống kê 149

5.2.23 Đóng ứng dụng trên menu 150

5.3 Nhận xét, đánh giá hiệu quả sản phẩm 151

5.3.1 Về mặt kinh tế 151

5.3.2 Về mặt kỹ thuật 153

5.3.3 Về khả năng lợi nhuận 155

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 156

6.1 Kết luận 156

6.2.Hướng phát triển 157

Trang 21

Hình Trang

Hình 2.1: Raspberry Pi 2 Model B 5

Hình 2.2: Logo USB 5

Hình 2.3: Vị trí chân USB chuẩn A và B 7

Hình 2.4: USB wifi TL-WN725N V2 8

Hình 2.5: Wireless Fidelity 9

Hình 2.6: Giao tiếp Socket 10

Hình 2.7: Logo thẻ nhớ SDHC 11

Hình 2.8: Sơ đồ chân thẻ nhớ micro SDHC 12

Hình 2.9: Kết nối giữa Master và Slave 13

Hình 2.10: Giao tiếp giữa Master và Slave 13

Hình 2.11: Plug HDMI kiểu A 15

Hình 2.12: Một số kiểu kết nối của HDMI 15

Hình 2.13: Lcd5H mặt trước 16

Hình 2.14: Lcd5H mặt sau 16

Hình 2.15: Lcd5H kết nối với Rpi2B 16

Hình 2.16: Cảm ứng điện trở 17

Hình 2.17: Logo ngôn ngữ lập trình Python 18

Hình 2.18: Giao diện chọn đến phần mềm Python 19

Hình 2.19: Giao diện trong Python 2.7.11 20

Hình 2.20: Lập trình trong Python 20

Hình 2.21: Hiển thị kết quả lập trình 20

Hình 2.22: Biểu tượng khởi động phần mềm Visual Studio 2015 23

Hình 2.23: Biểu tượng khởi động phần mềm SQL Server 24

Hình 2.24: Màn hình sau khi khởi động SQL Server 2014 25

Hình 2.25: Màn hình sau khi đã kết nối vào server 26

Hình 2.26: Tạo cơ sở dữ liệu mới 26

Hình 2.27: Trang tải hệ điều hành Raspbian 28

Hình 2.28: Tiến trình chép hệ điều hành Raspbian 29

Hình 2.29: Màn hình khởi động Raspberry 29

Hình 2.30: Cửa sổ terminal 30

Hình 2.31: Màn hình cấu hình Raspberry 31

Hình 2.32: Chọn Enable Boot to Desktop 31

Hình 2.33: Desktop Log in as user 32

Hình 2.34: Đăng nhập vào Rpi2B 34

Trang 22

Hình 2.38: Màn hình đăng nhập trên máy tính 37 Hình 2.39: Màn hình giao diện Rasbian trên máy tính 37 Hình 2.40: Màn hình hiển thị trên lcd 5inch của waveshare 38

Hình 3.1: Sơ đồ khối phần cứng tổng quát của hệ thống 39 Hình 3.2: Sơ đồ khối phần cứng cụ thể của hệ thống 40 Hình 3.3: Sơ đồ kết nối phần cứng máy con 41 Hình 3.4: Ví dụ viết tiếng việt trong chương trình 42 Hình 3.5: Khởi tạo thông tin món bằng tiếng việt 43 Hình 3.6: Giao diện menu bằng tiếng việt 43

Hình 3.7: Lệnh for trong “Xem Món Đã Gọi” 44 Hình 3.8: Lệnh for trong “Gọi Món” 45 Hình 3.9: Lệnh điều khiển trong “Thanh Toán” 45

Hình 3.10: Cấu hình socket trong chương trình 46

Hình 3.11: Gửi chuỗi đến máy chủ khi “Thanh Toán” 46

Hình 3.12: Gửi chuỗi đến máy chủ khi “Gọi Món” 47 Hình 3.13: Lệnh tạo file txt để lưu trữ trong chương trình 48 Hình 3.14: Chương trình con đọc dữ liệu trong file txt 48 Hình 3.15: Chương trình con đọc dữ liệu trong file txt 49 Hình 3.16: Cơ sở dữ liệu trên phần mềm SQL Server 2014 50 Hình 3.17: Kiểm tra kết nối thành công giữa SQL Server và C# 51 Hình 3.18: Giao diện sau khi lập trình bằng ngôn ngữ lập trình C# 54

Hình 4.1: Kết quả sau khi kết nối và mặt trước máy con 55 Hình 4.2: Kết quả sau khi lắp ráp Lcd5H với Rpi2B 56 Hình 4.3: Mặt trước máy con khi hoạt động 56 Hình 4.4: Mặt sau máy con khi hoạt động 57 Hình 4.5: Sơ đồ hoạt động khi chọn món 58 Hình 4.6: Sơ đồ hoạt động khi thanh toán 59 Hình 4.7: Lưu đồ chính toàn hệ thống 60 Hình 4.8: Lưu đồ sự kiện 1 63 Hình 4.9: Lưu đồ sự kiện 2 với SLM là Số lượng món 63 Hình 4.10: Lưu đồ sự kiện 3 64 Hình 4.11: Lưu đồ sự kiện 4 65 Hình 4.12: Giao diện menu 71 Hình 4.13: Thông tin món “Gỏi Hải Sản” 72

Trang 23

Hình 4.17: Giao diện khi nhấn “Thanh Toán” và chưa “Gọi Món” 75 Hình 4.18: Giao diện khi thay đổi số lượng món 76 Hình 4.19: Giao diện sau khi nhấn “Gọi Món” và thay đổi số lượng món 77 Hình 4.20: Giao diện sau khi nhấn “Gọi Món” và số lượng món không đổi 78 Hình 4.21: Giao diện sau khi chọn thêm món 79 Hình 4.22: Giao diện sau khi nhấn “Gọi Món” sau khi thêm món 80 Hình 4.23: Giao diện sau khi thêm món lần tiếp theo 81 Hình 4.24: Giao diện sau khi nhấn “Xem Món Đã Gọi” 81 Hình 4.25: Giao diện khi nhấn “Thanh Toán” và đã gọi món xong 82 Hình 4.26: Giao diện sau khi thanh toán 83 Hình 4.27: Lưu đồ sự kiện 1 86 Hình 4.28: Lưu đồ sự kiện 2 87 Hình 4.29: Lưu đồ sự kiện 3 88 Hình 4.30: Lưu đồ sự kiện 4 88 Hình 4.31: Lưu đồ sự kiện xóa món trong menu 89 Hình 4.32: Lưu đồ sự kiện thêm món mới vào dữ liệu menu 89 Hình 4.33: Lưu đồ sự kiện sửa món đã có trong menu 89 Hình 4.34: Giao diện menu 96

Trang 24

Hình 4.37: Giao diện in danh sách món ăn cho nhà bếp 98 Hình 4.38: Danh sách món ăn cho bếp sau khi xuất ra sau 1 lần gọi 99 Hình 4.39: Giao diện in danh sách món ăn cho nhà bếp sau khi làm mới 99 Hình 4.40: Thông báo thanh toán theo bàn 01 100 Hình 4.41: Giao diện hóa đơn bàn 01 100 Hình 4.42: Hóa đơn bàn 01 sau khi xuất ra 101 Hình 4.43: Giao diện hóa đơn được làm mới 101 Hình 4.44: Lưu thống kê bàn 01 102 Hình 4.45: Khách hàng xem giao diện menu 103 Hình 4.46: Giao diện menu trên máy hủ 103 Hình 4.47: Khách hàng chọn xem thông tin món 104 Hình 4.48: Khách hàng thay đổi số lượng món 104 Hình 4.49: Khách hàng gọi món 105 Hình 4.50: Máy chủ hiển thị danh sách các món đã gọi 105 Hình 4.51: Khách hàng chọn thêm món 106 Hình 4.52: Khách hàng gọi món lần tiếp theo 106 Hình 4.53: Máy chủ cập nhật gọi món lần tiếp theo 107 Hình 4.54: Khách hàng chọn và đồng ý thanh toán 107 Hình 4.55: Làm mới hóa đon sau khi dã thanh toán trên máy chủ 108 Hình 4.56: Lưu thống kê sau khi thanh toán trên máy chủ 108 Hình 4.57: Menu sau khi thanh toán 109 Hình 4.58: Giao diện màn hình sau khi khởi động 112 Hình 4.59: Giao diện trong File Manager 112 Hình 4.60: Giao diện trong Downloads 113 Hình 4.61: Giao diện khi mở chương trình 113 Hình 4.62: Giao diện khi chạy chương trình menu 114 Hình 4.63: Giao diện khi mở chương trình trên máy chủ 114 Hình 4.64: Bàn 01 gọi món 115 Hình 4.65: Nhấn “Export” để chọn định dạng file xuất ra 115 Hình 4.66: Đặt tên và chọn nơi lưu file 116 Hình 4.67: Danh sách các món bàn 01 sau khi được xuất ra 117 Hình 4.68: Làm mới danh sách món sau 1 lượt chọn món 117

Trang 25

Hình 4.71: Hóa đơn bàn 01 sau khi được xuất ra 119 Hình 4.72: Lưu ý thứ nhất (sau khi nhấn nút “Làm mới”) 119 Hình 4.73: Lưu ý thứ hai (sau khi nhấn “Yes” ở lưu ý thứ nhất) 119 Hình 4.74: Kiểm tra bảng thống kê sau khi thanh toán 120 Hình 4.75: Trước khi thêm món mới (menu có 20 dòng) 120 Hình 4.76: Sau khi thêm món mới (menu có 21 dòng) 121 Hình 4.77: Sau khi sửa món 121 Hình 4.78: Sau khi xóa món 122

Hình 5.1: Giao diện hệ thống khi khởi động 125 Hình 5.2: Giao diện hệ thống khi vào menu 126 Hình 5.3: Xem nguyên liệu của món “Gỏi Hải Sản” 127

Hình 5.4: Xem nguyên liệu của món “Súp Rong Biển” 127

Hình 5.5: Xem nguyên liệu của món “Mực Tươi Nướng Thái” 128

Hình 5.6: Thông báo chưa gọi món khi nhấn “Thanh Toán” 129 Hình 5.7: Thông báo chưa chọn món khi nhấn “Gọi Món” 130

Hình 5.8: Chọn món trên menu 131 Hình 5.9: Gọi món trên hệ thống 132

Hình 5.10: Mẫu in danh sách món gọi gửi bếp 133 Hình 5.11: Danh sách in bếp chuyển sang PDF 134 Hình 5.12: Giao diện khi chọn thêm món trên máy con 135 Hình 5.13: Cập nhật gọi thêm món trên hệ thống 136 Hình 5.14: Danh sách in bếp khi gọi thêm món 137 Hình 5.15: Chuyển danh sách từ phần mềm sang dạng PDF để in 138

Hình 5.16: Giao diện khi chọn thêm món trên menu 140 Hình 5.17: Giao diện khi nhấn xem món đã gọi 141 Hình 5.18: Giao diện lựa chọn thanh toán trên menu 142

Hình 5.19: Máy chủ hiển thị thông báo thanh toán bàn 01 143

Hình 5.20: Hóa đơn bàn 01 trên phần mềm 144

Hình 5.21: Hóa đơn thanh toán dạng PDF 145

Hình 5.22: Giao diện hỏi đã xuất hóa đơn chưa 146 Hình 5.23: Giao diện xác nhận xóa hết danh sách bàn 01 147

Hình 5.24: Giao diện sau khi thanh toán trên hệ thống 148

Trang 27

Bảng Trang

Bảng 2.1: Tên và chức năng chân của thẻ nhớ/khe cắm thẻ nhớ 12 Bảng 3.1: Thông số nguồn các thiết bị tại máy con 41

Trang 28

Hiện nay, ứng dụng điện – điện tử làm cho cuộc sống hiện đại hơn, sang trọng hơn, thay thế con người trong 1 số hoạt động giúp rút ngắn thời gian và ổn định Menu điện tử ứng dụng trong nhà hàng cũng vậy, sau khi khách hàng chọn món thì ngay tức khắc đầu bếp đã xác nhận và thực hiện, đi kèm với phần mềm lưu trữ số liệu, cập nhật hiển thị trên máy chủ tại quầy để báo cáo doanh thu

Vì thế nhóm chọn đề tài “ Menu Điện Tử Trên Kit Raspberry pi 2” Dùng kit

Raspberry điều khiển chọn món trên Lcd 5 inch kết nối HDMI đặt tại bàn gửi dữ liệu bằng wifi đến máy chủ để lưu trữ dùng phần mềm SQL và hiển thị trên giao diện Visual Studio

Với kit Raspberry dùng phần mềm python 2.7.9 để lập trình giao diện và gửi dữ liệu chọn món qua wifi, mỗi món qui định 1 mã, gữi dữ liệu chuỗi số thập phân gồm

mã bàn, mã món, số lượng món đến Visual Studio để hiển thị trên máy chủ Khi khách hàng nhấn nút thanh toán thì gửi mã thanh toán và lập trình lưu dữ liệu của bàn đó vào phần mềm SQL

Về cơ bản sản phẩm hoạt động tốt đáp ứng các yêu cầu đặt ra về chọn món trên màn hình cảm ứng, máy chủ nhận được danh sách món đã chọn của bàn đó qua wifi và gửi cho bếp thực hiện, sản phẩm đảm bảo độ tin cậy, chưa hoàn thiện về mặt đóng gói, kiểu dáng

Trang 29

Hiện nay trong các lĩnh vực nhà hàng ăn uống, việc thực khách chọn món ăn bằng menu giấy sau đó nhân viên phục vụ ghi lại và đến quầy thu ngân đưa cho nhân viên thu ngân nhập vào máy tính tiền rồi chuyển đến phòng bếp Khoảng thời gian thực khách chờ đợi từ khi chọn món đến khi phòng bếp bắt đầu thực hiện phụ thuộc vào nhiều yếu tố (khoảng cách từ bàn đến quầy thu ngân, vận tốc nhân viên phục vụ, khả năng nhập của nhân viên kế toán…)

Với ý tưởng một menu điện tử giao diện chọn món trên màn hình cảm ứng và gửi

dữ liệu qua Internet Wifi làm cho thời gian chờ đợi của thực khách giảm đi rất nhiều Bên cạnh đó việc tự lưu vào phần mềm tính tiền đảm bảo chính xác thông tin, cập nhật liên tục và tức thời Ngoài ra một thiết kế nhỏ gọn và sang trọng cho sản phẩm tạo ấn tượng cho thực khách yêu thích công nghệ, sự khác biệt giữa các nhà hàng Tối ưu hóa quy trình phục vụ khách hàng nhanh chóng và chuyên nghiệp

Hệ thống menu điện tử trên thị trường Việt Nam có nhiều công ty kinh doanh sản phẩm với nhiều lựa chọn khác nhau, được dùng trong nhiều nhà hàng sang trọng 2 sao trở lên và có nhiều tiện ích (xem món đã hoàn thành hay chưa, gọi nhân viên phục vụ)

Đề tài hướng đến loại hình nhà hàng với chất lượng vừa và nhỏ, đáp ứng các chức năng cơ bản có trong menu điện tử

Nhóm đã tìm hiểu lựa chọn thiết bị thiết kế sản phẩm menu điện tử Kit Rasperry

Pi 2 Model B với tốc độ xử lý 900MHz, kết nối được với màn hình cảm ứng và usb Wifi đủ thực hiện chức năng chọn món đặt tại bàn Cùng với đó phân mềm Visual Studio hiển thị món ăn đã chọn khi nhận dữ liệu truyền từ wifi và kết nối với phần mềm quản lý cơ sở dữ liệu SQL Server thực hiện lưu trữ trên máy tính

Vì thế nhóm chọn đề tài “MENU ĐIỆN TỬ TRÊN KIT RASPBERRY PI 2”

cho đồ án tốt nghiệp

Trang 30

Giao diện menu trên máy con hiển thị các thông tin món: tên món, giá món, nguyên liệu chính làm món, thời gian thực hiện món Các hoạt động chọn số lượng món, gọi món, thanh toán, xem món đã gọi Đảm bảo số lượng món không thay đổi khi có sự cố xảy ra Tính toán chính xác giá tiền món và tổng số tiền, cập nhật và hiển thị đúng vị trí

Việc giao tiếp giữa Rpi2B và máy tính qua wifi được duy trì ổn định trong quá trình hoạt động với điều kiện bình thường

Giao diện trên máy tính có các chức năng: thêm món, đổi tên món, đổi giá món, xóa món khi cần thiết Nhận, hiển thị và cập nhật dữ liệu từ máy con Tạo mẫu hóa đơn gửi cho khách khi yêu cầu thanh toán, danh sách món vừa gọi gửi cho bếp Thống

kê và lưu trữ theo tổng số tiền của mỗi bàn khi nhận thông báo thanh toán từ máy con

1.3 NỘI DUNG NGHIÊN CỨU.

 NỘI DUNG 1: Nghiên cứu về Raspberry Pi 2 Model B (các lệnh hệ điều hành)

 NỘI DUNG 2: Nghiên cứu phần mềm lập trình Python để thiết kế giao diện

 NỘI DUNG 3: Truyền dữ liệu từ menu đến máy tính qua wifi

 NỘI DUNG 4: Phần mềm Visual Studio 2015, ngôn ngữ lập trình C# để tạo giao diện quản lý

 NỘI DUNG 5: Phần mềm SQL Server 2014 để lưu trữ, truy vấn dữ liệu

 NỘI DUNG 6: Phương thức kết nối giữa SQL Server 2014 với chương trình viết bằng ngôn ngữ lập trình C#

1.4 GIỚI HẠN

Nhóm thiết kế 1 thiết bị menu điện tử cho một bàn Vì điều kiện nên 1 thiết bị mô tả cho 5 bàn giao tiếp với máy chủ qua wifi, khoảng cách giới hạn trong môi trường wifi nội bộ của nhà hàng Số lượng món giới hạn 20 món, lưu trữ và thống kê dữ liệu theo bàn và theo thời gian, không in hóa đơn

Giới hạn phần cứng:

 Một Kit Raspberry Pi 2 Model B(Rpi2B)

Trang 31

ĐỒ ÁN TỐT NGHIỆP 3

 Một LCD cảm ứng điện trở 5inch

Giới hạn phần mềm:

 Trên Rpi2B dùng Python 2.7.9

 Trên máy chủ dùng Visual Studio, SQL Server

Giới hạn kỹ thuật:

 Kết nối giao tiếp dùng wifi nội bộ (khoảng cách truyền phụ thuộc vào vùng wifi)

 Sản phẩm hoạt động liên tục 12 giờ mỗi ngày cố định

1.5 BỐ CỤC

Chương 1: Tổng Quan

Chương 2: Cơ Sở Lý Thuyết

Chương 3: Thiết Kế và Tính Toán

Chương 4: Thi Công Hệ Thống

Chương 5: Kết Quả, Nhận Xét và Đánh Giá

Chương 6: Kết Luận và Hướng Phát Triển

Chương 1: Tổng Quan – Đặt vấn đề, nội dung, giới hạn nghiên cứu trong đề

tài

Chương 2: Cơ Sở Lý Thuyết – Giới thiệu các thiết bị, một số chuẩn giao tiếp,

phần mềm sử dụng trong đề tài

Chương 3: Thiết kế và tính toán – Sơ đồ khối của hệ thống, chọn nguồn cung

cấp dựa trên thông số nguồn của các phần sử dụng

Chương 4: Thi Công Hệ Thống – Trình bày nội dung về lắp ráp, kiểm tra hệ

thống, đóng gói sản phẩm, lưu đồ và lập trình hệ thống, viết quy trình thực hiện, thao tác và kết quả

Chương 5: Kết Quả, Nhận Xét và Đánh Giá.– Trình bày những kết quả đạt

được, so sánh với mục tiêu đặt ra

Chương 6: Kết Luận và Hướng Phát Triển – Khả năng ứng dụng của sản

phẩm thiết kế và hướng phát triển của đề tài trong tương lai

Trang 32

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 KIT RASPBERRY PI 2 MODEL B (Rpi2B)[7]

2.1.1 Mô tả chung

Có nhiều kit thực hiện được đề tài như arduino, arm Về arduino việc kết nối usb wifi (hoặc module wifi) và màn hình cảm ứng thì sản phẩm có độ dày và khi xảy ra hỏng hóc việc sửa lỗi phải thao tác lại mạch (hàn, khoan) Về arm thì có kit tích hợp sẵn lcd cảm ứng, phải thiết kế mạch kết nối wifi, việc nạp chương trình nhiều lần, test mạch, thao tác nhiều lần dễ hỏng hóc, độ bền giảm

Raspberry pi hoạt động trên môi trường linux (như 1 máy tính thu nhỏ) nên viết chương trình trong kit không cần qua bước nạp chương trình, có phần mềm python hỗ trợ thiết kế giao diện menu và giao tiếp socket để gửi thông tin đến thiết bị khác Sản phẩm thiết kế phù hợp với mục tiêu đặt ra Có thể điều khiển kit, lập trình thông qua wifi Dùng nguồn 5V và hoạt động tương đối ổn định là lý do nhóm quyết định sử dụng trong đề tài

Trang 33

 Đơn vị xử lý đồ họa (GPU): Broadcom VideoCore IV @ 250 MHz, OpenGL

ES 2.0, 24 GFLOPS, MPES – 2 và VC – 1 1080p30, H.264/MPEG-4 AVC bộ giải mã

 Bộ nhớ trên máy: Khe cắm thẻ nhớ Micro SDHC

 Truy cập mạng trên máy: Tốc độ 10/100 Mbit/s giao thức mạng (8P8C) hoặc dùng USB chuyển đổi

 Số lượng GPIO: 40 chân

 Công suất định mức: 600mA, 3W

USB 2.0 được phát hành năm 2000 Với tốc độ truyền dữ liệu tối đa 480Mbit/s USB 2.0 hỗ trợ những thiết bị chỉ cần băng thông thấp như bàn phím và chuột, cũng

Trang 34

như thiết bị cần băng thông lớn như webcam, máy quét, máy in, máy quay và những

hệ thống lưu trữ lớn

Hình 2.3 Vị trí chân USB chuẩn A và B

USB 2.0 kiểu A có chiều cao 4.5 mm, rộng 12 mm, gửi dữ liệu theo ASK (dừng đợi, kiểm tra dữ liệu, yêu cầu gửi lại khi gói tin gửi bị lỗi kiểm tra ), dòng ngõ vào tối

đa 0.5Ampe, điện áp cho phép 4.4 – 5.25 Volt DC Hỗ trợ ba chế độ tốc độ (1,5 Mbps,

12 Mbps và 480 Mbps) Cho phép mở rộng 127 kết nối cùng lúc thông qua 1 hub đến

1 cổng USB duy nhất (bao gồm cả hub)

USB 2.0 kiểu A có 4 chân, 2 chân nguồn và 2 chân D+ và D- để truyền hay nhận

dữ liệu Khoảng cách tối đa đến thiết bị là 30m, thực hiện bằng cách sử dụng 5 hub Số lượng tối đa cho phép là sáu tầng, mỗi hub là 4 đến 16 usb Nguồn tối đa cho một thiết

bị bên ngoài kết nối sử dụng điện áp cấp bởi cổng USB được giới hạn trong khoảng 100mA tại điện áp 5.0V

Đề tài dùng cổng USB 2.0 kiểu A kết nối với USB wifi và nhận điểm chạm trên Lcd cảm ứng waveshare

Trang 35

2.3 USB WIFI TL-WN725N V2[14]

2.3.1 Lý do lựa chọn thiết bị

Hình 2.4 USB wifi TL-WN725N V2

Hiện nay trên thị trường có nhiều sản phẩm USB wifi tương thích với RPi2B như

LB – Link, EDUP,… Nhưng TL – WN 725N là có khả năng kết nối wifi tốt, độ bền cao, và có tài liệu tham khảo cụ thể

Kết nối tương thích với Raspberry Pi 2 Model B Có tính năng mã hóa không dây tiên tiến và cài đặt dễ dàng Giá bán 180.000 đồng Cùng với những đặc tính dưới đây nên sử dụng trong đề tài

2.3.2 Đặc tính kỹ thuật

o Cổng kết nối: USB 2.0 kiểu A

o Kích thước: 0.73 x 0.59 x 0.28 in

o Khối lượng: 2.1 gam

o Anten: Đặt bên trong

o Chuẩn kết nối không dây: IEEE 802.11b, IEEE 802.11g, IEEE 802.11n

o Tần số hoạt động: 2.4 – 2.4835GHz

o Chất lượng tín hiệu: Chuẩn 11b: Tốc độ truy cập tối đa 11Mbps

Chuẩn 11g: Tốc độ truy cập tối đa 54Mbps

Chuẩn 11n: Tốc độ truy cập tối đa 150Mbps

o EIRP (công suất bức xạ đẳng hướng hiệu dụng): < 20dBm

o Chuẩn bảo mật không dây: Chuẩn 64/128 WEP, WPA/WPA2, PSK/WPA2-PSK (TKIP/AES), IEEE 802.1X

WPA-o Kỹ thuật điều chế: DBPSK, DQPSK, CCK, OFDM, 16 – QAM, 64 – QAM

o Các chuẩn giám định: CE, FCC, IC, RoHS

Trang 36

o Môi trường: Hoạt động ở nhiệt độ 0℃ ~ 40℃, độ ẩm 10% ~ 90% Nhiệt độ bảo quản -40℃ ~ 65℃, độ ẩm 5% ~ 90%

2.4 INTERNET WIFI (WIRELESS FIDELITY)[11]

Công nghệ không dây đã lan truyền rộng rãi và chúng ta có thể nhận được kết nối hầu như bất cứ nơi nào; ở nhà, tại nơi làm việc, trong các thư viện, trường học, sân bay, khách sạn và ở một số nhà hàng

Một mạng không dây sẽ truyền tải ở mức tần số 2.4 GHz hoặc 5GHz để thích ứng với lượng dữ liệu đang được gửi bởi người sử dụng Các tiêu chuẩn 802.11 mạng sẽ hơi khác nhau tùy thuộc chủ yếu vào nhu cầu của người dùng

Chuẩn 802.11a truyền dữ liệu ở mức tần số 5GHz Các ghép kênh phân chia theo tần số trực giao (OFDM) được sử dụng tăng cường tiếp nhận bằng cách chia các tín hiệu radio vào tín hiệu nhỏ hơn trước khi đến router Có thể truyền tối đa là 54 megabit dữ liệu mỗi giây

Chuẩn 802.11b truyền dữ liệu ở mức tần số 2.4GHz, đó là một tốc độ tương đối chậm Bạn có thể truyền tối đa là 11 megabit dữ liệu mỗi giây

Chuẩn 802.11g truyền dữ liệu ở 2.4GHz nhưng có thể truyền tải tối đa là 54 megabit dữ liệu mỗi giây là nó cũng sử dụng một mã OFDM

Trang 37

Chuẩn 802.11n tiên tiến hơn có thể truyền tối đa là 140 megabit dữ liệu mỗi giây

và sử dụng một mức tần số 5GHz

2.5 Giao tiếp Socket[13]

Hình 2.6 Giao tiếp Socket

Socket trong đời sống gọi là cái ổ cắm Nhưng trong tin học có ý nghĩa là một phương pháp dùng để giao tiếp giữa các tiến trình khác nhau trong mạng máy tính hay

là trên một máy đơn Socket là một trong những phương thức giao tiếp giữa các quá trình (giao tiếp các máy tính) như gửi tin nhắn, chat Trong các ứng dụng được viết ngày nay người ta sử dụng công cụ socket này rất nhiều như các Web , FTP Trong phần này chúng ta sẽ xem xét vấn đề trên môi trường Windows

Giả sử ta muốn gửi 1 file tài liệu đến 1 máy tính khác ở xa có kết nối internet Mô hình truy cập sau: máy chủ có chương trình chạy trên đó tiếp nhận các yêu cầu (server) Khi nào chúng ta muốn lấy dữ liệu (client) thì kết nối với máy chủ đó thông qua môi trường mạng để lấy dữ liệu về trên máy cá nhân Đây chính là mô hình client / server

Socket có 3 thuộc tính sau :

 Domain: Vùng giao tiếp của socket Nếu socket hoạt động trên môi trường

internet thì nó sẽ có giá trị là AF_INET (tức là hoạt động dựa theo chuẩn internet và dùng IP để xác định địa chỉ vật lý) Nếu socket hoạt động trên môi trường mạng cục bộ thì ta có thể dùng giao tiếp theo chuẩn: AF_UNIX (dùng đường dẫn và hệ thống file để đặt tên và xác định kết nối giữa hai hay nhiều ứng dụng Trong môi trường Linux thì các thiết bị cũng được coi như hệ thống file đặc biệt và socket cũng được coi như vậy )

Trang 38

 Kiểu socket type :

o SOCK_STREAM: Tạo ra kết nối bền vững ( kết nối dạng TCP) Kết nối này đảm bảo gói tin này đến đích an toàn và không bị mất mát, nhưng nó có nhược điểm là chậm và tốn nhiều tài nguyên

o SOCK_DGRAM: Cách gửi nhận dữ liệu một chiều (kết nối UDP), client gửi

dữ liệu đi mà không cần biết là server có nhận đựơc dữ liệu hay không Server khi nhận được dữ liệu cũng không cần phải xác nhận với client là đã nhận dữ liệu Tuy không an toàn nhưng nó nhanh và được sử dụng nhiều trong môi trường multi media

 Giao thức của socket (protocol): Giao thức là cách quy ước gửi nhận dữ liệu

trong quá trình trao đổi thông tin (VD ai gửi trước, ai nhận , gửi nhận theo thứ tự nào ) Có nhiều giao thức đối với mỗi loại socket, nhưng dùng nhiều là TCP và UDP

 Đề tài sử dụng kiểu socket là SOCK_STREAM vì phải chính xác dữ liệu chọn món, vùng giao tiếp là AF_INET vì dùng internet wifi, giao thức là chỉ client (đặt tại bàn) gửi cho server (máy chủ quản lý)

SDHC viết tắt của từ Secure Digital High Capacity Phát hành vào tháng 1 năm

2006 và được xem như phiên bản 2.0 của khe cắm thẻ nhớ SD Cấu tạo phần cứng và đặc tính điện giống như khe cắm thẻ SD và tốc độ truyền tải dữ liệu từ 12Mbit/s đến 25Mbit/s Điện áp hoạt động từ 1.8 đến 3.3V

Trang 39

Có khả năng tương thích với các thẻ nhớ SDSC, SDHC, SDHC UHS-I, SDHC UHS-II Giao tiếp giữa khe cắm và thẻ nhớ qua chuẩn SPI

Hình 2.8 Sơ đồ chân thẻ nhớ micro SDHC

Sơ đồ chân thẻ nhớ micro SDHC

1 NC – Not Connect Không sử dụng

2 CS – Card Select Chọn chế độ chủ tớ

3 DI – Data Input Nhận tín hiệu

4 VDD – Voltage Drain drain Chân điện thế dương

5 CLK – Clock Cấp xung dao động

6 VSS – Voltage for substrate and source Chân điện thế âm

7 DO – Data Ouput Gửi tín hiệu

8 NC – Not Connect Không kết nối

Bảng 2.1 Tên và chức năng chân của thẻ nhớ/khe cắm thẻ nhớ

2.6.2 Mô tả chuẩn giao tiếp trong thẻ nhớ[16]

Thẻ nhớ giao tiếp với Rpi2B bằng chuẩn SPI Khi gắn thẻ nhớ vào khe cắm hình thành việc kết nối cơ bản theo sơ đồ sau

Trang 40

Hình 2.9 Kết nối giữa Master và Slave

SCLK : Serial Clock (output from master) tương ứng chân CLK trên thẻ nhớ

MOSI : Master Output, Slave Input (output from master) tương ứng chân DO MISO : Master Input, Slave Output (output from slave) tương ứng chân DI

SS : Slave Select (active low, output from master) tương ứng chân CS

Theo đó Master sẽ cấp xung dao động cho Slave, chân MOSI của master nối với MOSI của slave để gửi truyền tín hiệu từ Master đến SS là đường chọn Slave cần giao tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó

Hình 2.10 Giao tiếp giữa Master và Slave

Hoạt động truyền nhận tín hiệu: mỗi chip Master hay Slave có một thanh ghi dữ liệu

8 bits Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công” Việc truyền nhận tiếp tục cho đến khi hoàn tất

Ngày đăng: 18/01/2021, 22:40

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Eben Upton and Gareth Halfacree, “Raspberry Pi® User Guide”, John Wiley &amp; Sons Ltd, năm 2012 Sách, tạp chí
Tiêu đề: Raspberry Pi® User Guide
[2] John E. Grayson, “Python and Tkinter Programming”, Manning Publications Co, năm 2000 Sách, tạp chí
Tiêu đề: Python and Tkinter Programming
[3] James Payne,“Beginning Python®”, Wiley Publishing Inc, năm 2010 Sách, tạp chí
Tiêu đề: Beginning Python®”
[4] John W. Shipman, “Tkinter 8.5 reference: a GUI for Python”, New Mexico Tech Computer Center, năm 2013 Sách, tạp chí
Tiêu đề: Tkinter 8.5 reference: a GUI for Python
[5] Simon Monk, “Raspberry Pi Cookbook”, O'Reilly Media, năm 2014 Sách, tạp chí
Tiêu đề: Raspberry Pi Cookbook
[6] Mark Luiz, “Learning Python, Third Edition”, O'Reilly Media, năm 2008 Sách, tạp chí
Tiêu đề: “Learning Python, Third Edition”
[7] “Raspberry Pi”, https://en.wikipedia.org/wiki, 2016. Link: https://en.wikipedia.org/wiki/Raspberry_Pi Sách, tạp chí
Tiêu đề: “Raspberry Pi”
[8] “USB”, https://en.wikipedia.org/wiki, 2016. Link: https://en.wikipedia.org/wiki/USB Sách, tạp chí
Tiêu đề: “USB”
[9] “Secure Digital”, https://en.wikipedia.org/wiki, 2016. Link: https://en.wikipedia.org/wiki/Secure_Digital#Micro Sách, tạp chí
Tiêu đề: “Secure Digital”
[10] “HDMI”, https://en.wikipedia.org/wiki, 2016. Link: https://en.wikipedia.org/wiki/HDMI#Version_1.3 Sách, tạp chí
Tiêu đề: HDMI”
[11] “What is WiFi and How Does it Work?”, http://ccm.net, 2016. Link: http://ccm.net/faq/298-what-is-wifi-and-how-does-it-work Sách, tạp chí
Tiêu đề: “What is WiFi and How Does it Work?”
[12] LuCuS, “Installing VNC on Raspberry Pi”, http://www.prodigyproductionsllc.com, 2013 Sách, tạp chí
Tiêu đề: “Installing VNC on Raspberry Pi”
[13] “SOCKET và LẬP TRÌNH SOCKET”, http://h0akd.blogspot.com, 2012. Link: http://h0akd.blogspot.com/2012/05/socket-va-lap-trinh-socket.html Sách, tạp chí
Tiêu đề: “SOCKET và LẬP TRÌNH SOCKET”
[14] “Bộ chuyển đổi USB Nano chuẩn N không dây tốc đô150Mbps”, http://www.tp- link.vn, 2016.Link: http://www.tp-link.vn/products/details/cat-11_TL-WN725N.html [15] “5inch HDMI LCD (B)”, http://www.waveshare.com, 2016 Sách, tạp chí
Tiêu đề: “Bộ chuyển đổi USB Nano chuẩn N không dây tốc đô150Mbps”," http://www.tp-link.vn, 2016. Link: http://www.tp-link.vn/products/details/cat-11_TL-WN725N.html [15] "“5inch HDMI LCD (B)”
[16] “Serial Peripheral Interface Bus”, https://en.wikipedia.org, 2016. Link: https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus Sách, tạp chí
Tiêu đề: “Serial Peripheral Interface Bus”
[17] Javier Calpe and Italo Medina and Alberto Carbajo and María José Martínez ,“AD7879 Controller Enables Gesture Recognition on Resistive Touch Screens”, http://www.analog.com, 2011 Sách, tạp chí
Tiêu đề: “AD7879 Controller Enables Gesture Recognition on Resistive Touch Screens”
[18]“Introduction Python”, https://docs.python.org, 2016. Link: https://docs.python.org/2/reference/introduction.html#introduction Sách, tạp chí
Tiêu đề: “Introduction Python”
[19] Corn Pi,“All Raspberry Pi Products Dimension Drawings”, https://www.raspiworld.com, 2016.Link: https://www.raspiworld.com/viewtopic.php?t=13 Sách, tạp chí
Tiêu đề: “All Raspberry Pi Products Dimension Drawings”
[20] “Microsoft Visual Studio”, https://vi.wikipedia.org, 2016. Link: https://vi.wikipedia.org/wiki/Microsoft_Visual_Studio Sách, tạp chí
Tiêu đề: “Microsoft Visual Studio”
[21] “Microsoft Visual Studio”, https://vi.wikipedia.org, 2016. Link: https://vi.wikipedia.org/wiki/C_th%C4%83ng Sách, tạp chí
Tiêu đề: “Microsoft Visual Studio”

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w