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

PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE

45 151 1

Đ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

Tiêu đề Phân Loại Sản Phẩm Bằng Mã QR Dùng Appsheet , Có Code
Định dạng
Số trang 45
Dung lượng 1,52 MB

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

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI1.1 Giới thiệu đề tài Phân loại sản phẩm sử dụng mã QR trong Appsheet là để tài thực hiện quét các mã QR trên sản phẩm để hiện lên thông tin sản phẩm.. Đề tài nãy sẽ s

Trang 1

PHÂN LOẠI SẢN PHẨM BẰNG MÃ QR

DÙNG APPSHEET , CÓ CODE

Trang 2

MỤC LỤC

Trang 3

3.3.2 Giao diện trên Google sheets 28

Trang 4

DANH MỤC HÌNH VẼ

Trang 5

DANH MỤC BẢNG BIỂU

Trang 6

CÁC TỪ VIẾT TẮT

IOT: Internet of Things

Gsheet: Google sheets

Trang 7

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

1.1 Giới thiệu đề tài

Phân loại sản phẩm sử dụng mã QR trong Appsheet là để tài thực hiện quét các mã

QR trên sản phẩm để hiện lên thông tin sản phẩm Mỗi sản phẩm từ thức ăn đến đồdùng hiện nay đều có một mã QR code riêng Đề tài nãy sẽ sử dụng các mã QR đó

để có thể tính tiền các sản phẩm trong qua một bước đơn giản là quét sản phẩm quacamera Khi quét sản phẩm qua camera thì thông tin và giá của sản phẩm sẽ hiển thị

và đưa lên Appsheet Appsheets là một ứng dụng trên điện thoại giúp ta kiểm soát

dữ liệu từ Googsheets Đề tài này có thể sử dụng trong các cửa hàng hay siêu thịthậm chí là các hộ kinh doanh nhỏ Tất cả đều có thể sử dụng quét Qrcode để có thểtối ưu hóa thời gian và cũng giúp mọi người không cần phải nhớ giá từng sản phẩm.Tất cả đều được lưu trữ và xuất ra khi cần thiết Không những vậy đề tài này có thểứng dụng trong cơ quan trường học để điểm danh

1.2 Mục đích nghiên cứu

Ứng dụng Node-red để xây dựng chương trình quét mã code Sau đó sử dụngGoogsheets để lưu các dữ liệu để chương trình quét Kết nối Googsheets vớiAppsheet để có thể sử dụng trên cả điện thoại và có thể xem trên mọi thiết bị

1.3 Đối tượng nghiên cứu

- Node-red

- Googsheet

- Appsheet

- QRcode

Trang 8

1.4 Phạm vi nghiên cứu

Đề tài này chỉ nghiên cứu xây dựng Node-red để quét mã Qrcode và hiển thị trênAppsheet Giới hạn của đề tài chỉ sử dụng các mã Qrcode có sẵn

1.5 Dự kiến kết quả

Sau khi hoàn thành thì các mã Qrcode sau khi đưa qua camera sẽ được node-red xử

lý hình ảnh và sắp xếp vào các bảng googsheet sau đó hiển thị giá tiền của sản phẩmcũng như hiển thị tổng giá của các sản phẩm đã mua trong hóa đơn

1.6 Tổng quan về hệ thống

Đây là một hệ thống cơ bản của quét mã QR code Hệ thống được lập trình môphỏng trên Node-red kết hợp với Appsheet Các dữ liệu quét sẽ là các mã QR codeđược tạo nên từ các ứng dụng tạo QR thông dụng trên các Web Hệ thống có tínhthực tế cao nhưng cần phải phát triển thêm

