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

Hệ thống bảng giá kệ sử dụng bluetooth 5 0 và màn hình e ink phần mềm phần cứng của gateway

121 0 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

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG GIÁ KỆ SỬ DỤNG BLUETOOTH 5.0 VÀ MÀN HÌNH E-INK (GATE WAY) NGÀNH: KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG GIẢNG VIÊN HƯỚNG DẪN: TS VÕ ĐÌNH TÙNG Sinh viên thực hiện: MSSV: Lớp: Lê Huỳnh Nhật Duy 1711010002 17DDTA1 Bành Nhựt Tiến 1711010025 17DDTA1 Tp Hồ Chí Minh, tháng 9/2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG GIÁ KỆ SỬ DỤNG BLUETOOTH 5.0 VÀ MÀN HÌNH E-INK (GATE WAY) NGÀNH: KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG GIẢNG VIÊN HƯỚNG DẪN: TS VÕ ĐÌNH TÙNG Sinh viên thực hiện: MSSV: Lớp: Lê Huỳnh Nhật Duy 1711010002 17DDTA1 Bành Nhựt Tiến 1711010025 17DDTA1 Tp Hồ Chí Minh, tháng 9/2021 BM01/QT05/ĐT-KT VIỆN KỸ THUẬT HUTECH PHIẾU ĐĂNG KÝ ĐỀ TÀI ĐỒ ÁN/KHĨA LUẬN TỐT NGHIỆP Hệ: …….Chính quy…… (CQ, LT, B2, VLVH) Họ tên sinh viên/ nhóm sinh viên đăng ký đề tài (sĩ số nhóm 2): (1) Lê Huỳnh Nhật Duy MSSV: 1711010002…Lớp: 17DDTA1 Điện thoại: 0908132880 Email: leduy230899@gmail.com (2) Bành Nhựt Tiến MSSV: 1711010025 …Lớp: 17DDTA1 Điện thoại: 0971201828 Email: banhnhuttienlevi@gmail.com (3) MSSV: ………………… Lớp: Điện thoại: Email: Ngành : Kỹ thuật điện tử truyền thông Chuyên ngành : Kỹ thuật điện tử truyền thông Tên đề tài đăng ký : Hệ thống bảng giá kệ sử dụng bluetooth 5.0 hình Eink (phần mềm + phần cứng ) gateway Sinh viên hiểu rõ yêu cầu đề tài cam kết thực đề tài theo tiến độ hoàn thành thời hạn Giảng viên hướng dẫn (Ký ghi rõ họ tên) TP HCM, ngày 12 tháng 04 năm 2021 Sinh viên đăng ký (Ký ghi rõ họ tên) TS Võ Đình Tùng Lê Huỳnh Nhật Duy Bành Nhựt Tiến MÃ ĐỀ TÀI: 96 VIỆN KỸ THUẬT HUTECH PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Mỗi sinh viên phiếu, GVHD ghi rõ tên đề tài nhiệm vụ sinh viên GVHD chuyển cho SV để nộp VP Viện.) Sinh viên thực đề tài Họ tên : Lê Huỳnh Nhật Duy MSSV : 1711010002 Lớp : 17DDTA1 Điện thoại : 0908132880 Email : leduy230899@gmail.com Ngành : Kỹ Thuật Điện Tử - Truyền Thông Tên đề tài: Hệ thống bảng giá kệ sử dụng bluetooth 5.0 hình E-ink (gate way) Nhiệm vụ thực đề tài: _ Tìm hiểu Raspberry pi pi _ Cài đặt Raspberry pi pi _ Thiết kế vỏ hộp cho Raspberry pi pi _ Cài đặt bluetooth 5.0 internet cho Raspberry pi _ Thiết lập gate way cho Raspberry pi pi Sinh viên thực (Ký ghi rõ họ tên) TP HCM, ngày 18 tháng 05 năm 2021 Giảng viên hướng dẫn (Ký ghi rõ họ tên) Lê Huỳnh Nhật Duy TS Võ Đình Tùng MÃ ĐỀ TÀI: 96 VIỆN KỸ THUẬT HUTECH PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Mỗi sinh viên phiếu, GVHD ghi rõ tên đề tài nhiệm vụ sinh viên GVHD chuyển cho SV để nộp VP Viện.) Sinh viên thực đề tài Họ tên : Bành Nhựt Tiến MSSV : 1711010025 Lớp : 17DDTA1 Điện thoại : 0971201828 Email : banhnhuttienlevi@gmail.com Ngành : Kỹ Thuật Điện Tử - Truyền Thông Tên đề tài: Hệ thống bảng giá kệ sử dụng bluetooth 5.0 hình E-ink (gate way) Nhiệm vụ thực đề tài: _ Tìm hiểu ngơn ngữ lập trình Python _ Tìm hiểu giao thức kết nối _ Thiết kế Front-end cho website _ Lập trình Back-end cho website _ Hoàn chỉnh kết nối gate way mạch hiển thị TP HCM, ngày 18 tháng 05 năm 2021 Sinh viên thực Giảng viên hướng dẫn (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) Bành Nhựt tiến TS Võ Đình Tùng LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tp Hồ Chí Minh, ngày 09 tháng 08 năm 2021 (Ký tên ghi rõ họ tên) Lê Huỳnh Nhật Duy i Bành Nhựt Tiến LỜI CẢM ƠN Để hoàn thành chuyên đề báo cáo đồ án tốt nghiệp trước hết em xin gửi đến quý thầy, cô Viện Kỹ thuật Hutech lời cảm ơn chân thành Đặc biệt, em xin gởi đến thầy Võ Đình Tùng người tận tình hướng dẫn, giúp đỡ em hồn thành chun đề báo cáo đồ án tốt nghiệp lời cảm ơn sâu sắc Với điều kiện thời gian kiến thức hiểu biết hạn chế sinh viên, báo cáo tránh thiếu sót Em mong nhận bảo, đóng góp ý kiến q thầy để em có điều kiện bổ sung, nâng cao ý thức mình, phục vụ tốt cho đề tài đồ án phát triển sau Em xin chân thành cảm ơn! TP.HCM, ngày 09 tháng 08 năm 2021 Sinh viên thực Lê Huỳnh Nhật Duy ii Bành Nhựt Tiến MỤC LỤC PHIẾU ĐĂNG KÝ ĐỀ TÀI ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH SÁCH CÁC CHỮ VIẾT TẮT vii DANH SÁCH CÁC HÌNH viii DANH SÁCH CÁC BẢNG .x LỜI MỞ ĐẦU 1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI: .1 TÌNH HÌNH NGHIÊN CỨU: .1 MỤC ĐÍCH NGHIÊN CỨU: .2 NHIỆM VỤ NGHIÊN CỨU: .3 PHƯƠNG PHÁP NGHIÊN CỨU: .4 CÁC KẾT QUẢ ĐẠT ĐƯỢC CỦA ĐỀ TÀI KẾT CẤU CỦA ĐỒ ÁN Chương GIỚI THIỆU 1.1 Một số phương pháp hiển thị giá .5 1.2 Các công nghệ kết nối không dây 1.3 Công nghệ Bluetooth 5.0: Chương TỔNG QUAN GIẢI PHÁP .12 2.1 Raspberry pi W (Wireless): 12 2.2 Raspberry Pi4 model B: 12 2.3 Công nghệ Bluetooth version 5.0 13 2.3.1 Nguyên lí hoạt động Bluetooth: 14 2.3.2 Các chuẩn kết nối Bluetooth: .14 2.4 Cơ sở lý thuyết ngôn ngữ lập trình WebServer Full-Stacked 16 iii 2.5 Các ngơn ngữ lập trình Web tốt nay: 17 2.5.1 Ngôn ngữ lập trình Web PHP: 17 2.5.2 Ngơn ngữ lập trình Web Java: 17 2.5.3 Ngôn ngữ JavaScript: 17 2.5.4 Ngơn ngữ lập trình Web C++: 17 2.5.5 Ngơn ngữ lập trình HTML: 17 2.6 Các công cụ cần có cơng việc: 18 2.7 Mơi trường lập trình : .19 2.7.1 Linux: 19 2.7.2 Chrome: .20 2.8 Ứng dụng xây dựng môi trường : Visual Studio , ChromeBase: 20 Chương PHƯƠNG PHÁP GIẢI QUYẾT .22 3.1 Hệ thống nhãn kệ điện tử: .22 3.2 Thiết lập máy tính nhúng để thay đổi liệu cửa hàng: 23 3.2.1 Thiết kế sơ đồ: 23 3.2.2 Giải thích chức khối: 23 3.2.2.1 Khối nguồn: 23 3.2.2.2 Khối nhập liệu: 23 3.2.2.3 Khối xử lý .23 3.2.2.4 Website: 24 3.2.2.5 Khối hiển thị: 24 3.3 Sơ đồ khối nhãn kệ điện tử .24 3.3.1 Thiết kế sơ đồ khối 24 3.3.2 Chức khối: 24 3.3.2.1 Khối nguồn: 24 3.3.2.2 Khối thu phát Bluetooth: 24 3.3.2.3 Khối xử lý: .25 3.3.2.4 Khối chuyển đổi mức điện áp: 25 3.3.2.5 Khối hình hiển thị: 25 iv 3.3.2.6 Khối giao tiếp với máy tính: 25 Chương QUY TRÌNH THIẾT KẾ 26 4.1 Sơ đồ hệ thống: .26 4.2 Nguyên lý hoạt động hệ thống: .26 4.3 Phần trung tâm điều khiển: .27 4.4 Setup thẻ nhớ: 28 4.5 Set up Raspberry Pi W Pi 4: 30 4.6 Cài đặt chương trình cho raspberry: 30 4.7 Vị trí thực cho khối nhiệm vụ LẬP TRÌNH: 31 4.8 Khâu thiết kế Front End: .31 4.9 Khâu lập trình Back End: .32 4.10 Các thành phần Web Nhiệm vụ chúng: 32 4.10.1 Trang Login (tham khảo code templates/auth/login.html) 33 4.10.2 Trang Chào (tham khảo code templates/dashboard) 34 4.10.3 Trang làm việc với kết nối cũ .34 4.10.4 Trang tìm kết nối (tham khảo code templates/slave) .35 4.10.5 Trang Làm việc kết nối (tham khảo code templates/slave) 35 4.10.6 Trang đổi Password (tham khảo code templates/system) 36 4.11 Khởi tạo Thực chương trình (Tham khảo Readme.md) .36 4.12 Khởi động Gate Way Raspberry pi: 36 Chương THI CÔNG 37 5.1 Sử dụng Gate Way Bluetag: 37 5.1.1 Trang Login: 37 5.1.2 Trang chào: 38 5.1.3 Trang Làm việc kết nối cũ: 38 5.1.4 Trang làm việc với kết nối 39 5.1.5 Trang làm việc với nhiều thiết bị lúc: .42 5.1.6 Trang Đổi pass 43 5.2 Thao tác trang Web với hình E-inks: 43 v Edit Display Refetch Display Cancel Connected slaves Index Mac Device Name Product Name Product Price Status Actions 92 {% endblock %} {% block script %} $(() => { hideBtn(); fetchConnectedSlaves(); }); {% endblock %} scan.html {% extends "base.html" %} {% block pagetitle %}Slave scan{% endblock %} {% block slavenav %}active{% endblock %} {% block leftnav %} {% endblock%} {% block main %} Slave scan Actions Re-scan 93 Available devices Mac Network Name Actions {% endblock %} {% block script %} $(() => { slaveScan(); }); {% endblock %} test.html {% extends "base.html" %} {% block pagetitle %}{{mac}} Test{% endblock %} {% block slavenav %}active{% endblock %} {% block leftnav %} {% endblock%} {% block main %} Slave test 94 {{mac}} Function test Product name Product price Display product Name Display product price Refresh display Add device Device name 95 Add this device {% endblock %} System index.html {% extends "base.html" %} {% block pagetitle %}System{% endblock %} {% block systemnav %}active{% endblock %} {% block main %} System Change Password Edit Login name Old password New password Re-type new password 97 Update password {% endblock %} base.html Bluetag - {% block pagetitle %}{% endblock %} Bluetag 98 {% block main %}{% endblock %} 99 {% block script %}{% endblock %} App.py import os from flask import Flask from core import logging as log threads = [] def create_app(test_config=None): app = Flask( name , instance_relative_config=True) app.config.from_mapping( SECRET_KEY='thisisseriouspysecured', DATABASE=os.path.join(app.instance_path, 'bluetag.db'), ) 100 if test_config is None: app.config.from_pyfile('config.py', silent=True) else: app.config.update(test_config) # ensure the instance folder exists try: os.makedirs(app.instance_path) except OSError: pass # register the database commands from core.data import database as db db.appinit(app) # apply the blueprints to the app from api import auth as auth_api from api import slave as slave_api from api import system as sys_api from page import dashboard, slave, system, auth app.register_blueprint(auth_api.bp) app.register_blueprint(slave_api.bp) app.register_blueprint(sys_api.bp) app.register_blueprint(dashboard.bp) app.register_blueprint(slave.bp) app.register_blueprint(system.bp) app.register_blueprint(auth.bp) app.add_url_rule("/", endpoint="dashboard.index") log.event('API started') 101 log.event('Site started') return app def add_threads(item): threads.append(item) return threads def remove_threads(item): threads.remove(item) return threads def get_threads(mac = None): if mac != None: for x in threads: if x['mac'] == mac: thread = x return thread return threads def init_threads(): threads.clear() return threads main.py from app import create_app if name == " main ": app = create_app() app.run(host='0.0.0.0') 102 # from functools import wraps # import traceback # def log_decorator(retries= 3): # def actual_decorator(f): # @wraps(f) # def wrapper(*args, **kwargs): # tries= # while True: # if tries >= retries: break # try: return f(*args, **kwargs) # except: # tries+=1 # print(traceback.format_exc()) # # return wrapper return actual_decorator Hướng dẫn sử dụng khơng có Raspberry readme.md # Bluetag ## Khởi tạo project ### 1.1 Tạo sử dụng thư mục chứa project *Đầu tiên khởi tạo thư mục chứa thứ* **Windows, Linux** > `mkdir` 103 > `cd` mkdir bluetag cd bluetag ### 1.2 Khởi tạo kích hoạt mơi trường ảo *Để tiện việc di chuyển, sử dụng code, ta cần cài đặt môi trường ảo* **Windows**` > `py -m venv ` > **`\Scripts\activate.bat` py -m venv env env\Scripts\activate.bat **Linux** > `python3 -m venv `** > `source `**`/bin/activate` python3 -m venv env source env/bin/activate 104 ### 1.3 Cài đặt packages *Danh sách package ghi file, cài đặt từ đấy, khỏi công nhớ* **Windows** > `py -m pip install -r ` ** py -m pip install -r packagewin.cfg **Linux** > `pip3 install -r ` ** pip3 install -r package.conf ## 2.Chạy project **Windows** > `set FLASK_APP=` ** > `set FLASK_ENV=development` > `flask run host `** set FLASK_APP=app.py set FLASK_ENV=development flask run host 0.0.0.0 105 **Linux** > `export FLASK_APP=` ** > `export FLASK_ENV=development` > `flask run host ` ** 106

Ngày đăng: 31/08/2023, 08:36

w