Tủ bán hàng có đèn báo từng vị trí

24/08/2026

Tủ bán hàng có đèn báo từng vị trí

1. Cấu trúc hệ thống

PC / điện thoại

             │

            ▼

  ESP32 TỦ 1 — WEB CHÍNH 192.168.0.50

             │

             ├──── TỦ 1: vị trí 1–256

             │

            └──── ESP32 TỦ 2 192.168.0.51 vị trí 1–256

Mỗi sản phẩm sẽ có thêm thông tin Tủ, và khi bấm CHỌN / LẤY HÀNG, ESP32 Web chính sẽ gửi đúng lệnh đến ESP32 của tủ tương ứng.

Đặc biệt, ta sẽ xử lý luôn tồn kho dùng chung, tránh trường hợp hai tủ cùng sửa products.json rồi dữ liệu bị lệch.

  • Đặt IP cố định cho Tủ 1 và Tủ 2.
  • Tạo ESP32 Tủ 1 làm Web chính.
  • Kết nối Tủ 2 với Tủ 1 qua WiFi/LAN.
  • Thêm trường Tủ vào products.json.
  • Sửa CHỌN → LẤY HÀNG để gửi đúng lệnh đến từng ESP32.
  • Đồng bộ tồn kho.
  • Cuối cùng kiểm tra trường hợp 2 sản phẩm trùng vị trí2 tủ cùng có sản phẩm giống nhau.

                         ROUTER WIFI 192.168.1.1

                                           │

                 ┌─────────┴─────────┐

                 │                                                 │

       ESP32 TỦ 1                                  ESP32 TỦ 2

      192.168.1.50                                   192.168.1.51

             │                                                     │

      MAX7219                                         MAX7219

         TFT                                                  TFT

       Keypad                                            Keypad

        Servo                                               Servo

Tủ 1 = Web chính

Bạn truy cập: http://192.168.1.50

không cần truy cập 192.168.1.51.

Tủ 2 vẫn chạy ESP32 độc lập để điều khiển phần cứng.

2. Quản lý kho

                  PC
                  │
                  ▼
        ┌──────────────────┐
        │ ESP32 TỦ 1       │
        │ WEB MASTER       │
        │ 192.168.1.50     │
        │                  │
        │ products.json    │
        └────────┬─────────┘
                 │ WiFi/LAN
                 │
        ┌────────▼─────────┐
        │ ESP32 TỦ 2       │
        │ SLAVE            │
        │ 192.168.1.51     │
        │                  │
        │ chỉ nhận lệnh    │
        │ điều khiển máy   │
        └──────────────────┘

Tủ 1 quản lý dữ liệu sản phẩm, Tủ 2 nhận lệnh điều khiển.

Như vậy:

  • Upload CSV → chỉ cần upload ở Tủ 1.
  • Edit sản phẩm → Tủ 1.
  • Download CSV → Tủ 1.
  • Tìm kiếm → Tủ 1.
  • Web → Tủ 1.
  • Chọn sản phẩm thuộc Tủ 2 → Tủ 1 gửi lệnh cho Tủ 2.
  • Tủ 2 bật LED/TFT/servo.
  • Tồn kho → Tủ 1 trừ và lưu products.json.

3. Tạo MASTER và SLAVE

  • Tủ 1 = MASTER
  • Tủ 2 = SLAVE
  • Giữ nguyên toàn bộ giao diện web hiện tại.
  • Hai ESP32 vẫn chạy giao diện riêng như hiện tại.
  • MASTER có thể gửi lệnh cho SLAVE.
  • SLAVE nhận lệnh và phản hồi.
  • Kiểm tra bằng PING → PONG trước.
  • Khi PING/PONG ổn định mới chuyển bước 2: thêm cabinet vào products.json.

Kiến trúc trước mắt

                WiFi Router
                     │
          ┌──────────┴──────────┐
          │                     │
     ESP32 TỦ 1             ESP32 TỦ 2
       MASTER                  SLAVE
          │                     │
          │────── PING ────────>│
          │<──── PONG ──────────│
          │                     │
          │──── COMMAND ───────>│
          │<──── RESPONSE ──────│

4. Hoạt động tìm kiếm:

Bàn phím / Web nhập mã
        │
        ▼
MASTER tìm products.json của Tủ 1
        │
        ├── tìm thấy → xử lý Tủ 1
        │
        └── không thấy
                │
                ▼
        gửi SEARCH sang SLAVE
                │
                ▼
        SLAVE trả FOUND
                │
                ▼
        MASTER hiển thị sản phẩm

Điều kiện thuật toán

             SEARCH
                 │
                ▼
        ┌───────────────┐
        │ TỦ 1 / MASTER │
        └───────┬───────┘
                │
          tìm thấy?
          /           \
     YES        NO
      │                 │
     ▼                ▼
dùng Tủ 1       hỏi Tủ 2
                          │
                  FOUND?
                 /             \
               YES           NO
                │                   │
                ▼                 ▼
          dùng Tủ 2       Không tìm

 

Bình luận
Nội dung này chưa có bình luận, hãy gửi bình luận đầu tiên của bạn.
VIẾT BÌNH LUẬN CỦA BẠN