Hệ thống quét mã QR tạo sẵn và đã lưu thông tin trên Gsheet Mã QR có thể đưavào từ 2 kênh Kênh thứ nhất là ESP32-CAM kết nối với hệ thống thông qua Wifi.Kênh thứ 2 là thông qua nút Inject của Node-RED Khi mã QR code được quét hoặcđưa vào thì các khối xử lý sẽ phân loại và đưa lên Gsheet Tại Gsheet chúng ta càiđặt các phép tính và khi dữ liệu được đưa lên Gsheet sẽ tự động tính toán theo côngthức đã cài đặt Sau đó sẽ xuất thông tin về lại Node-red Khi bấm xuất hóa đơn thìNode-RED sẽ sử dụng dữ liệu của Gsheet để đưa ra hóa đơn Khi xong 1 hóa đơnthì buộc phải làm mới lại dữ liệu của trang Gsheet hoặc nhấn nút Clear trên Node-RED Nếu không làm mới lại dữ liệu thì các hóa đơn sau sẽ bị tính chồng lên cáchóa đơn cũ khiến cho hóa đơn bị sai ( đây là điểm yếu của hệ thống)

Trang 9

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

2.1 Giới thiệu NODE-RED

Node RED là một công cụ lập trình dùng để kết nối các thiết bị phần cứng, các dịch

vụ trực tuyến và API Đây là một công cụ trực quan được thiết kế cho IOT nhưngcũng có thể được sử dụng cho các ứng dụng khác nhằm liên kết nhanh các luồngdịch vụ khác nhau

Node-RED là mã nguồn mở và được phát triển bởi Emerging Technology Servicescủa IBM và được tích hợp trong gói ứng dụng khởi động IoT Bluemix của IBM.Hiện tại, Node-RED là một dự án của JS Foundation

Node-RED cho phép người dùng kết hợp các dịch vụ Web và phần cứng bằng cáchthay thế các tác vụ mã hóa cấp thấp phổ biến và điều này có thể được thực hiện vớigiao diện kéo thả trực quan Các thành phần khác nhau trong Node-RED được kếtnối với nhau để tạo ra một luồng Hầu hết mã lệnh cần thiết được tạo tự động

2-1 Logo Node-RED

Trang 10

2.2 Giới thiệu ESP32-CAM

2.2.1 Giới thiệu

2-2 ESP32-CAM ESP32 là một hệ thống vi điều khiển trên chip (SoC) giá rẻ của EspressifSystems, nhà phát triển của ESP8266 SoC Nó là sự kế thừa của SoCESP8266 và có cả hai biến thể lõi đơn và lõi kép của bộ vi xử lý 32-bitXtensa LX6 của Tensilica với Wi-Fi và Bluetooth tích hợp Module ESP32Camera là mạch tích hợp với bộ xử lý chính là module ESP32 + CameraOV2640 được sử dụng trong các ứng dụng truyền hình ảnh, xử lý ảnh quaWifi, Bluetooth hoặc các ứng dụng IoT

ESP32-CAM có thể được sử dụng rộng rãi trong các ứng dụng IoT thông minh như : Wireless video monitoring, WiFi image upload, QR

identification, v.v

ESP32-CAM có thể ứng dụng trong các mạng Sensor tiết kiệm điện năng

đến những ứng dụng yêu cầu độ phức tạp hơn rất nhiều, như giải mã đoạnMP3 đến mã hóa các loại âm thanh,…

2.2.2 Thông số kĩ thuật

Trang 11

RAM 520KB SRAM + 4MB PSRAM

+ Hỗ trợ camera OV2640(bán kèm theo board)

+ JPEG(chỉ hỗ trợ OV2640), BMP,GRAYSCALE

+ Bật đèn flash và bật độ sáng tối đa: 310mA@5V

Môi trường bảo quản -40 ℃ ~ 90 ℃ , < 90%RH

2.1 Thông số của ESP32

Trang 12

2.2.3 Đặc điểm tính năng

● Tích hợp module ESP32-S trên board mạch, hỗ trợ WiFi + Bluetooth

● Camera OV2640 có đèn flash

● Khe cắm thẻ TF trên board mạch, hỗ trợ thẻ nhớ TF lên đến 4G để lưutrữ dữ liệu

● Hỗ trợ WiFi video monitoring and WiFi image upload

● Hỗ trợ multi sleep modes, dòng sleep sâu thấp tới 6mA

● Giao diện điều khiển có thể truy cập thông qua pinheader, dễ dàng tích hợp và nhúng vào các sản phẩm của người dùng

2.2.4 Cấu tạo và sơ đồ chân

2-3 Cấu tạo của ESP32

Trang 13

2-4 Sơ đồ chân ESP32

2.2.5 Thiết bị ngoại vi:

