កម្មវិធីមូលដ្ឋានរបស់ HALO Smart Sensor API
ទៅមុខ
ឯកសារនេះពិពណ៌នាអំពីក្រុមឧបករណ៍នៃ Halo Smart Sensor ដែលត្រូវបានគេស្គាល់ជារួមថា BASIC API ឬ Application Programming Interface។ ការពិភាក្សានេះត្រូវបានបម្រុងទុកសម្រាប់ប្រើប្រាស់ដោយអ្នកសរសេរកម្មវិធី ឬអ្នករួមបញ្ចូលដែលចាប់អារម្មណ៍ក្នុងការរួមបញ្ចូលឧបករណ៍ចាប់សញ្ញា HALO Smart Sensors (HALO) មួយ ឬច្រើនជាមួយសមាសធាតុ ឬប្រព័ន្ធរបស់ភាគីទីបី (មិនមែន IPVideo) ។ ជាទូទៅ HALO API មានបំណងផ្ទេរព័ត៌មានប្រកបដោយប្រសិទ្ធភាពពី HALO លើបណ្តាញអ៊ីសឺរណិតធម្មតាទៅកាន់កម្មវិធីខាងក្រៅ។ ដើម្បីសម្រេចគោលដៅនេះ API ត្រូវបានបែងចែកជាបីផ្នែក៖ ការតភ្ជាប់រន្ធដែលជំរុញព្រឹត្តិការណ៍ ការតភ្ជាប់រន្ធដោតបេះដូង និងទិន្នន័យព្រឹត្តិការណ៍ URL. ចំណុចប្រទាក់ BACnet ក៏មានវត្តមាន និងគ្របដណ្តប់នៅក្នុងឯកសារដាច់ដោយឡែកមួយ។
ការរចនា API
API ត្រូវបានរចនាឡើងដោយប្រើទម្រង់ស្តង់ដារឧស្សាហកម្មដូចជា TCP/IP ។ HTTP, HTTPS, និង JSON ។ ការរចនាមិនតម្រូវឱ្យមានបច្ចេកទេសពិសេស ឬមានកម្មសិទ្ធិ ឬបណ្ណាល័យដើម្បីប្រើប្រាស់ក្នុងការអភិវឌ្ឍន៍កម្មវិធី ឬកម្មវិធីខាងក្រៅនោះទេ។ API មានភាពបត់បែន និងអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធ និងកម្មវិធីដើម្បីចែកចាយទិន្នន័យដែលត្រូវការ និងប្រកបដោយប្រសិទ្ធភាពបំផុត។ ព័ត៌មានលម្អិតនៃប្រតិបត្តិការនៃផ្នែកនីមួយៗខាងលើត្រូវបានគ្របដណ្តប់នៅក្នុងផ្នែកខាងក្រោមនៃការណែនាំនេះ។
ការផ្ញើសារខាងក្រៅ
គ្រឿងបរិក្ខារនេះត្រូវបានប្រើដើម្បីផ្តល់ការជូនដំណឹង ឬការជូនដំណឹង និងទិន្នន័យព្រឹត្តិការណ៍ទៅកាន់កម្មវិធីខាងក្រៅ ប្រព័ន្ធ VMS ម៉ាស៊ីនមេ។ល។ នៅពេលដែលព្រឹត្តិការណ៍ត្រូវបានកេះ (ត្រូវបានកំណត់)។ សារស្រេចចិត្តក៏អាចត្រូវបានបើកដើម្បីផ្តល់សញ្ញានៅពេលដែលព្រឹត្តិការណ៍មួយត្រូវបានសម្អាត (ត្រូវបានកំណត់ឡើងវិញ)។ ការចែកចាយនេះអាចធ្វើឡើងទៅកាន់រន្ធ TCP/IP ឬម៉ាស៊ីនមេ HTTP/S ក្នុងពេលវេលាជាក់ស្តែង។ មានជួរនៃពិធីការដែលអាចកំណត់រចនាសម្ព័ន្ធជាមួយនឹងមាតិកាដែលអាចប្ដូរតាមបំណងបាន។ ការផ្ទៀងផ្ទាត់ និងការអ៊ិនគ្រីបមាន។
ចង្វាក់បេះដូង
សារចង្វាក់បេះដូងត្រូវបានផ្ញើនៅចន្លោះពេលដែលអាចកំណត់បាន (ជំនួសឱ្យពេលដែលព្រឹត្តិការណ៍ត្រូវបានកេះ) ដើម្បីផ្តល់ភស្តុតាងនៃការផ្សាយបន្តផ្ទាល់/មាន។ ពួកវាមានសមត្ថភាពប្រហាក់ប្រហែលនឹងការផ្ញើសារខាងក្រៅ ប៉ុន្តែជាធម្មតានឹងត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីឱ្យមានព័ត៌មានរដ្ឋទូទៅជាជាងព័ត៌មានលម្អិតអំពីព្រឹត្តិការណ៍ជាក់លាក់មួយ។
ទិន្នន័យព្រឹត្តិការណ៍ URL
គ្រឿងបរិក្ខារនេះអាចប្រើបានតែក្រោម NDA ប៉ុណ្ណោះ ហើយគួរតែត្រូវបានប្រើតែនៅពេលដែលកម្មវិធីខាងក្រៅតម្រូវឱ្យចូលប្រើតម្លៃព្រឹត្តិការណ៍ កម្រិតចាប់ផ្ដើម និងទង់រដ្ឋណាមួយ និងទាំងអស់។ ជាទូទៅទិន្នន័យនេះត្រូវបានទាញយកតាមតម្រូវការដោយកម្មវិធីខាងក្រៅ ប៉ុន្តែមិនមែននៅប្រេកង់ខ្ពស់នោះទេ។ វិធីសាស្រ្តនេះជាទូទៅកើតឡើងនូវភាពយឺតយ៉ាវមួយចំនួន នៅពេលដែលអត្រានៃការស្ទង់មតិតិចតួចត្រូវបានប្រើប្រាស់។ អត្រាការបោះឆ្នោតធម្មតាមានចាប់ពីម្តងក្នុងមួយនាទីទៅមួយដងក្នុងរយៈពេល 5 វិនាទីជាមួយនឹងអត្រាអតិបរមាដាច់ខាតម្តងក្នុងមួយវិនាទី។ វិធីសាស្រ្តនេះក៏អាចត្រូវបានប្រើដើម្បីទាញយកទិន្នន័យជំនួយបន្ថែមនៅពេលដែលព្រឹត្តិការណ៍ (ការជូនដំណឹង) ត្រូវបានទទួល។
ព័ត៌មានលម្អិតអំពីការផ្ញើសារខាងក្រៅ
ផ្នែកមួយនៃ HALO web ចំណុចប្រទាក់ ការរួមបញ្ចូលការលេចឡើងផ្តល់នូវការកំណត់រចនាសម្ព័ន្ធនៃការតភ្ជាប់ភាគីទីបីតែមួយ ដែលតម្លៃផ្សេងៗអាចត្រូវបានផ្ញើទៅកាន់រន្ធ TCP ពីចម្ងាយ ឬម៉ាស៊ីនមេ HTTP/HTTPS ។ អ្នកកាន់កន្លែង (សញ្ញាសម្ងាត់) ត្រូវបានប្រើដើម្បីបញ្ចូលតម្លៃបន្តផ្ទាល់ទៅក្នុងអត្ថបទដែលបានបញ្ជូន។ ទោះបីជាមានស្លាកថា "ការផ្ញើសារខាងក្រៅ" ក៏ដោយ ប៉ុស្តិ៍នេះអាចត្រូវបានប្រើសម្រាប់ស្ទើរតែគ្រប់គោលបំណងដែលទាមទារឱ្យមានការកេះព្រឹត្តិការណ៍តាមពេលវេលាជាក់ស្តែង ដែលផ្តល់ជូនយ៉ាងសកម្មដោយ HALO ។ ការរៀបចំនេះគឺអាចបត់បែនបានព្រោះការជ្រើសរើសនៅលើ "សកម្មភាព" កំណត់ថាព្រឹត្តិការណ៍ HALO ណាដែលបញ្ជូនតាមរយៈឆានែលនេះ។
នៅក្នុងរបៀប HTTP ការកំណត់ និងកំណត់ខ្សែអក្សរឡើងវិញគឺជា URLs ដែលត្រូវតែបញ្ចូល និងធ្វើទ្រង់ទ្រាយតាមតម្រូវការដោយម៉ាស៊ីនមេគោលដៅដែលចង់បាន។ វាលអ្នកប្រើប្រាស់ និងពាក្យសម្ងាត់អាចត្រូវបានប្រើសម្រាប់ការផ្ទៀងផ្ទាត់។ សូមមើលរបៀប HTTP ខាងក្រោម។
នៅក្នុងរបៀប TCP ខ្សែអក្សរកំណត់ និងកំណត់ឡើងវិញគឺគ្រាន់តែជាទិន្នន័យនៃសារតែមួយដែលត្រូវបានផ្ញើទៅកាន់រន្ធ TCP ដែលទទួល។ ពួកវាអាចត្រូវបានធ្វើទ្រង់ទ្រាយតាមតម្រូវការដោយគោលដៅ។ ទិសដៅត្រូវបានបញ្ជាក់នៅក្នុងវាលអាសយដ្ឋាន និងច្រក។ សូមមើលរបៀប TCP ខាងក្រោម។
សម្រាប់របៀបណាមួយ ស្ថានភាពពីសារថ្មីបំផុតត្រូវបានបង្ហាញ ដែលអាចជួយជួសជុលការតភ្ជាប់ ឬបញ្ហាផ្សេងទៀត។ អ្នកអាចប្រើប៊ូតុងតេស្តព្រឹត្តិការណ៍នៅលើផ្ទាំងសកម្មភាពដើម្បីបង្ខំសារ៖
ការបើក/បិទសកលសម្រាប់កំណត់ ឬកំណត់ឡើងវិញត្រូវតែបើក ដើម្បីបើកប្រភេទសារទាំងនោះ។ ការកំណត់ឡើងវិញជាញឹកញាប់មិនត្រូវបានប្រើទេ ពីព្រោះមានតែការចាប់ផ្តើមនៃព្រឹត្តិការណ៍ប៉ុណ្ណោះដែលចាប់អារម្មណ៍ ប៉ុន្តែវាអាចប្រែប្រួល។ ព្រឹត្តិការណ៍នីមួយៗអាចបញ្ជាក់ដោយឯករាជ្យថាតើវានឹងប្រើសារកំណត់ ឬកំណត់ឡើងវិញនៅលើផ្ទាំងសកម្មភាព។ ប៊ូតុងគ្រាប់ភ្នែកនឹងបង្ហាញតំណាងរដុបនៃអ្វីដែលត្រូវបានផ្ញើបន្ទាប់ពីការជំនួសពាក្យគន្លឹះ និងការធ្វើទ្រង់ទ្រាយ។ Repeat Holdoff អាចត្រូវបានប្រើដើម្បីបិទសារញឹកញាប់ដោយការពន្យាពេលមុនពេលមួយផ្សេងទៀតអាចត្រូវបានផ្ញើ។ នេះត្រូវបានធ្វើដោយឯករាជ្យក្នុងមួយព្រឹត្តិការណ៍។ HALO មានរយៈពេលកាន់ជាប់ស្រាប់សម្រាប់ព្រឹត្តិការណ៍ 15 វិនាទីដើម្បីការពារការចាប់យកព្រឹត្តិការណ៍ឡើងវិញយ៉ាងលឿន។ ប្រសិនបើអ្នកចង់ធានាថាព្រឹត្តិការណ៍នៃប្រភេទមួយត្រូវបានផ្ញើមិនលើសពី 1 ក្នុងមួយនាទី អ្នកអាចកំណត់ Repeat Holdoff ទៅ 60 (វិនាទី)។
ព័ត៌មានលម្អិតអំពីចង្វាក់បេះដូង
មុខងារបញ្ជូនចង្វាក់បេះដូងតាមរបៀបស្រដៀងគ្នាទៅនឹងខាងលើ លើកលែងតែមិនមានអន្តរកម្មជាមួយទំព័រសកម្មភាព។ ជំនួសមកវិញ ការបញ្ជូនចង្វាក់បេះដូងកើតឡើងជាទៀងទាត់ ដូចដែលបានកំណត់រចនាសម្ព័ន្ធជាមួយវាល Interval ក្នុងរបៀប HTTP ការកំណត់ និងកំណត់ខ្សែអក្សរឡើងវិញគឺជា URLs ដែលត្រូវតែបញ្ចូល និងធ្វើទ្រង់ទ្រាយតាមតម្រូវការដោយម៉ាស៊ីនមេគោលដៅដែលចង់បាន។ វាលអ្នកប្រើប្រាស់ និងពាក្យសម្ងាត់អាចត្រូវបានប្រើសម្រាប់ការផ្ទៀងផ្ទាត់។ សូមមើលរបៀប HTTP ខាងក្រោម។
ខណៈពេលដែលគោលបំណងចម្បងនៃ Heartbeat គឺដើម្បីផ្តល់នូវភស្តុតាងនៃជីវិតរបស់ HALO Smart Sensor ទៅកាន់កម្មវិធីពីចម្ងាយ សារនេះក៏អាចត្រូវបានប្រើដើម្បីបញ្ជូនឧបករណ៍ចាប់សញ្ញាដែលបានជ្រើសរើស ឬព័ត៌មានស្ថានភាពព្រឹត្តិការណ៍បច្ចុប្បន្នផងដែរ។ អតីតample ខាងលើផ្ញើប៉ារ៉ាម៉ែត្រខ្សែអក្សរវែងជាមួយ URL ដែលរួមបញ្ចូលឈ្មោះ Halo ដែលជាតម្លៃឧបករណ៍ចាប់សញ្ញាភាគច្រើន និងចុងក្រោយ Triggered=%ACTIVE% ដែលអាចទទេ ឬបញ្ជីនៃព្រឹត្តិការណ៍ដែលបានកេះបច្ចុប្បន្ន។
របៀប HTTP (និង HTTPS)
ការផ្ញើសារខាងក្រៅ និងខ្សែចង្វាក់បេះដូងអាចជា http: ឬ https: URLs តាមតម្រូវការ។ ផ្លូវ និងប៉ារ៉ាម៉ែត្រអាចត្រូវបានបញ្ចូលតាមតម្រូវការដោយម៉ាស៊ីនមេគោលដៅ។ ពាក្យគន្លឹះដូចជា %NAME% (ឈ្មោះឧបករណ៍ HALO) ឬ %EID% (លេខសម្គាល់ព្រឹត្តិការណ៍) អាចត្រូវបានបញ្ចូលតាមតម្រូវការ ហើយនឹងត្រូវបានជំនួសដោយទិន្នន័យរៀងៗខ្លួន នៅពេលដែលសារត្រូវបានផ្ញើ។ បញ្ជីនៃពាក្យគន្លឹះដែលប្រើជាទូទៅត្រូវបានបង្ហាញសម្រាប់ឯកសារយោងរហ័ស។
នេះ។ URL ផ្លូវអាចមានពាក្យគន្លឹះក៏ដូចជាប៉ារ៉ាម៉ែត្រទៅនឹង URL. ប៉ារ៉ាម៉ែត្រអាចជាគូ NAME=VALUE ឬវត្ថុ JSON ឬទម្រង់ផ្ទាល់ខ្លួនអាស្រ័យលើម៉ាស៊ីនមេគោលដៅ។ ឧamples សម្រាប់ការផ្ញើសារខាងក្រៅនឹងរួមបញ្ចូល %EID% ដើម្បីបង្ហាញពីព្រឹត្តិការណ៍ដែលបង្កឡើង៖
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
Examples សម្រាប់ Heartbeat អាចបន្ថែម %ACTIVE% (ព្រឹត្តិការណ៍ដែលបានកេះនាពេលបច្ចុប្បន្ន) ឬតម្លៃឧបករណ៍ចាប់សញ្ញា៖
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
តម្លៃ %SENSOR:…% ប្រើឈ្មោះដែលរកឃើញក្នុងចំណងជើងជួរឈរឧបករណ៍ចាប់សញ្ញាខាងស្តាំដៃក្នុងកំណត់ហេតុ evtYYYYMMDD.csv fileស. ពួកវាជាធម្មតា៖
ប្រសិនបើម៉ាស៊ីនមេគោលដៅចូលចិត្ត HTTP PUT ឬ POST ជំនួសឱ្យសំណើ GET អ្នកអាចដាក់បុព្វបទ URL ជាមួយ PUT: ឬ POST: ។ ដោយឯករាជ្យ អ្នកអាចបន្ថែម JSON payload ដែលពេញនិយមជាមួយម៉ាស៊ីនមេជាច្រើនដោយបន្ថែមពាក្យគន្លឹះ [JSONBODY] អមដោយវត្ថុដែលបានធ្វើទ្រង់ទ្រាយ JSON ។ ឧampលេ៖
PUT៖https://server.com/event[JSONBODY]{“location”:”%NAME%”,”event”:”%EID%”}
នេះ។ URL គាំទ្រអាសយដ្ឋាន IP ធម្មតា (និង IPv6) និងជម្រើសច្រក និងពាក្យសម្ងាត់អ្នកប្រើប្រាស់ ឬអ្នកអាចប្រើវាលអ្នកប្រើប្រាស់ និងពាក្យសម្ងាត់ ប្រសិនបើចាំបាច់ជាម៉ាស៊ីនមេគោលដៅសម្រាប់វិធីសាស្ត្រផ្ទៀងផ្ទាត់ដូចជា Basic ឬ Digest៖
https://username:password@123.321.123.321:9876/event…
របៀប TCP
ការផ្ញើសារខាងក្រៅ និងខ្សែចង្វាក់បេះដូងគឺសម្រាប់តែទិន្នន័យចាប់តាំងពីវាលអាសយដ្ឋាន និងច្រកបញ្ជាក់ទិសដៅ។ អាសយដ្ឋានគាំទ្រឈ្មោះ IPv4 និង IPv6 ។
ខ្សែអក្សរអាចត្រូវបានធ្វើទ្រង់ទ្រាយដូចផ្នែកទិន្នន័យនៃសារ HTTP ដែលបានពិពណ៌នាខាងលើ ឬតាមតម្រូវការដោយម៉ាស៊ីនមេគោលដៅ។
Examples សម្រាប់ការផ្ញើសារខាងក្រៅនឹងរួមបញ្ចូល %EID% ដើម្បីបង្ហាញពីព្រឹត្តិការណ៍ដែលបង្កឡើង៖
ទីតាំង=%NAME%, ព្រឹត្តិការណ៍=%EID%
{“ទីតាំង”៖”:%NAME%”,”ព្រឹត្តិការណ៍”៖”%EID%”}
Examples សម្រាប់ Heartbeat អាចបន្ថែម %ACTIVE% (ព្រឹត្តិការណ៍ដែលបានកេះនាពេលបច្ចុប្បន្ន) ឬតម្លៃឧបករណ៍ចាប់សញ្ញា៖
location=%NAME%&Triggered=%ACTIVE%
{“ទីតាំង”៖”:%NAME%”,”NH3”:%SENSOR:NH3%}
ប្រអប់ធីកនៅក្នុងជួរឈរ "កំណត់សមាហរណកម្ម" និង "កំណត់ការរួមបញ្ចូលឡើងវិញ" កំណត់ព្រឹត្តិការណ៍ដែលបង្កឱ្យមានការផ្ញើ។ ព័ត៌មានបន្ថែមអំពីការរៀបចំព្រឹត្តិការណ៍ និងសកម្មភាពមាននៅក្នុងការណែនាំរបស់អ្នកគ្រប់គ្រង HALO ។
ការបញ្ជូនសារព្រឹត្តិការណ៍ JSON
អ្នកអភិវឌ្ឍន៍មួយចំនួនចូលចិត្តទទួលទិន្នន័យព្រឹត្តិការណ៍ដែលបានធ្វើទ្រង់ទ្រាយជា JSON ដែលដាក់ស្លាកដោយខ្លួនឯងតាមស្តង់ដារឧស្សាហកម្មជាជាងអត្ថបទ ASCII ធម្មតា ដោយសារអត្ថបទពីមុនមានភាពជឿជាក់ និងងាយស្រួលញែកជាង។ នៅលើ HALO web ទំព័រ "ការផ្ញើសារ" ផ្ទាំង អ្នកអាចផ្គត់ផ្គង់សារ JSON នៅក្នុងការកំណត់ "ការផ្ញើសារខាងក្រៅ" "កំណត់ខ្សែអក្សរ" និង "កំណត់ខ្សែអក្សរឡើងវិញ" និងនៅក្នុង "ចង្វាក់បេះដូង" "សារ" ។
Examples:
ការកំណត់ "ការផ្ញើសារខាងក្រៅ" កំណត់ខ្សែអក្សរ៖
{ “ឧបករណ៍”៖”%NAME%”, “ព្រឹត្តិការណ៍”៖”%EID%”, “សំឡេងរោទិ៍”៖”បាទ/ចាស” }
វានឹងផ្ញើសារ TCP ឬ UDP JSON តែមួយទៅកាន់ម៉ាស៊ីនមេដែលបានបញ្ជាក់ដោយរាយការណ៍អំពីឈ្មោះឧបករណ៍ដែលងាយស្រួលប្រើ ឈ្មោះព្រឹត្តិការណ៍ ហើយវាទើបតែចាប់ផ្តើម។
ការកំណត់ "ការផ្ញើសារខាងក្រៅ" កំណត់ខ្សែអក្សរឡើងវិញ៖
{ “ឧបករណ៍”៖”%NAME%”, “ព្រឹត្តិការណ៍”៖”%EID%”, “សំឡេងរោទិ៍”៖”ទេ” }
វានឹងផ្ញើសារ TCP ឬ UDP JSON តែមួយទៅកាន់ម៉ាស៊ីនមេដែលបានបញ្ជាក់ដោយរាយការណ៍អំពីឈ្មោះឧបករណ៍ដែលងាយស្រួលប្រើ ឈ្មោះព្រឹត្តិការណ៍ ហើយលក្ខខណ្ឌបានឈប់ហើយ។
សារ "ចង្វាក់បេះដូង"៖
{ “ឧបករណ៍”៖”%NAME%”, “រស់”៖”%DATE% %TIME%” }
វានឹងផ្ញើសារ TCP ឬ UDP JSON ជាទៀងទាត់ទៅម៉ាស៊ីនមេដែលបានបញ្ជាក់ដោយរាយការណ៍ថា HALO មានជីវិតនៅពេលវេលាដែលបានបញ្ជាក់។
ឯកសារ/ធនធាន
![]() |
កម្មវិធីមូលដ្ឋានរបស់ HALO Smart Sensor API [pdf] ការណែនាំអ្នកប្រើប្រាស់ កម្មវិធីមូលដ្ឋាន HALO Smart Sensor API |