Phần mềm của phần mềm HALO Smart Sensor API Phần mềm cơ bản
Phía trước
Tài liệu này mô tả nhóm cơ sở của Cảm biến thông minh Halo được gọi chung là API BASIC hoặc Giao diện lập trình ứng dụng. Cuộc thảo luận này dành cho các lập trình viên hoặc nhà tích hợp quan tâm đến việc tích hợp một hoặc nhiều Cảm biến thông minh HALO (HALO) với các thành phần hoặc hệ thống phần mềm (không phải IPVideo) của bên thứ ba. Nói chung, HALO API nhằm chuyển thông tin hiệu quả từ HALO qua mạng Ethernet thông thường sang chương trình bên ngoài. Để đạt được mục tiêu này, API được chia thành ba phần: Kết nối ổ cắm hướng sự kiện, Kết nối ổ cắm nhịp tim và Dữ liệu sự kiện URL. Giao diện BACnet cũng có mặt và được đề cập trong một tài liệu riêng biệt.
Thiết kế API
API được thiết kế bằng cách sử dụng các định dạng tiêu chuẩn công nghiệp như TCP / IP. HTTP, HTTPS và JSON. Thiết kế không yêu cầu bất kỳ kỹ thuật hoặc thư viện đặc biệt hoặc độc quyền nào được sử dụng trong quá trình phát triển chương trình hoặc ứng dụng bên ngoài. API rất linh hoạt và có thể được định cấu hình và lập trình để cung cấp chính xác dữ liệu được yêu cầu và theo cách hiệu quả nhất. Chi tiết về hoạt động của từng phần trên được đề cập trong các phần sau của hướng dẫn này.
Nhắn tin bên ngoài
Cơ sở này được sử dụng để gửi cảnh báo hoặc cảnh báo và dữ liệu Sự kiện đến một chương trình bên ngoài, hệ thống VMS, máy chủ, v.v. khi Sự kiện được kích hoạt (được thiết lập). Các thông báo tùy chọn cũng có thể được bật để báo hiệu khi Sự kiện xóa (được đặt lại). Việc phân phối này có thể được thực hiện tới ổ cắm TCP / IP hoặc máy chủ HTTP / S trong thời gian thực. Có một loạt các giao thức có thể định cấu hình với nội dung có thể tùy chỉnh. Xác thực và mã hóa có sẵn.
Nhịp tim
Tin nhắn nhịp tim được gửi ở một khoảng thời gian có thể định cấu hình (thay vì khi Sự kiện được kích hoạt) để cung cấp bằng chứng về tính khả dụng / hoạt động. Chúng có nhiều khả năng tương tự như Nhắn tin bên ngoài nhưng thường sẽ được định cấu hình để chứa thông tin trạng thái chung thay vì chi tiết về một sự kiện cụ thể.
Dữ liệu sự kiện URL
Cơ sở này chỉ khả dụng theo NDA và chỉ nên được sử dụng khi chương trình bên ngoài yêu cầu quyền truy cập vào bất kỳ và tất cả các giá trị Sự kiện, ngưỡng và cờ trạng thái. Dữ liệu này thường được chương trình bên ngoài truy xuất theo yêu cầu nhưng không phải ở tần suất quá cao. Phương pháp này thường gây ra một số độ trễ khi tỷ lệ bỏ phiếu khiêm tốn được sử dụng. Tỷ lệ bỏ phiếu điển hình dao động từ một lần mỗi phút đến một lần mỗi 5 giây với tốc độ tối đa tuyệt đối là một lần mỗi giây. Phương pháp này cũng có thể được sử dụng để truy xuất dữ liệu hỗ trợ bổ sung khi nhận được Sự kiện (cảnh báo).
Thông tin chi tiết về Nhắn tin bên ngoài
Một phần của HALO web giao diện Cửa sổ bật lên tích hợp cung cấp cấu hình của một kết nối bên thứ ba trong đó các giá trị khác nhau có thể được gửi đến ổ cắm TCP từ xa hoặc máy chủ HTTP / HTTPS. Giá trị giữ chỗ (mã thông báo) được sử dụng để chèn các giá trị trực tiếp vào văn bản được truyền. Mặc dù được gắn nhãn "Nhắn tin bên ngoài", kênh này có thể được sử dụng cho hầu hết mọi mục đích yêu cầu Trình kích hoạt sự kiện thời gian thực, do HALO chủ động phân phối. Sự sắp xếp này khá linh hoạt vì các lựa chọn trên “Hành động” xác định Sự kiện HALO nào truyền qua kênh này.
Trong chế độ HTTP, các Chuỗi Đặt và Đặt lại là URLs phải được nhập và định dạng theo yêu cầu của máy chủ đích mong muốn. Trường Người dùng và Mật khẩu có thể được sử dụng để xác thực. Xem chế độ HTTP bên dưới.
Trong chế độ TCP, các chuỗi Đặt và Đặt lại chỉ là dữ liệu của một thông điệp duy nhất được gửi đến ổ cắm TCP nhận. Chúng có thể được định dạng theo nhu cầu của điểm đến. Điểm đến được chỉ định trong các trường Địa chỉ và Cổng. Xem Chế độ TCP bên dưới.
Đối với một trong hai chế độ, trạng thái từ thông báo gần đây nhất được hiển thị có thể hỗ trợ việc khắc phục kết nối hoặc các sự cố khác. Bạn có thể sử dụng các nút THỬ NGHIỆM Sự kiện trên cửa sổ bật lên Hành động để buộc một thông báo:
Global On / Off cho Đặt hoặc Đặt lại phải được Bật để bật các loại thông báo đó. Đặt lại thường không được sử dụng vì chỉ sự bắt đầu của Sự kiện mới được quan tâm, nhưng điều đó có thể thay đổi. Mỗi Sự kiện có thể chỉ định độc lập xem nó sẽ sử dụng thông báo Đặt hoặc Đặt lại trên cửa sổ bật lên Hành động. Các nút nhãn cầu sẽ hiển thị đại diện sơ bộ về những gì được gửi sau khi thay thế và định dạng từ khóa. Lặp lại Holdoff có thể được sử dụng để điều chỉnh các tin nhắn thường xuyên bằng cách trì hoãn trước khi một tin nhắn khác có thể được gửi đi. Điều này được thực hiện độc lập cho mỗi Sự kiện. HALO tích hợp sẵn thời gian lưu giữ cho các sự kiện là 15 giây để ngăn sự kiện kích hoạt lại nhanh chóng. Nếu bạn muốn đảm bảo không nhiều hơn 1 Sự kiện cùng loại được gửi mỗi phút, bạn có thể đặt Ngừng lặp lại thành 60 (giây).
Chi tiết nhịp tim
Chức năng truyền Nhịp tim hoạt động theo cách tương tự như ở trên ngoại trừ việc không có tương tác với trang Tác vụ. Thay vào đó, quá trình truyền Nhịp tim xảy ra thường xuyên như được định cấu hình với trường Khoảng thời gian, Ở chế độ HTTP, Chuỗi Đặt và Đặt lại là URLs phải được nhập và định dạng theo yêu cầu của máy chủ đích mong muốn. Trường Người dùng và Mật khẩu có thể được sử dụng để xác thực. Xem chế độ HTTP bên dưới.
Mặc dù mục đích chính của Heartbeat là cung cấp bằng chứng về tuổi thọ của Cảm biến thông minh HALO cho một ứng dụng từ xa, thông báo này cũng có thể được sử dụng để truyền các cảm biến đã chọn hoặc thông tin trạng thái sự kiện hiện tại. Người cũample ở trên gửi một tham số chuỗi dài với URL bao gồm tên Halo, phần lớn các giá trị cảm biến và cuối cùng Được kích hoạt =% ACTIVE% có thể trống hoặc danh sách các Sự kiện hiện được kích hoạt.
Chế độ HTTP (và HTTPS)
Chuỗi Nhắn tin bên ngoài và Nhịp tim có thể là http: hoặc https: URLs khi cần thiết. Đường dẫn và thông số có thể được nhập vào khi cần thiết bởi máy chủ đích. Các từ khóa như% NAME% (tên thiết bị HALO) hoặc% EID% (id sự kiện) có thể được chèn khi cần thiết và sẽ được thay thế bằng dữ liệu tương ứng khi tin nhắn được gửi đi. Danh sách các từ khóa thường được sử dụng được hiển thị để tham khảo nhanh.
Các URL đường dẫn có thể chứa các từ khóa cũng như các tham số đến URL. Các tham số có thể là cặp NAME = VALUE hoặc đối tượng JSON hoặc định dạng tùy chỉnh tùy thuộc vào máy chủ đích. Bán tạiamples đối với Nhắn tin bên ngoài sẽ bao gồm% EID% để cho biết Sự kiện đã kích hoạt:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Examples for Heartbeat có thể thêm% ACTIVE% (Sự kiện hiện được kích hoạt) hoặc một giá trị cảm biến:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
Giá trị% SENSOR:…% sử dụng tên được tìm thấy trong tiêu đề cột cảm biến bên phải trong nhật ký evtYYYYMMDD.csv fileS. Chúng thường là:
Nếu máy chủ đích thích HTTP PUT hoặc POST thay vì yêu cầu GET, bạn có thể đặt tiền tố URL với PUT: hoặc POST:. Một cách độc lập, bạn có thể thêm tải trọng JSON phổ biến với nhiều máy chủ bằng cách thêm từ khóa [JSONBODY] theo sau là đối tượng được định dạng JSON. Bán tạiamplê:
PUT: https: //server.com/event [JSONBODY] {“location”: ”% NAME%”, ”event”: ”% EID%”}
Các URL hỗ trợ địa chỉ IP điển hình (và IPv6) và các tùy chọn cổng và mật khẩu người dùng hoặc bạn có thể sử dụng trường Người dùng và Mật khẩu nếu cần làm máy chủ đích cho các phương pháp xác thực như Cơ bản hoặc Thông báo:
https://username:password@123.321.123.321:9876/event…
Chế độ TCP
Các chuỗi Nhắn tin bên ngoài và Nhịp tim chỉ dành cho dữ liệu vì các trường Địa chỉ và Cổng chỉ định đích. Địa chỉ hỗ trợ tên, IPv4 và IPv6.
Chuỗi có thể được định dạng giống như các phần dữ liệu của thông điệp HTTP được mô tả ở trên hoặc theo yêu cầu của máy chủ đích.
Examples đối với Nhắn tin bên ngoài sẽ bao gồm% EID% để cho biết Sự kiện đã kích hoạt:
vị trí =% NAME%, sự kiện =% EID%
{“Vị trí”: ”:% NAME%”, ”sự kiện”: ”% EID%”}
Examples for Heartbeat có thể thêm% ACTIVE% (Sự kiện hiện được kích hoạt) hoặc một giá trị cảm biến:
vị trí =% NAME% & được kích hoạt =% ACTIVE%
{“Vị trí”: ”:% NAME%”, “NH3”:% CẢM BIẾN: NH3%}
Các hộp kiểm trong cột “Bộ tích hợp” và “Đặt lại tích hợp” xác định sự kiện nào kích hoạt gửi. Thông tin thêm về thiết lập Sự kiện và Hành động có sẵn trong Hướng dẫn dành cho quản trị viên HALO.
Gửi thông báo sự kiện JSON
Một số nhà phát triển thích nhận dữ liệu Sự kiện được định dạng dưới dạng JSON tự gắn nhãn tiêu chuẩn ngành hơn là văn bản ASCII thuần túy vì dữ liệu trước đây đáng tin cậy hơn và dễ dàng phân tích cú pháp hơn. Trên HALO web trang “Nhắn tin”, bạn có thể cung cấp tin nhắn JSON trong cài đặt “Nhắn tin bên ngoài” “Đặt chuỗi” và “Đặt lại chuỗi” và trong “Nhịp tim” “Tin nhắn”.
Exampcác bạn:
Chuỗi cài đặt “Nhắn tin bên ngoài”:
{“Thiết bị”: ”% NAME%”, “sự kiện”: ”% EID%”, “báo thức”: “có”}
Thao tác này sẽ gửi một thông báo TCP hoặc UDP JSON đến máy chủ được chỉ định báo cáo tên thiết bị thân thiện, tên sự kiện và nó vừa bắt đầu.
Chuỗi đặt lại cài đặt “Nhắn tin bên ngoài”:
{“Thiết bị”: ”% NAME%”, “sự kiện”: ”% EID%”, “báo thức”: “không”}
Thao tác này sẽ gửi một thông báo TCP hoặc UDP JSON đến máy chủ được chỉ định báo cáo tên thiết bị thân thiện, tên sự kiện và điều kiện hiện đã dừng.
Thông báo "Heartbeat":
{“Thiết bị”: ”% NAME%”, “còn sống”: ”% DATE%% TIME%”}
Điều này sẽ định kỳ gửi một thông báo TCP hoặc UDP JSON đến máy chủ được chỉ định báo cáo rằng HALO vẫn còn tồn tại vào thời điểm được chỉ định.
Tài liệu / Tài nguyên
![]() |
Phần mềm của phần mềm HALO Smart Sensor API Phần mềm cơ bản [tập tin pdf] Hướng dẫn sử dụng Phần mềm cơ bản API cảm biến thông minh HALO |