● 18 kênh chuyển đổi tương tự sang số (ADC)

● 3 giao diện SPI

● 3 giao diện UART

● 2 giao diện I2C

● 16 kênh đầu ra PWM

● 2 bộ chuyển đổi kỹ thuật số sang tương tự (DAC)

● 2 giao diện I2S

Trang 14

● 10 GPIO cảm biến điện dun

và wifi dòng điện cần thiết lên đến tối đa 790mA

● Light Sleep : Đây là chế độ hoạt động khi tắt hết CPU, Wifi, BLE và RAM chúng được định mức clock Dòng tiêu thụ khoảng 0.8mA

● Deep Sleep : Đây là chế độ ngủ sâu Tất cả CPU, RAM và các cảm biến ngoại ngoại vi đều tắt Một số thành phần của chip vẫn được bật: ngoại vi RTC, bộ điều khiển RTC và RTC memories Dòng tiêu thụ 15µA 0.15mA

● Hibernate: Tất cả mọi thứ khác đều bị tắt Ngoại trừ một GPIO RTC đang hoạt động và bộ đếm thời gian RTC Chúng có trách nhiệm phụchồi đánh thức chip ra khỏi chế độ Hibernate

Trang 15

2.3 Giới thiệu về Google sheets

Google sheets là một chương trình bảng trính giống với Microsoft Exel nhưng làmột bộ phần mềm online được Google cung cấp trên Google Drive của mình.Google sheets có sắn dưới dạng ứng dụng cho cả máy tính và di động Ứng dụng cóthể giúp người dùng cùng các cộng sự xử lý dữ liệu online

2-5 Google Sheets

Trang 16

2.4 Giới thiệu về AppSheet

Appsheet là một công cụ tạoứng dụng của Google mà không cần mã code Bạn

có thể tạo một App với appsheet mà chỉ cần vài bước đơn giản liên kết vớiGooglesheets

2-6 Logo Appsheet

Trang 17

CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG

3.1 Sơ đồ khối của hệ thống

Trang 18

3-1 Khối lệnh chính

Khối lệnh chính này có khối kết nối với ESP32- CAM, khối xử lý thông tin

mã QR và khối cập nhật dữ liệu lên bảng.

3-2 Khối lệnh Camera

Khối lệnh Camera này là khối kết nối với ESP32-CAM Khối này bao gồm 4 nút bật tắt camera bao gồm 2 nút cho Dashboard và 2 nút của lệnh node-red Sau khi bấm nút thì nút thì nút “Switch” sẽ chuyển kênh “change” 1 là bật và

“change” 2 là tắt Nút “camera” sẽ được liên kết với ESP32- Cam qua wifi Nút “iframe” là khối hiển thị camera ở Dashboard

Trang 19

3-3 Khối làm việcHình ảnh sẽ được đưa vào bằng camera hoặc hình ảnh trên máy tinh bằng cách bấm

“file inject” để thêm anh đã lưu trong máy tính Hình ảnh mã QR code sẽ được xử

lý và cập nhật dữ liệu lên bảng Google sheets

3-4 Khối xử lý thông tin lên GsheetĐây sẽ là khối đưa dữ liệu lên Gsheet

Trang 20

3-5 Thiết lập chọn ô sản phẩm trên Gsheet

Trang 21

Tại khối switch sẽ cài tên các loại hàng Khi quét nếu “ Thịt heo” thì sẽ đưa vô cột

số đầu tiên Tương tự các mặt hàng khác khi quét sẽ tự đưa vào Tại các nút Gsheet

ta sẽ cài đặt các thứ tự để dữ liệu đưa vào

3-6 Thiết lập cập nhật dữ liệu trên Gsheet

Trang 22

Như ở Gsheet đầu tiên sẽ cài đặt đưa dữ liệu vào sheet1!F9 Các vị trí này sẽ

do chúng ta cài đặt tương tự trên Gsheet Dữ liệu khi quét sẽ được tăng 1 bằng cách cài đặt code ở nút Function Tại nút fuction ta thiết lập Code

