Perangkat Lunak s HALO Smart Sensor API Perangkat Lunak Dasar
Maju
Dokumen ini menjelaskan sekelompok fasilitas Halo Smart Sensor yang secara kolektif dikenal sebagai BASIC API, atau Application Programming Interface. Pembahasan ini ditujukan untuk digunakan oleh para programmer atau integrator yang tertarik untuk mengintegrasikan satu atau lebih HALO Smart Sensor (HALO) dengan komponen atau sistem perangkat lunak pihak ketiga (non-IPVideo). Secara umum, HALO API ditujukan untuk mentransfer informasi secara efisien dari HALO melalui jaringan Ethernet konvensional ke program eksternal. Untuk mencapai tujuan ini, API dibagi menjadi tiga bagian: Event Driven Socket Connection, Heartbeat Socket Connection, dan Event Data URLAntarmuka BACnet juga hadir dan dibahas dalam dokumen terpisah.
Desain API
API dirancang menggunakan format standar industri seperti TCP/IP, HTTP, HTTPS, dan JSON. Desain ini tidak memerlukan teknik atau pustaka khusus atau hak milik untuk digunakan dalam pengembangan program atau aplikasi eksternal. API bersifat fleksibel dan dapat dikonfigurasi serta diprogram untuk memberikan data yang dibutuhkan secara tepat dan dengan cara yang paling efisien. Rincian pengoperasian masing-masing bagian di atas dibahas dalam bagian berikut dari panduan ini.
Pesan Eksternal
Fasilitas ini digunakan untuk mengirimkan peringatan atau alarm dan data Peristiwa ke program eksternal, sistem VMS, server, dll. saat Peristiwa dipicu (diatur). Pesan opsional juga dapat diaktifkan untuk memberi sinyal saat Peristiwa dihapus (diatur ulang). Pengiriman ini dapat dilakukan ke soket TCP/IP atau server HTTP/S secara real time. Ada berbagai protokol yang dapat dikonfigurasi dengan konten yang dapat disesuaikan. Autentikasi dan enkripsi tersedia.
Denyut jantung
Pesan Heartbeat dikirim pada interval yang dapat dikonfigurasi (bukan saat Peristiwa dipicu) untuk memberikan bukti ketersediaan/aktifitas. Pesan ini memiliki berbagai kemampuan yang serupa dengan Pesan Eksternal, tetapi biasanya dikonfigurasi untuk memuat informasi status umum, bukan detail tentang peristiwa tertentu.
Data Acara URL
Fasilitas ini hanya tersedia berdasarkan NDA dan hanya boleh digunakan saat program eksternal memerlukan akses ke semua nilai, ambang batas, dan tanda status Peristiwa. Data ini umumnya diambil sesuai permintaan oleh program eksternal tetapi tidak pada frekuensi yang sangat tinggi. Metode ini umumnya menimbulkan beberapa latensi saat laju polling yang sederhana digunakan. Laju polling yang umum berkisar dari sekali per menit hingga sekali per 5 detik dengan laju maksimum absolut sekali per detik. Metode ini juga dapat digunakan untuk mengambil data pendukung tambahan saat Peristiwa (peringatan) diterima.
Detail Pesan Eksternal
Bagian dari HALO web Antarmuka popup Integrasi menyediakan konfigurasi koneksi pihak ketiga tunggal tempat berbagai nilai dapat dikirim ke soket TCP jarak jauh atau server HTTP/HTTPS. Placeholder (token) digunakan untuk memasukkan nilai langsung ke dalam teks yang dikirimkan. Meskipun diberi label "Pesan Eksternal", saluran ini dapat digunakan untuk hampir semua tujuan yang memerlukan pemicu Peristiwa waktu nyata, yang dikirimkan secara aktif oleh HALO. Pengaturan ini cukup fleksibel karena pilihan pada "Tindakan" menentukan Peristiwa HALO mana yang dikirimkan melalui saluran ini.
Dalam mode HTTP, String Set dan Reset adalah URLyang harus dimasukkan dan diformat sesuai kebutuhan server tujuan yang diinginkan. Kolom Pengguna dan Kata Sandi dapat digunakan untuk autentikasi. Lihat mode HTTP di bawah.
Dalam mode TCP, String Set dan Reset hanya berupa data dari satu pesan yang dikirim ke soket TCP penerima. String tersebut dapat diformat sesuai kebutuhan oleh tujuan. Tujuan ditentukan dalam kolom Alamat dan Port. Lihat Mode TCP di bawah.
Untuk kedua mode tersebut, status dari pesan terbaru akan ditampilkan yang dapat membantu memperbaiki koneksi atau masalah lainnya. Anda dapat menggunakan tombol Event TEST pada popup Actions untuk memaksakan pesan:
Global On/Off untuk Set atau Reset harus On untuk mengaktifkan jenis pesan tersebut. Reset sering tidak digunakan karena yang menjadi perhatian hanya permulaan Event, tetapi itu bisa beragam. Setiap Event dapat secara independen menentukan apakah akan menggunakan pesan Set atau Reset pada popup Actions. Tombol eyeball akan menampilkan representasi kasar dari apa yang dikirim setelah substitusi kata kunci dan pemformatan. Repeat Holdoff dapat digunakan untuk membatasi pesan yang sering dengan menunda sebelum pesan lain dapat dikirim. Ini dilakukan secara independen per Event. HALO memiliki waktu tunggu bawaan untuk event selama 15 detik untuk mencegah pemicuan ulang Event yang cepat. Jika Anda ingin memastikan tidak lebih dari 1 Event dari suatu jenis dikirim per menit, Anda dapat mengatur Repeat Holdoff menjadi 60 (detik).
Detail detak jantung
Transmisi Heartbeat berfungsi dengan cara yang sama seperti di atas kecuali tidak ada interaksi dengan halaman Actions. Sebaliknya, transmisi Heartbeat terjadi secara teratur sebagaimana dikonfigurasi dengan bidang Interval. Dalam mode HTTP, String Set dan Reset adalah URLyang harus dimasukkan dan diformat sesuai kebutuhan server tujuan yang diinginkan. Kolom Pengguna dan Kata Sandi dapat digunakan untuk autentikasi. Lihat mode HTTP di bawah.
Meskipun tujuan utama Heartbeat adalah untuk memberikan bukti kehidupan Sensor Cerdas HALO ke aplikasi jarak jauh, pesan ini juga dapat digunakan untuk mengirimkan sensor terpilih atau informasi status Peristiwa terkini.ample di atas mengirimkan parameter string panjang dengan URL yang menyertakan nama Halo, mayoritas nilai sensor, dan terakhir Triggered=%ACTIVE% yang bisa kosong atau daftar Peristiwa yang sedang dipicu.
Mode HTTP (dan HTTPS)
Pesan Eksternal dan string Detak Jantung dapat berupa http: atau https: URLs sesuai kebutuhan. Jalur dan parameter dapat dimasukkan sesuai kebutuhan oleh server tujuan. Kata kunci seperti %NAME% (nama perangkat HALO) atau %EID% (ID peristiwa) dapat dimasukkan sesuai kebutuhan dan akan diganti dengan data terkait saat pesan dikirim. Daftar kata kunci yang umum digunakan ditampilkan untuk referensi cepat.
Itu URL jalur dapat berisi kata kunci serta parameter ke URLParameternya bisa berupa pasangan NAMA=NILAI atau objek JSON, atau format khusus tergantung pada server tujuan.amples untuk Pesan Eksternal akan menyertakan %EID% untuk menunjukkan Peristiwa yang memicu:
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Examples untuk Heartbeat mungkin menambahkan %ACTIVE% (Peristiwa yang dipicu saat ini) atau nilai sensor:
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
Nilai %SENSOR:…% menggunakan nama yang ditemukan di judul kolom sensor sebelah kanan di log evtYYYYMMDD.csv files. Mereka biasanya:
Jika server tujuan lebih memilih HTTP PUT atau POST daripada permintaan GET, Anda dapat menambahkan awalan URL dengan PUT: atau POST:. Secara independen, Anda dapat menambahkan muatan JSON yang populer di banyak server dengan menambahkan kata kunci [JSONBODY] diikuti oleh objek berformat JSON. Misalnyaampsaya:
TARUH:https://server.com/event[JSONBODY]{“lokasi”:”%NAME%”,”acara”:”%EID%”}
Itu URL mendukung alamat IP umum (dan IPv6) dan opsi port dan kata sandi pengguna, atau Anda dapat menggunakan bidang Pengguna dan Kata Sandi jika diperlukan oleh server tujuan untuk metode autentikasi seperti Basic atau Digest:
https://username:password@123.321.123.321:9876/event…
Modus TCP
String Pesan Eksternal dan Detak Jantung hanya untuk data karena kolom Alamat dan Port menentukan tujuan. Alamat mendukung nama, IPv4 dan IPv6.
String dapat diformat seperti bagian data pesan HTTP yang dijelaskan di atas, atau seperti yang diperlukan oleh server tujuan.
Examples untuk Pesan Eksternal akan menyertakan %EID% untuk menunjukkan Peristiwa yang memicu:
lokasi=%NAME%,acara=%EID%
{“lokasi”:”:%NAME%”,”acara”:”%EID%”}
Examples untuk Heartbeat mungkin menambahkan %ACTIVE% (Peristiwa yang dipicu saat ini) atau nilai sensor:
lokasi=%NAME%&Terpicu=%AKTIF%
{“lokasi”:”:%NAMA%”,”NH3”:%SENSOR:NH3%}
Kotak centang di kolom “Integration Set” dan “Integration Reset” menentukan Peristiwa mana yang memicu pengiriman. Informasi lebih lanjut tentang pengaturan Peristiwa dan Tindakan tersedia di Panduan Administrator HALO.
Pengiriman Pesan Peristiwa JSON
Beberapa pengembang lebih suka menerima data Acara yang diformat sebagai JSON berlabel standar industri daripada teks ASCII biasa karena yang pertama lebih andal dan lebih mudah diurai. Di HALO web pada tab “Pesan”, Anda dapat menyediakan pesan JSON di pengaturan “Pesan Eksternal” “Tetapkan String” dan “Setel Ulang String” dan di “Detak Jantung” “Pesan.”
Exampsedikit:
Pengaturan “Pesan Eksternal” Mengatur String:
{ “perangkat”:”%NAME%”, “peristiwa”:”%EID%”, “alarm”:”ya” }
Ini akan mengirimkan satu pesan JSON TCP atau UDP ke server tertentu yang melaporkan nama perangkat yang mudah digunakan, nama peristiwa, dan bahwa perangkat tersebut baru saja dimulai.
Rangkaian Reset Pengaturan “Pesan Eksternal”:
{ “perangkat”:”%NAME%”, “peristiwa”:”%EID%”, “alarm”:”tidak” }
Ini akan mengirimkan satu pesan TCP atau UDP JSON ke server tertentu yang melaporkan nama perangkat yang ramah, nama peristiwa, dan bahwa kondisi kini telah berhenti.
Pesan “Detak Jantung”:
{ “perangkat”:”%NAME%”, “hidup”:”%DATE% %TIME%” }
Ini akan secara berkala mengirimkan pesan TCP atau UDP JSON ke server yang ditentukan untuk melaporkan bahwa HALO aktif pada waktu yang ditentukan.
Dokumen / Sumber Daya
![]() |
Perangkat Lunak s HALO Smart Sensor API Perangkat Lunak Dasar [Bahasa Indonesia:] Panduan Pengguna Perangkat Lunak Dasar HALO Smart Sensor API |