Bỏ qua để đến nội dung

Kết nối nguồn dữ liệu đầu vào

Một nguồn dữ liệu đầu vào là một nguồn dữ liệu cảm biến logic duy nhất — một endpoint OPC-UA, một nhóm topic MQTT, một tệp phát lại CSV, v.v. Mỗi nguồn là một adapter có kiểu với thiết lập kết nối và danh sách tag riêng. Bạn ánh xạ các tag của nó tới các kênh đầu vào của mô hình, rồi kích hoạt nó để bắt đầu suy luận.

Màn hình Data Sources liệt kê các adapter đầu vào OPC-UA, MQTT và CSV cùng trạng thái kết nối Màn hình Data Sources liệt kê các adapter đầu vào OPC-UA, MQTT và CSV cùng trạng thái kết nối
Màn hình Data Sources — thêm nguồn, ánh xạ tag, ghép cặp mô hình, bật.
  • OPC-UA — đăng ký các tag từ bất kỳ máy chủ tuân thủ nào.
  • MQTT — tự mang broker của bạn, hỗ trợ TLS.
  • CSV — phát lại dữ liệu đã ghi từ một tệp (rất phù hợp để thử nghiệm).

Hướng dẫn từng bước: thêm một nguồn và bắt đầu suy luận

Phần tiêu đề “Hướng dẫn từng bước: thêm một nguồn và bắt đầu suy luận”
  1. Trong bảng điều khiển, vào Datasources → Input, rồi bấm + Create.

  2. Chọn loại nguồn. Biểu mẫu thích ứng theo giao thức bạn chọn — điền vào endpoint, thông tin xác thực, và bất kỳ trường đặc thù giao thức nào. Các trường bí mật (mật khẩu, token) bị che thành *** sau khi lưu.

    TrườngVí dụ
    Endpointopc.tcp://your-opcua-host:4840/factory/line1
    Chính sách bảo mậtNone (hoặc một profile Basic256Sha256 với chứng chỉ)
    Xác thựcAnonymous (hoặc tên người dùng/mật khẩu)

    Các tag được tham chiếu bằng NodeId, ví dụ ns=2;i=2 (dạng số) hoặc ns=2;s=Temperature (dạng chuỗi).

  3. Liệt kê các tag bạn muốn truyền và gán mỗi tag tới một kênh đầu vào được đánh số (0, 1, 2, …). Mỗi kênh đưa vào một đầu vào của mô hình. Đặt window size — bao nhiêu mẫu liên tiếp mô hình tiêu thụ mỗi lần dự đoán — để khớp với mô hình bạn sẽ ghép cặp.

  4. Lưu datasource. Sau đó ghép cặp nó với một mô hình bạn đã tải lên dưới Models. Nền tảng chạy một kiểm tra tương thích — window size × feature count phải khớp ở cả hai phía — và từ chối ghép cặp nếu chúng khác nhau.

  5. Bật Enable trên hàng. Việc này xác thực cấu hình, nạp mô hình đã ghép cặp, và kết nối adapter. Cái bắt tay kết nối (OPC-UA / MQTT) xảy ra ở đây, nên một sự cố mạng hoặc thông tin xác thực sẽ lộ ra ngay và quay hàng về lại Disabled kèm một thông báo lỗi.

    Kích hoạt không tự khởi động truyền — bấm Start để bắt đầu suy luận.

Biểu mẫu cấu hình chỉ hiển thị các trường liên quan đến lựa chọn bạn đã thực hiện. Trên tab MQTT, các trường TLS (chứng chỉ CA, chứng chỉ/khóa client, cho phép không tin cậy) chỉ xuất hiện khi TLS được bật. Trên tab OPC UA, các trường chứng chỉ/khóa client chỉ xuất hiện với xác thực Certificate, còn tên người dùng/mật khẩu chỉ xuất hiện với xác thực Username/Password. Mỗi công tắc bật/tắt trong biểu mẫu hiển thị trạng thái bằng dấu tích hoặc dấu x bên trong track, chứ không chỉ dựa vào màu sắc.

Mọi giao thức mạng đều có thể chạy ở ba tư thế bảo mật. Hãy chọn tư thế cao nhất mà endpoint của bạn hỗ trợ — Insecure chỉ dành cho công việc trên bàn thử và trong phòng lab, không bao giờ dùng cho mạng nhà máy.