3-7 Khối xuất hóa đơnKhối này gồm 2 nút xuất hóa đơn Một nút của lệnh node-red và nút còn lại củaDashboard Sau khi bấm xuất hóa đơn thì chương trình sẽ cập nhập dữ liệu trênGsheet để hiển thị thành dạng bảng trên Dashboard Nút “table” là nút hiển thị dữliệu dạng bảng

Trang 23

3-8 Khối lệnh xóa dữ liệuKhối này khi bấm nút thì sẽ xóa toàn bộ dữ liệu đã thêm trong quá trình quét.

3.3 Thiết kế giao diện

3.3.1 Giao diện trên Node-RED Dashboard

3-9 Giao diện của DashboardĐây là màn hình làm việc chính của chương trình Gồm có các khung như camera,Hình ảnh quét và tên sản phẩm và ô hóa đơn

Trang 25

3-11 Khung hiển thị tên và hình ảnh đã quétHình ảnh sau khi được quét sẽ hiển thị tại khung này và hiển thị tên của sản phẩmvừa được quét.

Trang 26

3.3.2 Giao diện trên Google sheets

3-12 Giao diện Gsheet

Trang 27

3.3.3 Giao diện trên Appsheet

3-13 Giao diện chính trên AppsheetĐây là giao diện chính của Appsheet hiển thị các loại sản phẩm Các sản phẩm nàyđược liên kết từ Google Sheets

Trang 28

3-14 Giao diện sản phẩmGiao diện hiển thị sản phẩm ở đây gồm các thông tin của sản phẩn được liên kết từGsheet.

Trang 29

CHƯƠNG 4 GIẢI THUẬT VÀ ĐIỀU KHIỂN

4.1 Hoạt động của hệ thống

Kết nối ESP32-CAM và bật Node-RED Dashboard Khi đưa mã QR của sản phẩmđến trước Camera thì Camera sẽ nhận hình ảnh mã QR code Sau khi nhận ảnhnode-RED sẽ xử lý hình ảnh chọn ô sản phẩm trên Gsheet và cập nhật dữ liệu tựđộng lên bảng Gsheet Tại node-red có các lệnh xử lý bảng đã cài đặt sẵn Sau khiquét xong các sản phẩm thì Gsheet sẽ tự động tính theo công thức đã cài đặt và đưa

ra số tiền cần thanh toán Bấm vào xuất hóa đơn thì chương trình sẽ xuất hóa đơngồm các sản phẩm đã mua và giá của sản phẩm cũng như giá của toàn hóa đơn Saukhi xong hóa đơn bấm vào clear để xóa hóa đơn cũ là quét lại các hóa đơn khác

4.2 Lưu đồ giải thuật

Trang 31

B3: Kết nối ESP32-CAM với node-red.

B4: Bật ESP trên Dashboard

B5: Đưa mã Qrcode của sản phẩm trước camera

B5: Sau khi quét xong các sản phẩm bấn xuất hóa đơn

B6: Bấm Clear để xóa và làm lại hóa đơn mới

5.2 Kết quả thực nghiệm

Sau khi quét các mã Qrcode của sản phẩm thì phần mềm hiển thị thông tin và giácủa sản phẩm chính xác Giá trên hóa đơn của tất cả các sản phẩm cộng rất chínhxác và không có sai số

Trang 32

CHƯƠNG 6 KẾT LUẬN

6.1 Ưu điểm

- Có thể tính toán giá thành sản phẩm nhanh hơn

- Có thể ghi nhớ giá của rất nhiều sản phẩm một cách chính xác

- In hóa đơn nhanh hơn

- Tỉ lệ lộn hóa đơn và giá là không có

- Có thể sử dụng ở khắp mọi nơi

- Có thể sử dụng trên nhiều phương tiện

- Dễ dàng sử dụng với mọi lứa tuổi

- Không bị sai số

6.2 Nhược điểm

- Sản phẩm quét phải được nhập thông tin từ trước

- Có độ trễ khi quét sản phẩm

- Chỉ giải quyết được mỗi lúc 1 hóa đơn

- Phải có kết nối mạng Internet

- Nguồn điện cho camera phải ổn định

Trang 33

TÀI LIỆU THAM KHẢO

Trang 34

PHỤ LỤC A CODE KẾT NỐI ESP32 VỚI CAMERA

Trang 35

