[ESP32 ZigBee Gateway] Bài 2 - Tự Tay Làm Hệ Thống Đếm Sản Phẩm Không Dây ZigBee

♥️Chào các bạn!♥️

Bài viết kì trước: [ESP32 ZigBee Gateway] Bài 1 - Kết Nối ESP32 đến ZigBee Module, mình đã hướng dẫn các bạn kết nối ESP32 đến ZigBee module để tạo thành một Gateway.

Bài viết này tiếp tục chuỗi series, hướng dẫn bạn tự làm một hệ thống đếm sản phẩm tự động không dây với ZigBee. Hệ thống bao gồm 1 Gateway ESP32 ZigBee, 1 node Router. Node Router này mình sử dụng một board Arduino Mega, 1 mạch ra chân ZigBee, LCD TFT và một cảm biến vật cản hồng ngoại. Mình đếm số người ra/vào bằng cảm biến, hiển thị độc lập giá trị lên LCD và gửi về Gateway. Cùng bắt đầu nào!

I. KẾT NỐI THIẾT BỊ

Mình hướng dẫn các bạn theo cách DIY để giúp các bạn dễ dàng làm theo nhất, do đó hãy cứ yên tâm làm theo nhé!

Mình sử dụng các thiết bị sau:

- ESP32-DevKitC WROOM

- Mạch ra chân cho Zigbee Module E18-MS1PA1-IPX (ZigBee module)

Arduino LCD TFT cảm ứng màu 2.8 inch ILI9341

- Cảm Biến Vật Cản Hồng Ngoại E18-D80NK NPN

- Dây cắm breadboard các loại, nút nhấn (reset)

- Breadboard, các loại phụ kiện: dây dẫn, chì hàn, vvv

1. ESP32 ZigBee Gateway: Để kết nối ESP32 đến ZigBee module, các bạn cứ tham khảo lại bài viết trước nhé.

2. ZigBee Router (End - Device)

- Đối với cảm biến vật cản hồng ngoại E18 - D80NK NPN, các bạn kết nối đến ESP32 như sau:

+ Dây Nâu : 3VDC 

+ Dây Xanh Dương: GND 

+ Dây Đen: Tín hiệu OUT cảm biến các bạn kết nối đến chân D2 

về bản chất thì cảm biến tiệm cận có cách sử dụng tương tự như nút nhấn, do đó ta sẽ sử dụng ngõ ra OUT này của cảm biến tương tự chân OUT nút nhấn.

-  Kết nối màn hình LCD TFT đến Arduino Mega

LCD TFT 2.8 iches cảm ứngArduino Mega
LCD_CSA3
LCD_CDA2
LCD_WRA1
LCD_RDA0
LCD_RESETA4
D022
D123
D224
D325
D426
D527
D628
D729
GNDGND
5V5V


- Kết nối nút nhấn Reset bộ đếm

Mình sử dụng 1 nút nhấn độc lập để có thể Reset giá trị bộ đếm của Cảm biến tiệm cận E18 - D80NK NPN. Cách kết nối: Một chân đến chân số 3 Arduino, chân còn lại kết nối GND (mình đã chọn mode trở kéo vào trong code rồi).

OK, như vậy chúng ta đã kết nối đầy đủ các thiết bị cơ bản cho hệ thống rồi nhỉ, bây giờ tiến hành import thư viện và vận hành thôi nào!

II. IMPORT THƯ VIỆN VÀ BUILD SOURCE CODE

1. Import thư viện

- Thư viện Arduino ZigBee

Các bạn import thư viện dạng .zip của mình tại đây: https://github.com/epcbtech/ArduinoZigBee, nếu chưa biết cách import thư viện, các bạn xem tại đây

- Thư viện LCD TFT cảm ứng màu 2.8 inch ILI9341 

Các bạn import thư viện dạng .zip: 2.8inch_Arduino_ILI9341_V3.2.zip 

2. Tải về Sample Code của mình: tại đây

3. Bạn nạp code lần lượt như sau:

- SAMPLE_ROUTER: nạp cho Router, các bạn chọn board Arduino Mega nhé

- SAMPLE_ZIGBEE_ESP32_GATEWAY: nạp cho ESP32 ZigBee Gateway

4. Join cảm biến

Tương tự như bài viết trước, bạn bật serial cho cả Gateway và Router, đợi cho Gateway và Router khởi động thành công.

Nếu Gateway khởi động không thành công, nhấn 0 để reset. Hoặc bạn rút nguồn, kiểm tra dây kết nối đã đủ chặt hay có bị nhầm lẫn hay không.

Bạn nhấn 1 ở Gateway để cho phép join thiết bị, tiếp tục nhấn 1 ở Router để bắt đầu join.

Nhấn 1 ở Router để tiến hành kết nối đến Gateway


Kết nối Router và Gateway xác lập thành công.

Sau khi chúng được kết nối với nhau thì tất cả dữ liệu bộ đếm Router sẽ gửi về Gateway.


Như vậy các bạn có thể sử dụng dữ liệu gửi từ Router đến Gateway để dùng trong các ứng dụng khác, chẳng hạn gửi dữ liệu lên Server, và bật mí với các bạn trong bài viết tiếp theo, mình sẽ hướng dẫn các bạn luôn!

Hãy đón chờ!

Hy vọng bài viết này sẽ giúp ích cho các bạn. Nếu các bạn có những thắc mắc cần giải đáp, hãy nhắn tin cho mình qua Fanpage: EPCB hoặc qua Email: epcbtech@gmail.com. Cảm ơn các bạn đã theo dõi!

Chúc các bạn thành công!