Mơ hình chi tiết hệ thống thay đổi bảng giá kệ

Một phần của tài liệu 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 (Trang 31)

Điểm kết nối (gate way): Bao gồm một máy tính nhúng Raspberry Pi 4 sẽ được kết nối số lượng hữu hạn nhãn kệ điện tử qua bluetooth 5.0 để vận hành thay đổi tên và giá qua 1 trang web và dữ liệu được lưu trên server.

23

màn hình theo yêu cầu của người dùng được kết nối với máy tính nhúng qua bluetooth 5.0.

3.2 Thiết lập máy tính nhúng để thay đổi dữ liệu tại cửa hàng: 3.2.1 Thiết kế sơ đồ: 3.2.1 Thiết kế sơ đồ:

Hình 3.2: Sơ đồ của của máy tính nhúng

3.2.2 Giải thích chức năng từng khối: 3.2.2.1 Khối nguồn: 3.2.2.1 Khối nguồn:

Sử dụng adapter nguồn (5,1V – 3A) để cấp nguồn cho khối xử lý (raspberry) cấp cho raspberry pi.

Tuỳ vào màn hình chúng ta sử dụng để hiển thị mà chúng ta có nguồn cấp riêng phù hợp cho khối hiển thị.

3.2.2.2 Khối nhập dữ liệu:

Sử dụng bàn phím và chuột kết nối với raspberrry qua cổng USB, dùng để nhập dữ liệu truyền cho khối xử lý

3.2.2.3 Khối xử lý

Sử dung máy tính nhúng Raspberry, tham gia trực tiếp vào quản lý thông tin truyền nhận từ raspberry tới mạch hiển thị nhãn kệ điện tử

24

3.2.2.4 Website:

Có nhiệm vụ nhận và lưu trữ dữ liệu từ khối xử lý đồng thời tham gia xử lý trực tiếp đến màn hình E-ink

3.2.2.5 Khối hiển thị:

Là màn hình của máy tính nhúng (Có thể sử dụng nhiều loại màn hình có kết nối cổng HDMI-HDMI hoặc HDMI-DVI hoặc HDMI-VGA hay RCA Video.), có nhiệm vụ hiển thị kết quả truyền nhận dữ liệu.

3.3 Sơ đồ khối nhãn kệ điện tử 3.3.1 Thiết kế sơ đồ khối 3.3.1 Thiết kế sơ đồ khối

Hình 3.3: Sơ đồ khối nhãn kệ điện tử

3.3.2 Chức năng từng khối: 3.3.2.1 Khối nguồn: 3.3.2.1 Khối nguồn:

Sử dụng nguồn pin (2 pin mắc nối tiếp) 6 VDC qua bộ lọc nguồn 5V cấp cho khối xử lý, khối thu phát Bluetooth và khối chuyển đổi điện áp.

3.3.2.2 Khối thu phát Bluetooth:

25

3.3.2.3 Khối xử lý:

Nhận dữ liệu từ khối thu phát Bluetooth sau đó xử lý dữ liệu sau đó chuyển sang khối chuyển đổi điện áp.

3.3.2.4 Khối chuyển đổi mức điện áp:

Chuyển điện áp từ 5V sang 3.3V để cấp nguồn cho khối màn hình hiển thị và đưa dữ liệu đến khối màn hình hiển thị.

3.3.2.5 Khối màn hình hiển thị:

Nhận dữ liệu từ khối xử lý qua khối chuyển đổi mức điện áp để phù hợp nguồn cấp và đưa lên màn hình E-ink.

3.3.2.6 Khối giao tiếp với máy tính:

Dùng để nạp frame cho màn hình E-ink, thay đổi code và truyền dữ liệu. Có thể dùng nguồn từ máy tính thơng qua cổng micro USB để cấp cho phần màn hình hiển thị.

26

Chương 4

QUY TRÌNH THIẾT KẾ

4.1 Sơ đồ của hệ thống:

Hình 4.1: Mơ hình tổng quát hệ thống thay đổi bảng giá kệ