Các chứng chỉ được tham chiếu bên dưới nằm trong thư mục certs/ của gói cài đặt, được gắn chỉ-đọc vào backend tại /certs (bật bằng AIBOARD_CERTS_ENABLED=1 trong tệp .env của gói). Các trường cấu hình chỉ chấp nhận các đường dẫn nằm dưới /certs — bất kỳ thứ gì ngoài vùng cách ly (jail) đều bị từ chối. Chỉ sao chép chứng chỉ CA và cặp chứng chỉ/khóa client sang box; khóa riêng của CA và các khóa của broker/máy chủ không bao giờ được rời khỏi máy chủ PKI của bạn.

TrườngGiá trị
Security policyNone
Message security modeNone
AuthenticationAnonymous

Không mã hóa, không danh tính — bất kỳ ai trên mạng đều có thể đọc giá trị tag và giả mạo máy chủ. Chỉ chấp nhận được đối với phòng lab demo cục bộ hoặc một bàn thử cách ly mạng (air-gapped).

TrườngGiá trị
Broker URLmqtt://broker-host:1883
TLStắt
Tên người dùng / mật khẩuđể trống (ẩn danh)

Văn bản thuần và ẩn danh — bất kỳ ai trên phân đoạn mạng đều có thể đọc và giả mạo. Chỉ dùng trong phòng lab.

CSV dựa trên tệp — không có kênh mạng nào để bảo vệ. Các biện pháp bảo vệ nằm ở mức hệ thống tệp và đã được thực thi sẵn:

  • Các đường dẫn tệp bị cách ly dưới thư mục gốc CSV (/data/csv trong container, AIBOARD_CSV_ROOT); các nỗ lực đi vượt thư mục (path-traversal) bị từ chối.
  • Hãy gắn các tập dữ liệu phát lại ở chế độ chỉ-đọc, và giữ volume CSV trên box — việc xuất nó ra khỏi box là một quyết định quản trị dữ liệu, không phải một thiết lập của datasource.

Trước khi kích hoạt, dùng Test Connection trên nguồn. Nó xác minh các giá trị biểu mẫu trực tiếp chạm tới được endpoint, để bạn phát hiện sai host hay thông tin xác thực trước khi đấu nối tag.

MQTT: cửa sổ hết hạn, kết nối lại và từ chối giá trị không hữu hạn

Phần tiêu đề “MQTT: cửa sổ hết hạn, kết nối lại và từ chối giá trị không hữu hạn”

MQTT đẩy dữ liệu đọc; suy luận lấy một mẫu mỗi tick. Một giá trị tag được cache sẽ hết hạn sau clamp(50 / SamplingHz, 5s, 60s) — ở mức mặc định 10 Hz là 5 giây. Qua khỏi khoảng thời gian đó, một tag cũ sẽ gây ra lỗi đọc và dừng suy luận, giống như khi cảm biến ngừng phát tín hiệu.

Khi mất kết nối broker, adapter kết nối lại theo cơ chế backoff theo cấp số nhân và đăng ký lại các topic đã ánh xạ ở mỗi lần thử, cho đến khi datasource bị vô hiệu hóa.

Payload NaNInfinity (kể cả tràn số, ví dụ 1e400) bị từ chối ngay tại bộ phân tích và không bao giờ đến được mô hình. Một topic publish NaN như một giá trị báo hiệu “không có phép đo” sẽ làm dừng suy luận theo thiết kế — cùng một quy tắc như khi cảm biến ngừng phát tín hiệu.

Mỗi datasource có giới hạn tốc độ độc lập và một bộ đệm có giới hạn. Khi một nguồn sản sinh nhanh hơn mức runtime tiêu thụ, backpressure được báo cáo lên bảng điều khiển để bạn phát hiện tình trạng quá tải.

Triệu chứngNguyên nhân khả dĩ
Kích hoạt thất bại với model_not_pairedHãy ghép cặp một mô hình với datasource trước.
Kích hoạt bị quay lại khi kết nốiEndpoint không truy cập được, sai thông tin xác thực, hoặc tường lửa — xác minh bằng Test Connection.
Hàng báo Enabled nhưng không có dự đoánTheo thiết kế — bấm Start để bắt đầu truyền.
Ghép cặp bị từ chốiwindow size × feature count không khớp giữa mô hình và datasource.
Ánh xạ tag thất bại với thông báo tag_outside_subscription_*Topic của tag nằm ngoài Base Topic của datasource — mở rộng Base Topic hoặc sửa đường dẫn tag. Lỗi ánh xạ tag hiển thị dưới dạng câu văn, không phải mã thô.
Suy luận dừng sau khi chạy tốt một thời gianMột topic MQTT đã ánh xạ vượt quá cửa sổ hết hạn (publisher chậm) — xem phần hết hạn ở trên.

Xem runbook Khắc phục sự cố để biết thêm.