SemaphoreHandle_t frameSync = NULL;

QueueHandle_t streamingClients;

const int FPS = 14;

const int WSINTERVAL = 100;

void mjpegCB(void* pvParameters) {

Trang 36

volatile size_t camSize;

volatile char* camBuf;

void camCB(void* pvParameters) {

TickType_t xLastWakeTime;

Trang 37

const TickType_t xFrequency = pdMS_TO_TICKS(1000 / FPS);

portMUX_TYPE xSemaphore = portMUX_INITIALIZER_UNLOCKED;

char* fbs[2] = { NULL, NULL };

Trang 38

if ( eTaskGetState( tStream ) == eSuspended ) {

vTaskSuspend(NULL); // passing NULL means "suspend yourself" }

}

}

char* allocateMemory(char* aPtr, size_t aSize) {

if (aPtr != NULL) free(aPtr);

size_t freeHeap = ESP.getFreeHeap();

char* ptr = NULL;

if ( aSize > freeHeap * 2 / 3 ) {

if ( psramFound() && ESP.getFreePsram() > aSize ) {

Trang 39

const char BOUNDARY[] = "\r\n 123456789000000000000987654321\r\n";const char CTNTTYPE[] = "Content-Type: image/jpeg\r\nContent-Length: ";

const int hdrLen = strlen(HEADER);

const int bdrLen = strlen(BOUNDARY);

const int cntLen = strlen(CTNTTYPE);

void handleJPGSstream(void)

Trang 40

xQueueSend(streamingClients, (void *) &client, 0);

if ( eTaskGetState( tCam ) == eSuspended ) vTaskResume( tCam );

if ( eTaskGetState( tStream ) == eSuspended ) vTaskResume( tStream );}

void streamCB(void * pvParameters) {

Trang 41

UBaseType_t activeClients = uxQueueMessagesWaiting(streamingClients);

Trang 42

taskYIELD();

vTaskDelayUntil(&xLastWakeTime, xFrequency);

}

}

const char JHEADER[] = "HTTP/1.1 200 OK\r\n" \

"Content-disposition: inline; filename=capture.jpg\r\n" \ "Content-type: image/jpeg\r\n\r\n";

const int jhdLen = strlen(JHEADER);

Trang 45

while (WiFi.status() != WL_CONNECTED)

Ngày đăng: 16/05/2022, 16:08

HÌNH ẢNH LIÊN QUAN

Googlesheets là một chương trình bảng trính giống với Microsoft Exel nhưng là một bộ phần mềm online được Google cung cấp trên Google Drive của mình - PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE
ooglesheets là một chương trình bảng trính giống với Microsoft Exel nhưng là một bộ phần mềm online được Google cung cấp trên Google Drive của mình (Trang 15)
3.2 Thiết kế mô hình - PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE
3.2 Thiết kế mô hình (Trang 17)
Hình ảnh sẽ được đưa vào bằng camera hoặc hình ảnh trên máy tinh bằng cách bấm “file inject” để thêm anh đã lưu trong máy tính - PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE
nh ảnh sẽ được đưa vào bằng camera hoặc hình ảnh trên máy tinh bằng cách bấm “file inject” để thêm anh đã lưu trong máy tính (Trang 19)
3.3 Thiết kế giao diện - PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE
3.3 Thiết kế giao diện (Trang 23)
Đây là màn hình làm việc chính của chương trình. Gồm có các khung như camera, Hình ảnh quét và tên sản phẩm và ô hóa đơn - PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE
y là màn hình làm việc chính của chương trình. Gồm có các khung như camera, Hình ảnh quét và tên sản phẩm và ô hóa đơn (Trang 23)
3-11. Khung hiển thị tên và hình ảnh đã quét - PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE
3 11. Khung hiển thị tên và hình ảnh đã quét (Trang 25)
-Gọi HS lên bảng viết :Đ ,C , T, M. 2. Hớng dẫn viết bài: - PHÂN LOẠI sản PHẨM BẰNG mã QR DÙNG APPSHEET , có CODE
i HS lên bảng viết :Đ ,C , T, M. 2. Hớng dẫn viết bài: (Trang 31)

TỪ KHÓA LIÊN QUAN

w