4.2 Nguyên lý hoạt động hệ thống:

Đăng nhập tài khoản mật khẩu vào hệ thống trên web thông qua raspberry. Quét các thiết bị màn hình hiển thị xung quanh raspberry được trang bị bluetooth. Chọn các màn hình hiển thị cần cập nhật nội dung và lưu thiết bị. Nhập giá trị vào các khung protduct name và product price và nhấn vào display product name hoặc product price để cập nhật nội dung trên màn hình E-ink, các dữ liệu này sau khi cập trên web được gửi sang mạch hiển thị bằng tín hiệu bluetooth 5.0. Khi module

27

bluetooth 5.0 của mạch hiển thị nhận được dữ liệu sẽ kết nối với vi điều khiển Atmega328P mã hóa dữ liệu và đưa dữ liệu lên màn hình E-ink.

4.3 Phần trung tâm điều khiển:

Quá trình truyền nhận giữ liệu của hệ thống

Hình 4.2: Sơ đồ xử lý lệnh (thao tác) trong hệ thống Bluetag

Thuật ngữ

Slave là thiết bị hiển thị giá kệ giao tiếp qua bluetooth

Master là máy tính nhúng Raspberry Pi, làm cầu nối giao tiếp giữa slave và người dùng, thông qua hệ thống API.

Một lệnh trong hệ thống được tiến hành qua các bước:

Người dùng gọi api của lệnh tương ứng qua ứng dụng thứ 3 hoặc qua website mặc định

Với lệnh được gửi ở bước 1, Master thao tác nội bộ để lấy- sửa đổi thông tin cần thiết, hoặc chuyển tiếp lệnh cho Slave nếu cần thiết thông qua BLE

(Optional) Nếu nhận được lệnh hợp lệ, Slave sẽ thực hiện lệnh theo định nghĩa, sau đó trả kết quả thực hiện thao tác về cho Master thông qua BLE

28

Sau khi nhận được kết quả từ bước 3 hoặc thao tác xong ở bước 2, Master gửi response về cho người dùng thông qua API được gọi ở bước 1

4.4. Setup thẻ nhớ:

Trước khi 2 con raspberry pi 0 và pi 4, điều đầu tiên cần làm là chuẩn bị 1 thẻ nhớ để cài đặt hệ điều hành raspberry (raspberry OS) cho việc sử dụng raspberry, để sử dụng gate way ổn định và nhanh nhất có thể nên phải chọn thẻ nhớ có dung lượng cao hơn 8GB, nên chúng tôi chọn 16 GB.

Sau khi download Raspberry Pi Imager (Chọn phiên bản dành cho windows) trên trang web: https://www.raspberrypi.org/software/

Tiến hành bằng việc căm thể nhớ vào đầu đọc thẻ nhớ của laptop và khởi động Raspberry Pi Imager:

29

Bước 1: Click CHOOSE OS và chọn Raspberry pi OS (32-bit):

Hình 4.4: Giao diện chọn OS cho thẻ nhớ

Bước 2: Click CHOOSE SD CARD và chọn thẻ nhớ đang cắm vào máy:

Hình 4.5: Giao diện chọn thẻ nhớ

Bước 3: Click WRITE để cài đặt OS:

Sau khi cài đặt OS hoàn tất, chuyển sang Raspberry để tiếp tục cài đặt các chương trình cơ bản cần có.

30

4.5. Set up Raspberry Pi 0 W và Pi 4:

Hình 4.6: Sơ đồ chân kết nối của Pi 0 W và Pi 4

Trước khi khởi động Raspberry, cần phải cắm thẻ nhớ đã được cài đặt OS, kết nối chuột, bàn phím vào cổng USB (3.0 hoặc 2.0) với Pi 4, Pi 0 W do chỉ có một cổng Data micro USB nên cần một đầu HUB để chia chuyển 1 cổng micro USB thành 2 Cổng USB thường.

Cịn cổng HDMI của từng Raspberry có kích thước khác nhau nên cũng cần phải có 1 đầu chuyển để kết nối với màn hình riêng:

Pi 0 W thì cần 1 đầu chuyển mini HDMI sang HDMI thường.

Pi 4 thì cần 1 đầu chuyển micro HDMI (0 hoặc 1) sang HDMI thường Sau đó cấp nguồn cho Raspberry để khỏi động

4.6. Cài đặt chương trình cho raspberry:

Mở terminal, đánh lệnh:

Cập nhật phiên bản phần mềm mới nhất cho raspberry bằng lệnh (có kết nối Internet) sudo apt-get update

sudo apt-get dist-upgrade (download xong nhấn "Y") Cài đặt quản lý Bluetooth (Bluezman)

Sau khi cập nhật xong, cài đặt thêm phàn mềm quản lý bluetooth Bluezman: sudo apt-get install bluetooth bluez blueman

sudo reboot

31

Kể từ bước này có thể kết nối bluetooth với các thiết bị gần, hoặc (discoverable) tìm thiết bị để raspberry kết nối với thiết bị có bluetooth khác như smartphone

Sau đó đánh lệnh: sudo bluetoothctl

(đánh password cố định "raspberry")* agent on Sau đó Enter

default-agent Sau đó Enter scan on Sau đó Enter

pair [device Bluetooth address]

Hình 4.7: Kết nối mạng và quản lý kết nối thiết bị Bluetooth

4.7 Vị trí thực hiện cho khối nhiệm vụ LẬP TRÌNH:

` Visual Studio ` Linux ` RaspberryOS ` Chrome

4.8 Khâu thiết kế Front End:

`Background `Title

`Banner `Dashboard `Login

32 `Search Click Button

`Select Click Button

`database chạy ngầm sang Mục lưu trữ có sẵn trong Chrome `Status On Board

`Transmitt and Alert

4.9 Khâu lập trình Back End:

