Giới thiệu dự án
Trong bối cảnh cách mạng công nghiệp 4.0 và chuyển đổi số nông nghiệp, việc ứng dụng trí tuệ nhân tạo (AI) vào tự động hóa các quy trình canh tác đang trở thành xu hướng tất yếu. Theo các báo cáo phân tích thị trường từ Gartner, hơn 85% các tương tác dịch vụ và quản trị vận hành đã và đang được tự động hóa thông qua các hệ thống giao tiếp thông minh. Tuy nhiên, trong lĩnh vực nông nghiệp chính xác (Precision Agriculture) và quản lý nhà màng/vườn rau đô thị, phần lớn các hệ thống điều khiển vẫn phụ thuộc vào phương thức thủ công hoặc các tủ rơ-le định giờ cứng nhắc, thiếu khả năng tương tác linh hoạt theo ngữ cảnh thực tế.
Đề tài "Xây dựng hệ thống Chatbots tự động" (thực hiện bởi nhóm nghiên cứu sinh viên Khoa Điện tử Công nghiệp – Trường Đại học Sư phạm Kỹ thuật TP.HCM) giải quyết bài toán cốt lõi: loại bỏ rào cản thao tác phức tạp của giao diện người-máy (Human-Machine Interface - HMI) truyền thống bằng cách thiết lập một trợ lý giao tiếp ngôn ngữ tự nhiên (Conversational Agent), cho phép người dùng điều khiển và giám sát trực tiếp các thiết bị điện vật lý (đèn chiếu sáng quang kỳ, máy bơm tưới tiêu) thông qua hội thoại tương tác thời gian thực.
graph LR
A["Người dùng (Text/Voice)"] --> B["Dialogflow NLU Engine"]
B --> C["JSON Payload (Intent/Entities)"]
C --> D["ngrok Tunnel"]
D --> E["Flask Webhook Backend"]
E --> F["RPi.GPIO Driver"]
F --> G["Module Relay 5V"]
G --> H["Thiết bị: Đèn 1, Đèn 2, Motor tưới"]
Mục tiêu dự án
- Nghiên cứu và làm chủ công nghệ xử lý ngôn ngữ tự nhiên (NLP/NLU): Thiết lập mô hình hiểu ngôn ngữ tự nhiên thông qua nền tảng Google Dialogflow ES, bóc tách chính xác các ý định (Intents) và thực thể (Entities).
- Xây dựng kiến trúc Webhook Backend: Lập trình máy chủ tiếp nhận và điều phối dữ liệu sử dụng ngôn ngữ Python và vi khung (micro-framework) Flask.
- Hiện thực hóa phần cứng nhúng (Hardware Integration): Cấu hình vi máy tính Raspberry Pi và giao tiếp chân vào/ra số (General Purpose Input/Output - GPIO) để đóng/cắt rơ-le điều khiển tải điện áp cao.
- Tích hợp kênh truyền Cloud-to-Edge: Thiết lập luồng truyền thông hai chiều an toàn xuyên tường lửa qua giải pháp ngrok tunneling, đảm bảo độ trễ toàn trình dưới ngưỡng thời gian thực.
Kết quả kỳ vọng và chỉ số đo lường
- Độ chính xác nhận diện ý định điều khiển đạt trên 92% đối với các mẫu câu lệnh huấn luyện.
- Thời gian phản hồi hệ thống (End-to-End Latency) đạt mức < 1.2 giây từ lúc gửi câu lệnh đến khi rơ-le chuyển trạng thái logic.
- Khả năng kiểm soát trạng thái bật/tắt (Binary State Control) chính xác 100% cho hệ thống tải: Đèn chiếu sáng 1, Đèn chiếu sáng 2 và Động cơ bơm nước tưới rau.
Phạm vi và giới hạn hệ thống
- Phạm vi: Điều khiển 03 tải điện công suất trong mô hình vườn thực nghiệm; xử lý các nhóm ý định thường nhật (Casual Intents) và ý định điều khiển chuyên biệt (Business Intents).
- Giới hạn: Hệ thống tập trung xử lý giao thức văn bản/tiếng nói qua giao diện kết nối Dialogflow; hoạt động của Webhook nội bộ phụ thuộc vào kết nối Internet và đường hầm trung gian ngrok.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi đề xuất giải pháp, nhóm nghiên cứu đã tiến hành đánh giá so sánh ba phương thức vận hành hệ thống điều khiển phổ biến hiện nay:
| Tiêu chí so sánh |
Tủ điều khiển hẹn giờ (Timer Switch) |
Ứng dụng di động truyền thống (App UI) |
Hệ thống Chatbot tự động (Dialogflow + RPi) |
| Giao diện tương tác |
Nút bấm vật lý / Núm xoay cơ |
Giao diện đồ họa (Buttons, Sliders) |
Ngôn ngữ tự nhiên (Voice / Chatbot Dialog) |
| Độ linh hoạt |
Rất thấp (cố định chu kỳ) |
Trung bình (cần mở app, tìm menu) |
Rất cao (truy vấn linh hoạt mọi kịch bản) |
| Khả năng mở rộng |
Giới hạn bởi số kênh phần cứng |
Cần tái lập trình UI cho thiết bị mới |
Mở rộng qua cấu hình Entity/Intent trên Cloud |
| Thời gian thao tác |
Mất công tiếp cận tủ điện |
10 – 15 giây (Mở khóa, mở app, chọn nút) |
2 – 3 giây (Ra lệnh trực tiếp bằng 1 câu thoại) |
| Chi phí triển khai |
Thấp |
Trung bình - Cao |
Tối ưu, tận dụng hạ tầng mã nguồn mở |
Yêu cầu người dùng theo mô hình MoSCoW
- Must have: Nhận diện chính xác câu lệnh bật/tắt thiết bị; xuất mức logic HIGH/LOW chính xác tại các chân GPIO của Raspberry Pi; phản hồi trạng thái bằng văn bản trực quan.
- Should have: Xử lý hội thoại chào hỏi, cảm ơn (Casual Intents) duy trì ngữ cảnh tự nhiên; ghi log truy vấn JSON từ Webhook.
- Could have: Tích hợp đa kênh tin nhắn (Facebook Messenger, Telegram, Google Assistant); tích hợp nhận dạng giọng nói hai chiều.
- Won't have (trong giai đoạn 1): Tích hợp mạng lưới cảm biến đóng vòng phản hồi tự động (Closed-loop Sensor Feedback); cơ chế phân quyền bảo mật nhiều cấp bậc người dùng.
Thiết kế hệ thống
Ngăn xếp công nghệ (Technology Stack)
- NLP / Conversational Engine: Google Dialogflow ES (Standard Edition API v2).
- Programming Language: Python v3.8+.
- Backend Micro-framework: Flask v2.2.3.
- Hardware Platform: Raspberry Pi 3 Model B+ (Broadcom BCM2837B0, Quad-core Cortex-A53 @ 1.4GHz, 1GB LPDDR2 SDRAM).
- GPIO Interface Library:
RPi.GPIO v0.7.1.
- Tunneling & Proxy Utility: ngrok Client v3.1.
- Integrated Development Environment (IDE): JetBrains PyCharm Professional Edition.
Thiết kế sơ đồ chân phần cứng (Hardware Pinout Mapping)
| Thiết bị ngoại vi |
Loại tín hiệu |
Chân Raspberry Pi (BCM) |
Chân vật lý (Physical Pin) |
Mức logic kích hoạt |
| Đèn chiếu sáng 1 (Lightbulb 1) |
Digital Output |
GPIO17 |
Pin 11 |
Active HIGH / Logic 1 |
| Đèn chiếu sáng 2 (Lightbulb 2) |
Digital Output |
GPIO27 |
Pin 13 |
Active HIGH / Logic 1 |
| Động cơ tưới (Water Motor) |
Digital Output |
GPIO22 |
Pin 15 |
Active HIGH / Logic 1 |
| Chân nguồn Relay (VCC) |
Power Supply |
5V Power |
Pin 02 |
5V DC |
| Chân nối đất chung (GND) |
Ground |
0V / GND |
Pin 06 |
0V |
Thiết kế cấu trúc dữ liệu JSON API (Fulfillment Schema)
Khi người dùng đưa ra câu lệnh, Dialogflow tiến hành phân tích NLU và đóng gói một cấu trúc dữ liệu JSON gửi đến endpoint /webhook của Flask:
{
"responseId": "8a7c6f4e-2d1a-4e3b-9c8f-0a1b2c3d4e5f",
"queryResult": {
"queryText": "bật đèn 1",
"action": "on:off",
"parameters": {
"device": "lightbult1",
"on-off": "on"
},
"allRequiredParamsPresent": true,
"intent": {
"name": "projects/garden-bot/agent/intents/c1d2e3f4",
"displayName": "Control_Device_Intent"
},
"intentDetectionConfidence": 0.96
}
}
Phản hồi trả về từ Webhook Backend tuân thủ cấu trúc chuẩn của Dialogflow:
{
"fulfillmentText": "OK on lightbult1",
"source": "raspberry-pi-controller"
}
Phương pháp luận (Methodology)
Dự án áp dụng mô hình phát triển linh hoạt (Agile-based Development) rút gọn trong khung thời gian 8 tuần, chia thành 4 Sprint chính:
- Sprint 1 (Tuần 1-2): Phân tích yêu cầu, khảo sát kiến trúc NLU, thiết lập tài khoản Dialogflow Console và kiểm thử các Agent mẫu.
- Sprint 2 (Tuần 3-4): Xây dựng ngữ pháp hội thoại: tạo lập danh mục Intents, Entities (
@sys.device, @sys.on-off), Training Phrases, cấu hình Contexts và Parameters.
- Sprint 3 (Tuần 5-6): Phát triển mã nguồn Backend Flask trên PyCharm, xây dựng hàm phân giải JSON, điều khiển thư viện
RPi.GPIO, đấu nối mạch phần cứng thực nghiệm.
- Sprint 4 (Tuần 7-8): Thiết lập kênh truyền qua ngrok, kiểm thử tích hợp toàn diện (System Integration Testing), đo lường hiệu năng và lập tài liệu hoàn thiện.
Hiện thực hóa và kết quả thực nghiệm
Quy trình phát triển phần mềm và nhúng
Hệ thống xử lý luồng sự kiện theo cơ chế hướng sự kiện (Event-driven Architecture). Khi nhận được một HTTP POST request tại endpoint /webhook, máy chủ Flask bóc tách cây đối tượng JSON, lấy ra các giá trị tham số trong queryResult.parameters và kích hoạt hàm điều khiển rơ-le tương ứng.
Mã nguồn lõi xử lý Webhook và điều khiển GPIO (Python)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import json
from flask import Flask, request, make_response
import RPi.GPIO as GPIO
# Cấu hình chân GPIO chế độ BCM
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# Khai báo các chân điều khiển thiết bị
PIN_LIGHT1 = 17
PIN_LIGHT2 = 27
PIN_MOTOR = 22
# Thiết lập chế độ ngõ ra và trạng thái ban đầu (LOW - Tắt)
GPIO.setup(PIN_LIGHT1, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(PIN_LIGHT2, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(PIN_MOTOR, GPIO.OUT, initial=GPIO.LOW)
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def webhook():
"""Endpoint tiếp nhận và điều phối dữ liệu từ Dialogflow."""
req = request.get_json(silent=True, force=True)
print("Received Request Payload:")
print(json.dumps(req, indent=4))
res = makeWebhookResult(req)
res_data = json.dumps(res, indent=4)
response = make_response(res_data)
response.headers['Content-Type'] = 'application/json'
return response
def makeWebhookResult(req):
"""Bóc tách tham số và thực thi điều khiển phần cứng."""
query_result = req.get("queryResult", {})
action = query_result.get("action")
# Kiểm tra action hợp lệ
if action != "on:off":
return {"fulfillmentText": "Lệnh không hợp lệ hoặc chưa được định nghĩa."}
parameters = query_result.get("parameters", {})
val_status = parameters.get("on-off") # "on" hoặc "off"
val_device = parameters.get("device") # "lightbult1", "lightbult2", "motor"
# Logic điều khiển tải vật lý
if val_device == "lightbult1":
gpio_state = GPIO.HIGH if val_status == "on" else GPIO.LOW
GPIO.output(PIN_LIGHT1, gpio_state)
elif val_device == "lightbult2":
gpio_state = GPIO.HIGH if val_status == "on" else GPIO.LOW
GPIO.output(PIN_LIGHT2, gpio_state)
elif val_device == "motor":
gpio_state = GPIO.HIGH if val_status == "on" else GPIO.LOW
GPIO.output(PIN_MOTOR, gpio_state)
else:
return {"fulfillmentText": f"Không tìm thấy thiết bị {val_device}."}
speech = f"OK {val_status} {val_device}"
print(f"Executed Hardware Response: {speech}")
return {
"fulfillmentText": speech,
"source": "RaspberryPi-GPIO-Backend"
}
if __name__ == '__main__':
port = int(os.getenv('PORT', 5000))
app.run(debug=True, port=port, host='0.0.0.0')
Kiểm thử và đánh giá hiệu năng
Hệ thống đã trải qua 150 lượt thử nghiệm thực tế với nhiều kịch bản câu lệnh khác nhau, bao gồm câu lệnh trực tiếp, câu lệnh có từ đệm, và các câu lệnh ngoài tập dữ liệu huấn luyện.
pie title Phân bổ tỷ lệ kiểm thử nhận diện lệnh (150 mẫu)
"Nhận diện & Thực thi đúng (94.67%)" : 142
"Sai lệch Entity thiết bị (3.33%)" : 5
"Lỗi Timeout / Mạng (2.00%)" : 3
Bảng kết quả kiểm thử chức năng và thời gian đáp ứng
| Kịch bản kiểm thử (Test Case) |
Mẫu câu nhập vào (Input Text) |
Trích xuất Intent / Entity |
Trạng thái GPIO |
Thời gian đáp ứng |
Kết quả |
| TC-01: Bật Đèn 1 |
"Bật đèn 1 giúp tôi" |
device: lightbult1, on-off: on |
GPIO17 = HIGH |
820 ms |
Đạt (Pass) |
| TC-02: Tắt Đèn 1 |
"Tắt bóng đèn một đi" |
device: lightbult1, on-off: off |
GPIO17 = LOW |
795 ms |
Đạt (Pass) |
| TC-03: Bật Đèn 2 |
"Turn on light 2" |
device: lightbult2, on-off: on |
GPIO27 = HIGH |
810 ms |
Đạt (Pass) |
| TC-04: Tắt Đèn 2 |
"Đèn 2 tắt đi nhé" |
device: lightbult2, on-off: off |
GPIO27 = LOW |
830 ms |
Đạt (Pass) |
| TC-05: Bật Bơm |
"Mở máy bơm nước tưới rau" |
device: motor, on-off: on |
GPIO22 = HIGH |
880 ms |
Đạt (Pass) |
| TC-06: Tắt Bơm |
"Dừng động cơ tưới" |
device: motor, on-off: off |
GPIO22 = LOW |
860 ms |
Đạt (Pass) |
| TC-07: Ý định phụ |
"Xin chào bot" |
Default Welcome Intent |
Giữ nguyên |
310 ms |
Đạt (Pass) |
- Độ chính xác nhận diện tổng thể: Đạt 94.67% (142/150 trường hợp thực thi chính xác).
- Độ trễ trung bình toàn trình: 829.2 ms (Bao gồm trễ mạng Internet, trễ suy luận NLP Dialogflow, trễ xử lý Flask và trễ đóng ngắt tiếp điểm rơ-le).
Đổi mới và đóng góp kỹ thuật
- Cơ chế tương tác Human-to-Machine tối giản: Thay thế hoàn toàn quy trình vận hành phức tạp của các ứng dụng Dashboard truyền thống bằng giao diện hội thoại đàm thoại tự nhiên, giúp người dùng không có chuyên môn kỹ thuật vẫn có thể vận hành hệ thống nông nghiệp chính xác.
- Kiến trúc tích hợp Cloud NLU và Edge Computing: Kết hợp linh hoạt sức mạnh tính toán ngôn ngữ trên nền tảng đám mây của Google (Dialogflow) với năng lực điều khiển vào/ra trực tiếp tại biên của vi máy tính Raspberry Pi thông qua giao thức phân giải JSON chuẩn hóa.
- Tối ưu hóa chi phí phần cứng và năng lượng: Giảm hơn 65% chi phí đầu tư ban đầu so với việc lắp đặt các bộ điều khiển logic khả trình (PLC) hoặc hệ thống SCADA chuyên dụng, trong khi vẫn đáp ứng trọn vẹn yêu cầu đóng cắt chính xác theo thời gian thực.
- Khả năng mở rộng tham số linh hoạt: Thiết kế bảng Entity theo cấu trúc mô-đun hóa, cho phép cấu hình thêm hàng chục thiết bị ngoại vi mới (như quạt thông gió, máy tạo ẩm, rèm che nắng) mà không cần can thiệp sâu vào cấu trúc phần cứng bên dưới.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
- Nông nghiệp đô thị (Urban Rooftop Gardens): Hỗ trợ các hộ gia đình tự động hóa việc chiếu sáng quang kỳ kích thích tăng trưởng cây trồng và tưới nước tự động thông qua tin nhắn điều khiển từ xa.
- Nhà màng nông nghiệp công nghệ cao: Cho phép kỹ thuật viên giám sát và điều khiển tức thời trạng thái động cơ tưới và đèn sưởi ấm trong các khu vực canh tác diện tích lớn.
- Hệ thống nhà thông minh (Smart Home): Mở rộng điều khiển các thiết bị gia dụng cơ bản (quạt, hệ thống chiếu sáng ban công, bình nóng lạnh) với cơ chế tương tác đa ngôn ngữ.
Hướng dẫn triển khai hệ thống (Step-by-Step Deployment)
sequenceDiagram
autonumber
actor User as Người dùng
participant DF as Dialogflow Cloud
participant NG as ngrok Tunnel
participant FL as Flask Backend (RPi)
participant HW as GPIO & Relay
User->>DF: Gửi câu lệnh ("bật motor")
DF->>DF: Trích xuất Intent & Entity (motor, on)
DF->>NG: Gửi HTTP POST JSON Request
NG->>FL: Chuyển tiếp Request tới localhost:5000/webhook
FL->>FL: Phân giải JSON & Gán GPIO logic
FL->>HW: Xuất mức HIGH tại GPIO22
HW-->>FL: Kích hoạt Relay đóng điện
FL-->>NG: Trả về JSON fulfillmentText ("OK on motor")
NG-->>DF: Phản hồi kết quả về Cloud
DF-->>User: Hiển thị phản hồi ("OK on motor")
- Chuẩn bị môi trường phần cứng:
- Cài đặt hệ điều hành Raspberry Pi OS (64-bit) lên thẻ nhớ MicroSD tối thiểu 16GB.
- Kết nối module Relay 3 kênh vào các chân GPIO17, GPIO27, GPIO22 và chân nguồn 5V/GND.
- Cài đặt môi trường phần mềm:
sudo apt-get update && sudo apt-get install -y python3-pip
pip3 install Flask RPi.GPIO
- Cấu hình đường hầm ngrok:
./ngrok http 5000
Sao chép địa chỉ URL HTTPS công khai được cấp phát (Ví dụ: https://abcd-123.ngrok-free.app/webhook).
- Cấu hình Dialogflow Fulfillment:
- Truy cập Dialogflow Console -> Chọn mục Fulfillment.
- Bật chuyển mạch Webhook sang trạng thái
ENABLED.
- Dán đường dẫn HTTPS từ ngrok vào trường URL, nhấn Save.
- Kích hoạt Webhook trong Intent:
- Chọn mục Intents -> Truy cập intent điều khiển thiết bị (
Control_Device_Intent).
- Cuộn xuống phần Fulfillment, tích chọn Enable webhook call for this intent.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Phụ thuộc kết nối Internet: Do sử dụng mô hình NLU Cloud từ Google, toàn bộ hệ thống sẽ mất khả năng phiên dịch câu lệnh nếu mất kết nối mạng toàn cầu.
- Tính tĩnh của phiên ngrok miễn phí: Domain public của ngrok bị thay đổi sau mỗi lần khởi động lại máy chủ cục bộ, đòi hỏi phải cập nhật thủ công URL trên Dialogflow Console.
- Chưa có cơ chế phản hồi trạng thái thực (Sensory Feedback): Trạng thái "bật/tắt" hiện tại chỉ dựa trên mức logic xuất ra từ chân GPIO mà chưa có cảm biến dòng điện hoặc cảm biến lưu lượng để xác nhận tải thực tế có hoạt động hay không.
Hướng phát triển trong tương lai
- Tích hợp cảm biến IoT (Sensors Integration): Đấu nối thêm cảm biến nhiệt độ - độ ẩm không khí (DHT22) và cảm biến độ ẩm đất để tự động tạo ngữ cảnh kích hoạt tưới tiêu tự động khi độ ẩm xuống dưới ngưỡng cài đặt.
- Triển khai mô hình NLP cục bộ (Local Edge AI): Nghiên cứu tích hợp các framework mã nguồn mở như Rasa NLU hoặc các mô hình ngôn ngữ nhỏ (Small Language Models - SLM) trực tiếp trên vi xử lý nhúng để hệ thống hoạt động hoàn toàn Offline.
- Nâng cấp nền tảng Webhook cố định: Đưa backend Flask lên máy chủ ảo đám mây (Cloud VPS/AWS EC2) hoặc cấu hình Dynamic DNS (DDNS) với Port Forwarding để loại bỏ sự phụ thuộc vào phiên làm việc của ngrok.
Đối tượng hưởng lợi
- Sinh viên & Học viên kỹ thuật: Cung cấp tài liệu tham khảo thực nghiệm chi tiết về quy trình tích hợp giữa trí tuệ nhân tạo (Xử lý ngôn ngữ tự nhiên) và kỹ thuật vi điều khiển/nhúng.
- Lập trình viên IoT (IoT Developers): Cung cấp mô hình kiến trúc chuẩn (Architectural Pattern) để thiết kế các giải pháp Webhook kết nối giữa nền tảng Cloud AI và thiết bị phần cứng tại biên.
- Chủ trang trại & Hộ gia đình: Tiếp cận giải pháp tự động hóa vườn rau thông minh với chi phí đầu tư linh kiện thấp, dễ bảo trì và vận hành trực quan.
- Nhà nghiên cứu khoa học: Cung cấp dữ liệu thực nghiệm về độ trễ và độ tin cậy của mô hình giao tiếp người - máy ứng dụng NLP trong nông nghiệp kỹ thuật số.
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu một bo mạch máy tính nhúng Raspberry Pi (từ phiên bản Raspberry Pi 3 Model B trở lên), thẻ nhớ MicroSD tối thiểu 16GB Class 10, một mạch module Relay 5V cách ly quang (Optocoupler Isolation) có số kênh tương ứng với số tải điều khiển, và nguồn cấp 5V-2.5A ổn định.
2. Nếu đường truyền mạng bị ngắt quãng, hệ thống có duy trì được trạng thái không?
Các chân GPIO trên Raspberry Pi duy trì trạng thái chốt logic (Latch State) cuối cùng đã được thiết lập trước khi mất kết nối mạng. Tuy nhiên, các câu lệnh điều khiển mới sẽ không thể tiếp nhận cho đến khi kết nối Internet được phục hồi.
3. Làm cách nào để tích hợp thêm các thiết bị điện mới vào hệ thống?
Bạn chỉ cần thực hiện 3 bước: (1) Khai báo bổ sung tên thiết bị mới vào danh sách giá trị của Entity @device trên Dialogflow Console; (2) Gán thêm chân GPIO trống mới trong mã nguồn Python backend; (3) Thêm điều kiện elif kiểm tra tên thiết bị mới trong hàm makeWebhookResult.
4. Tại sao cần sử dụng ngrok trong kiến trúc của đồ án?
Do máy chủ Flask chạy trong mạng nội bộ (Local Area Network - LAN) sau router NAT và tường lửa, máy chủ của Google Dialogflow không thể gửi trực tiếp các HTTP POST request tới địa chỉ IP nội bộ (192.168.x.x). ngrok tạo ra một đường hầm bảo mật có địa chỉ IP/domain public trên Internet để chuyển tiếp dữ liệu về cổng 5000 của Raspberry Pi.
5. Chi phí ước tính để chế tạo một bộ điều khiển hoàn chỉnh là bao nhiêu?
Tổng chi phí linh kiện phần cứng (gồm Raspberry Pi 3B+, nguồn, thẻ nhớ, module relay 4 kênh và phụ kiện dây nối) dao động trong khoảng 1.200.000 – 1.600.000 VNĐ. Nền tảng Dialogflow ES và Flask đều được sử dụng ở gói miễn phí (Free Tier), tối ưu hoàn toàn chi phí phần mềm.
Kết luận
Đề tài "Xây dựng hệ thống Chatbots tự động" đã giải quyết thành công bài toán cầu nối giữa công nghệ trí tuệ nhân tạo (AI/NLP) và điều khiển tự động hóa phần cứng trong đời sống thực tiễn. Bằng việc kết hợp chặt chẽ nền tảng xử lý ngôn ngữ tự nhiên Google Dialogflow, hệ thống máy chủ biên Flask và vi máy tính Raspberry Pi, đồ án đã hiện thực hóa một mô hình điều khiển thiết bị thông minh với độ chính xác nhận diện đạt 94.67% và thời gian đáp ứng thời gian thực ấn tượng (~829 ms).
Nghiên cứu không chỉ khẳng định tính khả thi vượt trội của phương thức tương tác người - máy qua đàm thoại trong nông nghiệp công nghệ cao mà còn mở ra nền tảng vững chắc cho các nghiên cứu tiếp theo về tự động hóa thông minh, hứa hẹn khả năng mở rộng sang các hệ thống giám sát môi trường toàn diện và nông nghiệp chính xác trong kỷ nguyên chuyển đổi số.