Đáp ứng nhu cầu này, nhóm đã phát triển một thiết bị hỗ trợ bán hàng mới sửdụng công nghệ nhận dạng hình ảnh trên nền tảng Edge Impulse để nhận diện vật phẩm và kết hợp với cảm biến Load
NGHIÊN CỨU TỔNG QUAN
Tổng quan về ESP Cam 5 1.2.Cảm biến Loadcell 7
ESP Cam là giải pháp tối ưu cho nhu cầu nhận dạng hình ảnh trong hệ thống của chúng tôi nhờ các tính năng vượt trội và cơ chế hoạt động hiệu quả.
ESP32-CAM đã tích hợp với Wi-Fi, Bluetooth và có thể được sử dụng với máy ảnh OV2640 hoặc OV7670 IC ESP32 có các giao thức ADC, SPI, I2C và UART độ phân giải cao để giao tiếp dữ liệu Module có cảm biến Hall, cảm biến nhiệt độ và cảm biến cảm ứng, và bộ hẹn giờ wtachdog
RTC ngoại vi có khả năng hoạt động ở nhiều chế độ khác nhau Mô-đun này sỡ hữu mức tần số xung nhịp tối đa lên tới 160 MHz, cho phép thực hiện tới 600 DMPIS Bên cạnh đó, RTC còn nổi bật với độ bền cao và kết nối mạng đáng tin cậy.
Module ESP32-CAM AI-Thinker có nhiều ứng dụng như tự động hóa trong nhà, thiết bị thông minh, hệ thống định vị, hệ thống an ninh và thích hợp cho các ứng dụng IoT.
Các thành phần AI-Thinker của ESP32-CAM
Bo mạch này là dạng bảng mạch PCB kiểu DIP 27x40,5x4,5 Hình dưới đây cho thấy các thành phần của bo mạch ESP32-CAM ở cả mặt trên và mặt dưới.
H ÌNH 1 T ỔNG QUAN VỀ ESP CAM
Chip ESP32-S: Module này là một con chip chính có hai CPU LX6 hiệu suất cao 32-bit với một kiến trúc vi mạch đường dẫn 7 lớp và sử dụng trong tất cả các quá trình xử lý. Đầu ra khối IPEX: IPEX được kết nối với ăng-ten GSM để truyền tín hiệu.
Tụ tantal thường được ưa chuộng sử dụng trong các mạch điện có kích thước nhỏ gọn do có độ bền cao và khả năng lọc nguồn điện hiệu quả, đem lại nguồn tín hiệu ổn định.
Nút reset: Khi được nhấn, nút reset sẽ khởi động lại code được thực thi trên module.
Chip điều chỉnh điện áp: Chip điều chỉnh điện áp trên module để duy trì đảm bảo ổn định điện áp đầu ra bất chấp sự thay đổi của nguồn cung cấp đầu vào Nó điều chỉnh điện áp ở 3,3V.
PSRAM: Bộ nhớ truy cập ngẫu nhiên “giả” công suất thấp 4MB được tích hợp trong module để có tốc độ xử lý nhanh Nó giúp máy ảnh chạy mượt mà.
Cổng nhận thẻ TF: Dòng ESP32 có một cổng nhận thẻ micro-SD để lưu trữ dữ liệu Tất cả quá trình truyền dữ liệu đều thông qua giao tiếp ngoại vi nối tiếp. Đầu nối FPC: Để gắn máy ảnh, module ESP32 có một đầu nối mạch linh hoạt Chiều cao của đầu nối tỷ lệ với độ tin cậy của tín hiệu. Đèn flash: Đèn flash tạo ra các xung điện hoạt động như đèn flash cho máy ảnh có thể
Trong phần tổng quan này, chúng ta đã khám phá các đặc điểm kỹ thuật của module ESP32-CAM, bao gồm chip ESP32-S cùng các tính năng bổ sung như cổng nhận thẻ TF và đầu nối FPC Chúng ta cũng đã đề cập đến khả năng tích hợp Wi-Fi của module, giúp nó thực hiện các tác vụ truyền thông không dây một cách hiệu quả với các thiết bị khác.
Fi và Bluetooth cùng với các giao tiếp ngoại vi như ADC, SPI, I2C, và UART cung cấp cho module này sự linh hoạt cao và khả năng thích ứng trong nhiều ứng dụng IoT khác nhau, từ tự động hóa trong nhà đến các hệ thống an ninh.
Thêm vào đó, sự bao gồm của cảm biến Hall, nhiệt độ, cảm ứng, và bộ hẹn giờ watchdog cho thấy module này không chỉ là một giải pháp đơn thuần cho ứng dụng máy ảnh mà còn là một nền tảng mạnh mẽ cho phát triển các hệ thống thông minh tích hợp Sự dụng cụ PSRAM 4MB cung cấp khả năng xử lý tín hiệu nhanh và ổn định, làm nền tảng cho các chức năng xử lý hình ảnh phức tạp và nâng cao hiệu suất chung của module.
Cuối cùng, với khả năng tương thích cao và thiết kế bền vững, ESP32-CAM không những đáp ứng nhu cầu hiện tại của thị trường IoT mà còn mở ra hướng đi mới cho sự phát triển của công nghệ thiết bị ngoại vi trong tương lai Dựa trên những điểm mạnh đã nêu, ESP32-CAM thực sự là một lựa chọn hấp dẫn cho bất kỳ nhà phát triển hoặc nhà thiết kế hệ thống nào đang tìm kiếm một giải pháp hiệu quả và đa năng cho các dự án IoT.
Tại đây, nhóm sẽ phân tích về cảm biến Loadcell, một công cụ đo lường trọng lượng chính xác, và vai trò của nó trong việc đảm bảo tính minh bạch và chính xác của các giao dịch bán hàng.
Cảm biến trọng lượng (Loadcell) là một loại cảm biến được sử dụng để đo trọng lượng hoặc lực tác động lên một đối tượng Nó chuyển đổi lực vào một tín hiệu điện tương ứng, cho phép đo trọng lượng với độ chính xác cao.
Web BLE 9 1 Giới thiệu về Web BLE
Phần này được chia thành hai mục Mục đầu tiên, 1.3.1, sẽ giới thiệu về Web BLE
- một công nghệ cho phép truyền thông Bluetooth Low Energy qua trình duyệt web Mục thứ hai, 1.3.2, đi sâu vào các trình duyệt và thiết bị hỗ trợ Web BLE, từ đó phác thảo khuôn khổ tương thích cho hệ thống.
1.3.1 Giới thiệu về Web BLE
Web Bluetooth (đôi khi còn được gọi là Web BLE) là công nghệ cho kết nối và điều khiển các thiết bị hỗ trợ BLE, trực tiếp từ trình duyệt web bằng JavaScript.
Với Web BLE, ta có thể tạo các ứng dụng web tương tác với thiết bị hỗ trợ BLE qua Bluetooth, cho phép bạn điều khiển các chân GPIO, trao đổi dữ liệu và quản lý thiết bị của mình từ xa thông qua giao diện web.
H ÌNH 4 G IỚI THIỆU VỀ W EB BLE
Web BLE mở rộng khả năng tương tác của trình duyệt web với thiết bị BLE, đồng thời hỗ trợ tích hợp thông tin từ các thiết bị này vào ứng dụng web, tạo ra môi trường phát triển đa dạng trong lĩnh vực IoT và di động.
1.3.2 Các trình duyệt, thiết bị hỗ trợ Web BLE
Một trong những lợi ích chính của Web BLE là khả năng tương thích đa nền tảng Ứng dụng Web BLE dựa trên web nên có thể chạy trên mọi thiết bị có trình duyệt web hiện đại hỗ trợ API Web Bluetooth.
-Các trình duyệt hỗ trợ:
H ÌNH 5 C ÁC TRÌNH DUYỆT HỖ TRỢ W EB BLE
API Web Bluetooth vẫn đang được phát triển nhưng nhìn chung nó được coi là ổn định và có thể sử dụng được Nó đã được triển khai trong Chrome, Edge, Opera và được hỗ trợ trên Android và Windows Tuy nhiên, nó vẫn chưa được hỗ trợ trên iOS
-Các thiết bị hỗ trợ:
BLE được sử dụng rộng rãi trong nhiều loại thiết bị: đồ công nghệ cá nhân, thiết bị y tế, thiết bị di động, thiết bị IoT, v.v Để ứng dụng nhiều vào việc nghiên cứu ta quan tâm đến các loại vi điều khiển hỗ trợ BLE như: các dòng vi điều khiển ESP32, Raspberry Pi, Arduino Nano 33
BLE , Còn đối với các loại vi điều khiển chưa hỗ trợ BLE như Arduino Uno, Arduino
Nano, ta có thể sử dụng module JDY-33 để biến chúng thành thiết bị có BLE.
Khả năng tương thích đa nền tảng này giúp người dùng không cần tải xuống và cài đặt các ứng dụng dành riêng cho thiết bị di động, đơn giản hóa trải nghiệm người dùng Điều này có nghĩa là có thể sử dụng điện thoại thông minh, máy tính bảng hoặc máy tính để bàn để kết nối và điều khiển các thiết bị bằng Web BLE.
Edge Impluse 10 Chương 2: Triển khai hệ thống
Edge Impulse là một trong những nền tảng Trí tuệ nhân tạo (AI) hàng đầu, đã chứng minh sức mạnh của mình qua nhiều năm Nền tảng này cung cấp các công cụ và tài nguyên toàn diện cho phép các nhà phát triển tích hợp AI vào các thiết bị nhúng, IoT và thiết bị di động Edge Impulse hiện đang đứng đầu trong ngành công nghiệp AI nhờ khả năng sử dụng, độ tin cậy và hiệu quả về chi phí.
H ÌNH 6 E DGE I MPULSE LÀ MỘT CÔNG CỤ DỰA TRÊN ĐÁM MÂY
Mô Hình Học Máy Dựa Trên Thiết Bị
Một trong những điểm độc đáo và quan trọng nhất của Edge Impulse là khả năng xây dựng và triển khai mô hình học máy trực tiếp trên thiết bị Điều này giúp giảm độ trễ và tăng hiệu suất cho các ứng dụng yêu cầu thời gian phản ứng nhanh như trong Internet of Things (IoT).
Tích Hợp Dữ Liệu Một Cách Hiệu Quả
Edge Impulse không chỉ giới hạn ở việc xây dựng mô hình mà còn cung cấp khả năng tích hợp dữ liệu một cách an toàn và hiệu quả Điều này giúp người dùng tận dụng tối đa dữ liệu của họ để đào tạo mô hình một cách dễ dàng.
Tương Thích Đa Dạng với Cảm Biến và Thiết Bị
Edge Impulse được thiết kế để tương thích với nhiều loại cảm biến và thiết bị khác nhau Điều này mở ra nhiều cơ hội ứng dụng, từ y tế đến sản xuất và các lĩnh vực khác.
Sử Dụng Trực Tiếp trên Nền Tảng Đám Mây
Với khả năng sử dụng trực tiếp trên nền tảng đám mây, Edge Impulse mang lại sự linh hoạt và thuận tiện cho người dùng Việc này giúp dễ dàng quản lý và theo dõi các dự án Trí tuệ nhân tạo của họ mọi nơi.
Cộng Đồng Hỗ Trợ Mạnh Mẽ
Edge Impulse không chỉ là một công cụ, mà là một cộng đồng mạnh mẽ Người dùng có thể chia sẻ kiến thức, kinh nghiệm và tìm kiếm sự giúp đỡ từ cộng đồng này, tạo nên môi trường học tập và phát triển tích cực.
Bảo Mật Dữ Liệu Tích Hợp Sẵn
Một trong những ưu điểm quan trọng của Edge Impulse là sự chú trọng đặc biệt vào bảo mật dữ liệu Việc tích hợp sẵn các tiêu chuẩn bảo mật giúp đảm bảo rằng thông tin của người dùng được bảo vệ một cách an toàn.
Dễ Dàng Sử Dụng và Tích Hợp
Nền tảng Trí tuệ nhân tạo (AI) dễ sử dụng và tích hợp có thể nâng cao đáng kể hiệu quả dự án Edge Impulse nổi bật với giao diện người dùng dễ hiểu và khả năng tích hợp linh hoạt, cho phép bạn dễ dàng kết hợp AI vào quy trình làm việc hiện tại của mình Điều này giúp bạn tiết kiệm thời gian và nguồn lực, đồng thời đẩy nhanh quá trình phát triển giải pháp AI hiệu quả cho các nhu cầu kinh doanh cụ thể.
Chương 2: Triển khai hệ thống
Sau khi đã giới thiệu và phân tích tổng quan về các công nghệ và thành phần liên quan đến hệ thống hỗ trợ bán hàng của nhóm trong Chương 1, Chương 2 này sẽ tập trung vào việc triển khai thực tế các giải pháp đã nêu Nhóm sẽ đi sâu vào các chi tiết kỹ thuật, bao gồm cả phát triển mô hình học máy, triển khai truyền nhận dữ liệu, thiết lập và điều chỉnh các thành phần phần cứng.
Học máy có giám sát 13 2.2 Quy trình thực hiện model 14 2 Collect Images
Phần này sẽ giải thích các khái niệm cơ bản và lý do tại sao chọn hình thức học máy này cho việc nhận dạng sản phẩm.
Học tập có giám sát là một kỹ thuật học máy phổ biến trong đó các mô hình được huấn luyện trên dữ liệu đã được gắn nhãn Mỗi điểm dữ liệu trong tập huấn luyện được gọi là một ví dụ, bao gồm các đặc trưng đầu vào và một nhãn tương ứng Nhãn có thể là một giá trị số (hồi quy) hoặc một lớp (phân loại).
Các bước cơ bản trong học có giám sát bao gồm:
Chuẩn bị dữ liệu: Thu thập và xử lý dữ liệu để đảm bảo nó phù hợp cho mô hình Dữ liệu cần được chia thành hai phần: tập huấn luyện và tập kiểm thử.
Lựa chọn mô hình: Chọn một mô hình học máy phù hợp dựa trên bài toán cần giải quyết
(ví dụ như mạng neuron, máy vector hỗ trợ, cây quyết định, v.v.).
Huấn luyện mô hình: Sử dụng tập dữ liệu huấn luyện để "dạy" mô hình cách dự đoán nhãn từ các đặc trưng Trong quá trình này, các tham số của mô hình được điều chỉnh để tối ưu hóa hiệu suất của mô hình. Đánh giá mô hình: Sử dụng tập dữ liệu kiểm thử để đánh giá hiệu suất của mô hình Điều này giúp kiểm tra liệu mô hình có khả năng tổng quát hóa tốt trên dữ liệu mới không.
Tinh chỉnh và cải thiện: Dựa trên kết quả đánh giá, các điều chỉnh có thể được thực hiện để cải thiện mô hình, bao gồm điều chỉnh tham số, lựa chọn đặc trưng, hoặc thay đổi cách tiền xử lý dữ liệu.
Học có giám sát được áp dụng rộng rãi trong nhiều ứng dụng thực tế như nhận diện khuôn mặt, phát hiện gian lận, dự đoán giá cả, phân loại văn bản, và hơn thế nữa Các ví dụ phổ biến của các mô hình học có giám sát bao gồm hồi quy tuyến tính, hồi quy logistic, mạng neuron nhân tạo, và cây quyết định.
2.2 Quy trình thực hiện model Đây là phần chính của chương, được chia thành năm bước chính - thu thập hình ảnh, gán nhãn, huấn luyện mô hình, xuất mô hình và cuối cùng là chạy mô hình Mỗi bước sẽ được trình bày chi tiết, từ cách thu thập dữ liệu cho đến cách triển khai mô hình đã huấn luyện vào hệ thống.
Cài đặt thư viện EloquentEsp32cam Đây là thư viên hỗ trợ nhiều tính năng cho Esp32 Cam
Sketch > Include Library > Manage Libraries > Tìm kiếm “ EloquentEsp32cam” và cài đặt
Chọn chương trình 26_Collect_Images
Thay thông tin Wifi vào chương trình
// replace with your SSID and PASSWORD while (!cam.connect("Xuong", "68686868"))
Lấy ip để truy cập Web Server Điều chỉnh các góc của vật thể để thu thập
Download tệp file ảnh về máy (1)
Tạo project tại : https://edgeimpulse.com/
Dataset upload ảnh từ mục 1 lên
Chọn "Automatically split between training and testing" sẽ chia tỉ lệ giữa train-test là 80- 20
H ÌNH 11 A UTOMATICALLY SPLIT BETWEEN TRAINING AND TESTING
Label queue thực hiện khoanh vùng đối tượng như hướng dẫn
Tại mục Impulse Design Để phù hợp với bộ nhớ nhỏ của Esp32
Creat impulse: Điều chỉnh size ảnh xuống 48x48 lựa chọn các khối như ảnh và save
Image: Chuyển ảnh thành dạng xám
Click Generate feature để bắt đầu quá trình tạo các tính năng
Kết quả thu được 2 màu tách biệt (không xen lẫn nhau) => kết quả tốt
Object detection: cài đặt các thông số train
Target đến thiết bị mình sử dụng hoặc có cấu hình tương tự
Sau khi train ta được kết quả: độ chính xác, RAM, FLASH sử dụng
Chọn loại thư viện muốn build và xác định dung lượng phù hợp cho esp
Sau khi build thành công.
H ÌNH 19 B UILD MODEL THÀNH CÔNG
Add thư viện mới build tại mục 4 vào Arduino IDE
Chọn file > Examples > X > esp32 > esp32_camera ( với X là tên project đặt trên
Chọn loại vi điều khiển mình sử dụng và tiến hành nạp code
H ÌNH 21 C HỌN VI ĐIỀU KHIỂN SỬ DỤNG Kết quả test Model
Khi đặt ảnh trước esp32-Cam
Ở mỗi góc của vật cho độ chính xác khác nhau.
Không đặt ảnh trước esp32-Cam
Truyền nhận dữ liệu qua Web BLE 25 1 Giao thức kết nối
GATT là viết tắt của Generic Attributes và nó xác định cấu trúc dữ liệu phân cấp được hiển thị cho các thiết bị BLE được kết nối Điều này có nghĩa là GATT xác định cách hai thiết bị BLE gửi và nhận dữ liệu tiêu chuẩn Ta coi GATT một ngôn ngữ có cấu trúc mà hai thiết bị BLE sử dụng để trao đổi thông tin một cách liền mạch.
H ÌNH 22 M Ô HÌNH PHÂN CẤP GATT BLE Service
Cấp cao nhất của hệ thống phân cấp là một Profile (hồ sơ), bao gồm một hoặc nhiều
Service (dịch vụ) Thông thường, một thiết bị BLE chứa nhiều dịch vụ.
Mỗi dịch vụ đều có ít nhất một Characteristic (đặc điểm) hoặc cũng có thể tham chiếu đến các dịch vụ khác Một dịch vụ chỉ đơn giản là một tập hợp thông tin, chẳng hạn như thông tin như: Mức pin, Huyết áp, Nhịp tim, Cân nặng, v.v
BLE Characteristic Đặc tính này luôn thuộc sở hữu của một dịch vụ và đó là nơi chứa dữ liệu thực tế trong hệ thống phân cấp (giá trị)
Ngoài ra, giá trị đặc tính có thể được theo sau bởi các bộ mô tả, giúp mở rộng thêm về siêu dữ liệu có trong phần khai báo đặc tính.
Thuộc tính mô tả cách tương tác với giá trị đặc trưng Về bản chất, nó bao gồm các thao tác và thủ tục có thể được sử dụng để làm việc với đặc tính.
Các đặc tính hay sử dụng : Write, Read, Notify Và trong đề tài cũng chủ yếu nghiên cứu
Mỗi dịch vụ, đặc điểm và bộ mô tả đều có UUID (Mã định danh duy nhất toàn cầu) UUID là số 128 bit (16 byte) duy nhất.
UUID được sử dụng để nhận dạng thông tin duy nhất Từ đó giúp việc kết nối giữa 2 thiết bị là đồng nhất và không bị nhầm lẫn sang thiết bị ghép nối khác.
2.3.2 Các bước tạo BLE Server Để tạo một BLE Server, trình tự sẽ như sau:
-Tạo một BLE Characteristic trên Service
-Tạo một BLE Descriptor trên Characteristic
#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc- c5c9c331914b"
#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5- ea07361b26a8" void setup() {
Serial.println("Starting BLE work!");
//Tạo một BLE device tên là "ESP32"
//Cấu hình BLE device là BLE Server.
//Tạo một Service cho BLE Server với UUID trước đó
//Cài đặt characteristic cho service.
//Sau khi tạo characteristic, bạn có thể setValue() pCharacteristic->setValue("Hello World");//Có thể thay thê bằng trạng thái sensor hay trạng thái đèn
//Cuối cùng là chạy service và bắt đầu quảng bá pService->start();
BLEAdvertising *pAdvertising BLEDevice::getAdvertising(); pAdvertising->addServiceUUID(SERVICE_UUID);
2.3.3 Giao diện, mô tả Web
Giao diện Web BLE trong hệ thống của chúng tôi được thiết kế để tối ưu hóa sự tiện lợi và hiệu quả khi giao tiếp giữa người dùng và thiết bị Dưới đây là các thành phần chính của giao diện và chức năng của chúng:
Button Scan: Nút này cho phép người dùng quét các thiết bị BLE có sẵn trong phạm vi và chọn thiết bị mà họ muốn ghép nối Điều này làm cho việc thiết lập kết nối giữa thiết bị và ứng dụng web trở nên nhanh chóng và thuận tiện, đảm bảo rằng dữ liệu có thể được truyền đi một cách an toàn.
Button Start/Stop: Sau khi ghép nối thành công, người dùng có thể sử dụng nút này để bắt đầu hoặc dừng việc nhận dữ liệu từ thiết bị Điều này cho phép kiểm soát dòng dữ liệu, giúp người dùng dễ dàng quản lý thông tin nhận được mà không cần phải ngắt kết
Button Settings: Tính năng này cho phép người dùng chỉnh sửa thông tin tài khoản thụ hưởng hoặc nhập một số tiền nhất định để tạo QR code Người mua có thể sử dụng QR code này để thực hiện thanh toán, đây là một tính năng thuận tiện cho cả người bán và người mua trong việc thực hiện giao dịch nhanh chóng.
Button Pay: Khi người dùng sẵn sàng thanh toán, nút này sẽ đưa họ đến cổng thanh toán trực tuyến Tại đây, người mua có thể xác nhận và hoàn tất việc thanh toán, đồng thời kiểm tra xem quá trình thanh toán đã thành công hay chưa.
Bảng Giá Thành giúp người dùng điều chỉnh linh hoạt giá thành sản phẩm Hệ thống cập nhật thông tin giá cả ngay lập tức, đảm bảo tính minh bạch và chính xác.
QR Code: Tích hợp sẵn trên giao diện, cho phép người dùng dễ dàng quét và tiến hành thanh toán cho đơn hàng của họ Đây là một phương pháp thanh toán hiện đại, an toàn và tiện lợi.
Hóa Đơn Thanh Toán: Nơi hiển thị tất cả thông tin liên quan đến đơn hàng, bao gồm các sản phẩm đã mua, tổng tiền, thuế và chi phí khác nếu có Đây là bằng chứng thanh toán quan trọng cho cả người mua và người bán.
Những tính năng này không chỉ làm cho quá trình thanh toán và quản lý đơn hàng trở nên thuận tiện hơn mà còn tăng cường tính năng động và hiệu quả của hệ thống hỗ trợ bán hàng dựa trên công nghệ Web BLE.
Hiệu chỉnh thang đo Loadcell 29 Chương 3: Thử nghiệm đánh giá hoạt động
Trước khi đo trọng lượng của các đồ vật, cần hiệu chỉnh cảm biến Loadcell bằng cách lấy được hệ số hiệu chuẩn Hệ số hiệu chuẩn của mỗi cảm biến sẽ khác nhau
Chuẩn bị một đồ vật đã biết nặng bao nhiêu gram.
Tháo bất kỳ vật nặng nào ra khỏi cân (cân sẽ tự động hiệu chuẩn) Sau đó, đặt một vật có trọng lượng đã biết lên mặt cân và đợi giá trị tương ứng hiển thị trên màn hình.
// HX711 circuit wiring const int LOADCELL_DOUT_PIN = 2; const int LOADCELL_SCK_PIN = 3;
Serial.begin(57600); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
} void loop() { scale.set_scale();
Serial.println("Tare remove any weights from the scale."); delay(5000); scale.tare();
Serial.print("Place a known weight on the scale "); delay(5000); long reading = scale.get_units(10);
Serial.println("HX711 not found.");
Tính hệ số hiệu chuẩn của bạn bằng cách sử dụng công thức: calibration factor = (reading)/(known weight)
Trong trường hợp của mình, giá trị đọc là -49171 Trọng lượng đã biết là 107g, vì vậy hệ số hiệu chuẩn của mình sẽ là: -49171/107 = -459.542.
Lưu lại hệ số hiệu chuẩn của bạn để sử dụng cho chương trình chính.Code cảm biến Loadcell
// HX711 circuit wiring const int LOADCELL_DOUT_PIN = 2; const int LOADCELL_SCK_PIN = 3;
Serial.println("Initializing the scale"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
Serial.println("Before setting up the scale:");
Serial.println(scale.read()); // print a raw reading from the ADC
Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC
Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight (not set yet)
Serial.println(scale.get_units(5), 1); scale.set_scale(-459.542); scale.tare(); // reset the scale to 0
Serial.println("After setting up the scale:");
Serial.println(scale.read()); // print a raw reading from the ADC
Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight, set with tare()
Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight, divided
Serial.print(scale.get_units(), 1);
Serial.println(scale.get_units(10), 5); delay(5000);
Kết quả thu được sát với kết quả cân điện tử.
H ÌNH 25 K ẾT QUẢ TEST LOADCELL
Chương 3: Thử nghiệm đánh giá hoạt động
Thử nghiệm hệ thống 35 3.2 Kết luận, đánh giá 40 TÀI LIỆU THAM KHẢO
H ÌNH 26 T ỔNG QUAN MÔ HÌNH HỆ THỐNG
Dự án này sử dụng vi điều khiển ESP32 Cam kết nối với Loadcell để cân và nhận dạng sản phẩm Sau khi nhận dạng, vi điều khiển gửi thông tin sản phẩm và trọng lượng lên trang web Trang web tính toán giá sản phẩm dựa trên thông tin này, tạo mã QR chứa thông tin giá, để người dùng quét và thanh toán.
Tạo mô hình sản phẩm
H ÌNH 28 CHẠY SẢN PHẨM TEST CAMERA
Việc tạo mô hình sản phẩm sẽ cố định được Cam và sẽ giúp ích cho việc lấy mẫu (thu thập hình ảnh)
Load Cell HX711 HX711 ESP32-Cam
Giả sử đã nhận diện được vật và có cân nặng của vật
Gửi dữ liệu từ ESP-Cam lên
BLE_print("1-1.2"); // Với 1 là mã hàng và 1.2 là cân nặng delay(500);
BLE_print("4"); // mặt hàng không cần cân nặng delay(500);
Phía Web: let kytu=String.fromCharCode(dataArray[0]); if (kytu=="1"){ //
// Tách lấy cân nặng let soluong1 = parseFloat(valueString.substring(2, valueString.length));
// Hiển thị thông tin mặt hàng
$('#Value1_3 span').text($('#apple').val()*soluong1); thanhtien1 = parseFloat($('#apple').val()*soluong1); // Push dữ liệu vào đơn hàng items.push({ name: 'Táo',quantity: soluong1,price: thanhtien1});
Tương tự với vật phẩm khác
H ÌNH 29 T EST WEB THANH TOÁN
Thực hiện nhấn PAY để chuyển tới 1 url khác ( có chức năng thông báo đã thanh toán thành công)
Sau khi thanh toán thành công, hệ thống sẽ hiển thị thông báo
H ÌNH 31 T HÔNG BÁO THANH TOÁN THÀNH CÔNG
Các đơn hàng sẽ có hệ thống để quản lý.
H ÌNH 32 Q UẢN LÝ ĐƠN HÀNG 3.2 Kết luận, đánh giá
Trong phần này, nhóm chúng em đã thực hiện một nghiên cứu về việc nhận diện hình ảnh sử dụng Edge Impulse, một nền tảng mạnh mẽ cho việc phát triển ứng dụng AI dựa trên dữ liệu cảm biến nhỏ gọn Kết quả thu được đã cho thấy sự hiệu quả của phương pháp nhận diện này trong việc nhận diện đúng các vật phẩm mục tiêu.
Nhóm chúng em đã áp dụng Edge Impulse cho bộ dữ liệu của mình và đạt được kết quả ấn tượng, với độ chính xác cao đáng kể trong việc nhận diện các vật phẩm đã đề ra Điều này làm cho phương pháp của nhóm chúng em trở thành một lựa chọn hứa hẹn cho việc triển khai thực tế trong nhiều ứng dụng thực tế, từ nhận diện vật phẩm trong sản xuất đến giám sát an ninh và nhiều ứng dụng khác.
Tuy nhiên, vẫn còn một số thách thức cần giải quyết, bao gồm việc tối ưu hóa hiệu suất và tính khả dụng của mô hình trên các nền tảng nhúng khác nhau Mặc dù vậy, sự tiềm năng của phương pháp nhận diện hình ảnh dựa trên Edge Impulse là rõ ràng và đáng để tiếp tục nghiên cứu và phát triển trong tương lai.
Tổng cộng, nghiên cứu của nhóm chúng em đã minh chứng khả năng mạnh mẽ của Edge Impulse trong việc nhận diện hình ảnh và tạo ra tiền đề cho việc ứng dụng rộng rãi của công nghệ này trong các lĩnh vực thực tiễn khác nhau.
Trong quá trình thử nghiệm, ứng dụng Web BLE đã chứng minh được độ ổn định cao và khả năng hoạt động mạnh mẽ trong nhiều tình huống khác nhau Điều này đã đáp ứng mục tiêu ban đầu của dự án, tức là xây dựng một ứng dụng Web BLE linh hoạt và hiệu quả trong việc tương tác với các thiết bị thông minh Chúng em đã thành công trong việc hoàn thành các yêu cầu đặt ra và triển khai thêm các ứng dụng bên ngoài sử dụng Web BLE.
Sự kết hợp giữa Edge Impulse và Web BLE đã mang lại một giải pháp trọn vẹn và hiệu quả cho nhu cầu nhận diện hình ảnh và truyền dữ liệu Thông qua việc kết hợp hai công nghệ này, chúng tôi đã phát triển một ứng dụng sáng tạo và thông minh, giúp người dùng thuận tiện tương tác với các thiết bị thông minh bằng cách quét mã.
Sự tiện lợi và tính sáng tạo của giải pháp QR không chỉ mở ra cơ hội ứng dụng mới cho chúng tôi mà còn thúc đẩy sự phát triển của công nghệ IoT và AI trong thực tế.