`API

`API Database `API Table `API qua WAP `API qua HTTP

4.10 Các thành phần chính của Web và Nhiệm vụ của chúng:

33

Hình 4.9: File dữ liệu Web

Điểm chung : Tất cả các trang làm việc cùng sử dụng chung một Phông chữ và Cỡ chữ nhất định để tạo tính đồng nhất.

Điểm khác biệt : Tùy theo khả năng và ước muốn của người dùng ta có thể thay đổi chức năng hoặc ngoại hình website [6]

4.10.1 Trang Login (tham khảo code tại templates/auth/login.html)

Về mặt hình thức: bao gồm - 2 dịng điền thơng

- 1 nút nhấn đăng nhập

Về mặt nhiệm vụ: Tạo ra 1 file nhiệm vụ trong Mục API , có nhiệm vụ tạo ra 1 login admin và 1 password cho admin. Sau đó các lần đăng nhập sau user chỉ cần nhập đúng là sẽ được cấp đặc quyền của 1 admin hệ thống ( Chính xác tại webserver này chỉ có 1 admin – user ).

Tạo ra khoảng thông tin không để kiểm tra từ các dữ liệu so so API ta dùng If/If not – token - return

So sánh tên truy cập trong Database ta dùng If để so sánh với Data: sẽ xảy ra 2 trường hợp:

34 - Đăng nhập thành công

- Đăng nhập thất bại : - Sai tên đăng nhập - Sai mật khẩu

Ở phần code này: Quy định duy nhất để mở được hệ thống chính là phải mở ra 1 trang HTTP được quy định tại file app.py để có thể chạy chương trình ( vì sử dụng Linux trên RaspberryOS , sự khác nhau về hiểu biết của 2 hệ điều hành là 1 bậc )

4.10.2 Trang Chào (tham khảo code tại templates/dashboard)

Chào mừng… và cho biết các tác vụ mà website sẽ làm được - 1 bảng Dashboard:

o 1 tab Dashboard o 1 tab Slave o 1 tab System

4.10.3 Trang làm việc với các kết nối cũ

(tham khảo code tại templates/slave/login.html)

Về mặt hình thức: bao gồm - 1 bảng thông tin danh sách

- 5 nút nhấn : Kết nối , Quét , Làm mới , Edit , Trạng thái , Chi tiết Về mặt nhiệm vụ:

Tạo ra 1 Bảng giá trị thời gian thực đồng thời lưu trữ thông tin các kết nối bao gồm Địa chỉ MAC , Tên thay thế , Thông tin hiểu thị : Giá sản phẩm, Tên sản phẩm và Trạng thái kết nối hiện tại

Và sau đó ta set up 1 bảng Information để chuyển thông tin sang API Database để truyền data được điền vào

Các Data được xem là các threads ( luồng thôn tin) bao gồm Device_name

Prroduct_name Product_price

35

Và sau đó nhận kết q qua thơng báo có trên web

Có 2 trạng thái Success và Failed, ngồi ra còn UnIdentified nếu mất kết nối giữa màn hình và Gateway ( đây là 1 trường hợ ngẫu nhiên khơng dự đốn trước được).

Đây là thể hiện thứ tự truyền các threads từ Web xuống Gateway và xuống tiếp các Màn hình hiển thị

Bước 1 : Gateway dò lại địa chỉ Mac [8]

Bước 2 : Truyền luồng đầu tiên để kích hoạt BLE bên màn hình Bước 3: Truyền lần lượt các luồng Product_name và Product_price Bước 4 : Báo cáo trạng thái và kết quả truyền

4.10.4 Trang tìm các kết nối mới (tham khảo code tại templates/slave)

Về mặt hình thức: bao gồm - 1 bảng thông tin sự thật - 2 nút nhấn : Quét lại , Chi tiết

Về mặt nhiệm vụ: Sử dụng công cụ quét tầm xa của BLE có tại Gateway được cài đặt ở phần cứng để tìm kiếm các địa chỉ MAC của các thiết bị không dây khác

Sau khi quét các thiết bị thành công , lập tức danh sách các thiết bị sẽ hiện lên ngay trên trang Scan ( bán kính xa )

4.10.5 Trang Làm việc các kết nối mới (tham khảo code tại templates/slave)

Về mặt hình thức: bao gồm 2 phần : Phần 1: Slave :

- 2 Dịng điền thơng tin

- 3 nút nhấn : Thay đổi tên , thay đổi giá , Làm mới màn hình Phần 2: Action :

- 1 Dịng điền thơng tin

- 2 nút nhấn : Lưu và Hủy kết nối

Về mặt nhiệm vụ: Tương tự như các kết nối cũ nhưng có thêm khả năng ghi nhớ - đặt tên thay thế

36

4.10.6 Trang đổi Password (tham khảo code tại templates/system)

Về mặt hình thức: bao gồm

- 4 dòng : Tên cũ , mật mã cũ , mật mã mới , nhập lại mã mới - 2 nút : vào khung thay đổi và cập nhập mật mã.

Về mặt nhiệm vụ: Thay đổi hoặc xóa mật khẩu đã nằm ở phần trước Login, đây cũng đòi hỏi quyền admin khi truy cập vào.

4.11 Khởi tạo và Thực hiện chương trình (Tham khảo tại Readme.md) Bước 1: Tạo Application cho Web [9] Bước 1: Tạo Application cho Web [9]

Bước 2: Thu thập các Nhiệm vụ mà Web sẽ phải thực hiện 4.12 Khởi động Gate Way trên Raspberry pi:

Để khởi động Gate Way trên Raspberry thì cần sử dụng 3 dịng code trong terminal:

• cd ~/Desktop/bluetag

• source env/bin/activate

• python3 main.py

Sau khi đánh xong dòng lệnh thứ 3, đoạn code sẽ hiện lên IP address của Gate Way, click chuột phải vào IP address và click open URL để vào Gate Way

37

Chương 5

THI CÔNG

5.1 Sử dụng Gate Way Bluetag: 5.1.1 Trang Login: 5.1.1 Trang Login:

Sau khi vào được Gate Way có tên là Bluetag, trang đầu tiên hiện lên trên màn hình sẽ trang Login ( đăng nhập):

Hình 5.1: Trang Login của Gate Way

Login name: bluetag Password: bluetag

Sau khi nhập thành công Login name và Password, Gate Way sẽ chuyển tiếp sang giao diện mới, trang này có chức năng quản lý phần hiển thị của các bảng giá đã được kết nối, cập nhật tên, giá của bảng giá cũ hoặc thêm bảng giá mới

38

5.1.2 Trang chào:

Hình 5.2: Giao diện trang chào

5.1.3 Trang Làm việc các kết nối cũ:

Hình 5.3: Giao diện quản lý thiết bị Trang này được nằm mục Slave ở bên trái màn hình Trang này được nằm mục Slave ở bên trái màn hình

39

Scan for new slaves: Dùng để quét thiết bị mới

Refresh slave list: làm mới danh sách thiết bị đã kết nối

Edit: Cập nhật tên hoặc giá cho nhiều màn hình

Trong trường hợp muốn cập nhật tên và giá của 1 màn hình, click vào Details của thiết bị muốn được cập nhật

Hình 5.4: Giao diện chi tiết của thiết bị đã kết nối Trong giao diện này có 3 thơng tin có thể thay đổi hoặc cập nhật Trong giao diện này có 3 thơng tin có thể thay đổi hoặc cập nhật

Product name: hiển thị tên sản phẩm

Product price: hiển thị giá sản phẩm

Device name: tên của bảng giá hiển thị 5.1.4 Trang làm việc với kết nối mới

40

Hình 5.5: Giao diện hiển thị kết nối mới

Nút Re-scan có chức năng để quét lại, làm mới danh sách thiết để thuận tiện hơn cho việc tìm kiếm kết nối mới.

Một khi chọn được thiết bị mới để kết nối, bấm vào nút Detail, sau đó web sẽ hiện lên thơng tin chi tiết để đặt tên cho thiết bị đó. Ở mục Add device, Device name, bằng cách đặt tên cho thiết bị mới (tên: màn hình 6) và bấm nút Add this

device. Toàn bộ giao thức này được sử dụng trên nền tảng WAP-HTML và cơng cụ

41

Hình 5.6: Thơng tin chi tiết kết nối mới

Sau đó thiết bị này sẽ được lưu lại và cho vào danh sách thiết bị đã kết nối.

42

5.1.5 Trang làm việc với nhiều thiết bị cùng 1 lúc:

Trong trường hợp muốn cập nhật tên và giá từ 2 màn hình trở lên, click vào Edit, mục Product name và Product price sẽ có thể cập nhật được tên và giá mới ngay trên danh sách thiết bị đã nối thay vì phải click vào Detail của từng thiết bị.

Sau khi nhập xong tên và giá mới, click vào Display, gate way sẽ gửi dữ liệu mới vào các màn hình cần phải cập nhật tên và giá mới.

43

5.1.6 Trang Đổi pass

Trang đổi mật khẩu được nằm trong mục System ở bên trái màn hình

Hình 5.9: Giao diện đổi mật khẩu

Login name: Tên đăng nhập.

Old password: Mật khẩu cũ.

New password: Mật khẩu mới.

Re-type new password: Nhập lại mật khẩu mới. 5.2 Thao tác trang Web với màn hình E-inks:

Sau khi nhập tên và giá cho sản phẩm , click vào Display product name và

Display product price, Gate Way sẽ truyền dữ liệu cho bảng giá hiển thị qua bluetooth

44

Hình 5.10: Hiện thị tên và giá trên màn hình E-ink

Refresh Display được dùng cho trường hợp khi chữ hiển thị trên màn hình E-ink bị

mờ đi hoặc theo thời gian, giúp làm mới màn hình và hiển thị chữ rõ như ban đầu.

45

Chương 6

ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN

6.1 Kết quả đạt được của hệ thống:

Khả năng truyền nhận của Gate way với màn hình E-ink ổn

Một phần của tài liệu 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 (Trang 31)

Tải bản đầy đủ (PDF)

(115 trang)