TRANXACT.AI உதவி

IoT மீட்டர்கள்: ஒரு சாதனத்தைப் பதிவுசெய்தல் மற்றும் அது அதன் அளவீடுகளை எவ்வாறு கையொப்பமிடுகிறது

IoT சாதனங்கள்: ஒரு AMI அல்லது IoT எண்ட்பாயிண்ட்டைப் பதிவு செய்தல், அதன் இரகசியத்தை நகலெடுத்தல் (ஒருமுறை காட்டப்பட்டுள்ளது), புதிய இரகசியத்தைக் கொண்டு அதை மாற்றுதல், மற்றும் /api/public/utilities/iot/reads-க்கு அனுப்பப்படும் ஒவ்வொரு கோரிக்கையிலும் அந்தச் சாதனம் எவ்வாறு கையொப்பமிடுகிறது — ஒரு எடுத்துக்காட்டுக் கோரிக்கை, அதன் வரம்புகள் மற்றும் அது பெறக்கூடிய ஒவ்வொரு பதிலுடனும்.

ஒரு AMI அல்லது IoT மீட்டர், அதன் அளவீடுகளை HTTPS வழியாக TRANXACT க்கு அனுப்புகிறது. ஒவ்வொரு சாதனத்திற்கும் சர்வரால் உருவாக்கப்பட்ட ஒரு திறவுகோலும் (utd_ என்பதைத் தொடர்ந்து 24 எழுத்துக்களும் இலக்கங்களும்) ஒரு இரகசியமும் உண்டு. ஒவ்வொரு கோரிக்கையின்போதும் அந்தச் சாதனம் தன்னை நிரூபித்துக் கொள்கிறது, எனவே வேறு யாரும் அந்த மீட்டருக்கான அளவீடுகளை அனுப்ப முடியாது.

ஒரு சாதனத்தைப் பதிவு செய்தல்

  1. CRM › பயன்பாடுகள் › பயன்பாட்டு மீட்டர்கள் மற்றும் அளவீடுகள் › IoT சாதனங்கள் என்பதைத் திறந்து, புதியது என்பதை அழுத்தவும்.
  2. ஒரு லேபிளை உள்ளிட்டு, அது அளவிடும் மீட்டரைத் தேர்ந்தெடுத்து, பின்வருவனவற்றுடன் கையொப்பமிடுங்கள்: hmac (ஒவ்வொரு கோரிக்கையின் HMAC-SHA256 கையொப்பம் — பரிந்துரைக்கப்படுகிறது), bearer (திறவுகோல் மற்றும் இரகசியம் ஒரு டோக்கனாக அனுப்பப்படும்) அல்லது இரண்டும்.
  3. இந்தச் சாதனத்திற்கான நிமிடத்திற்கு அதிகபட்ச வாசிப்புகளின் எண்ணிக்கையையும், உங்களுக்குத் தெரிந்தால் ஃபார்ம்வேரையும் அமைக்கவும்.
  4. சேமிக்கவும். விடை, திறவுகோலையும் இரகசியத்தையும் காட்டுகிறது: “இரகசியத்தை இப்போது நகலெடுக்கவும் — அது மீண்டும் காட்டப்படாது.” இரண்டையும் சாதனத்தின் உள்ளமைவில் உள்ளிடவும்.

அந்த இரகசியம் ஒருமுறை காட்டப்படும். அதன் பிறகு அது ஒரு நிர்வாகிக்குக் கூட பட்டியலிடப்படாது; அந்தப் பட்டியலில் அதன் கடைசி நான்கு எழுத்துக்கள் (இரகசியம் முடிகிறது) மட்டுமே காட்டப்படும். அது தொலைந்துவிட்டால், புதிய ஒன்றை வழங்கவும்.

ரகசியத்தை சுழற்றுதல்

சாதனத்தின் வரிசையில், 'புதிய இரகசியம்' (New secret) என்பதை அழுத்தி உறுதிப்படுத்தவும். புதிய இரகசியம் ஒருமுறை காட்டப்படும், அந்த கணத்திலேயே பழையது செயல்படுவதை நிறுத்திவிடும். எனவே, உடனடியாக சாதனத்திற்குப் புதிய இரகசியத்தை வழங்கவும். சாதனத்தைச் சுழற்றாமல் நிறுத்துவதற்கு 'நிலை' (Status) என்பதை 'முடக்கப்பட்டது' (disabled) என அமைக்கவும், அல்லது அது சேவையிலிருந்து அகற்றப்படும்போது 'ஓய்வு பெற்றது' (retired) என அமைக்கவும்.

ஒரு சாதனம் ஒரு அளவீட்டை எவ்வாறு கையொப்பமிடுகிறது

  1. JSON உள்ளடக்கத்தை உருவாக்கவும்: வாசிப்புகளின் பட்டியல், ஒவ்வொன்றும் read_at (ISO 8601 நேரம்) மற்றும் வாசிக்கும் நேரத்தைக் கொண்டிருக்கும். பேட்டரி, சிக்னல், ஃபார்ம்வேர் மற்றும் அலாரங்கள் விருப்பத்தேர்வு ஆகும்.
  2. தற்போதைய யூனிக்ஸ் நேரத்தை வினாடிகளில் நேரமுத்திரையாக எடுத்துக் கொள்ளுங்கள்.
  3. சாதன இரகசியத்தின் கீழ், நேரமுத்திரை, ஒரு முற்றுப்புள்ளி மற்றும் உள்ளடக்கத்தின் துல்லியமான பைட்டுகளான “<timestamp>.<body>” ஆகியவற்றின் HMAC-SHA256-ஐக் கணக்கிட்டு, அதை 64 சிறிய ஹெக்ஸ் எழுத்துக்களாக எழுதவும்.
  4. X-Utility-Device (சாவி), X-Utility-Timestamp மற்றும் X-Utility-Signature (ஹெக்ஸ், விருப்பப்பட்டால் sha256= முன்னொட்டுடன்) ஆகிய தலைப்புகளுடன், உள்ளடக்கத்தை /api/public/utilities/iot/reads கோப்பகத்திற்கு POST செய்யவும்.
POST https://<your-tranxact-host>/api/public/utilities/iot/reads
Content-Type: application/json
X-Utility-Device: <utd_DEVICE_KEY>
X-Utility-Timestamp: <1792252800>
X-Utility-Signature: sha256=<64 hex characters>

{"reads":[{"read_at":"<2026-10-17T09:30:00Z>","reading":<48213.4>}],
 "battery_pct":<87>,"signal_dbm":<-71>,"firmware":"<2.4.1>",
 "alarms":[{"type":"<leak>","detail":"<continuous flow 6 h>"}]}

ஒரு சாதனத்தை நிறுவுவதற்கு முன் அதைச் சோதிப்பதற்காக, அதே கையொப்பம் ஒரு ஷெல்லில் செயல்படுத்தப்பட்டது:

BODY='{"reads":[{"read_at":"<2026-10-17T09:30:00Z>","reading":<48213.4>}]}'
TS=$(date +%s)
SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "<DEVICE_SECRET>" | sed 's/^.* //')
curl -X POST "https://<your-tranxact-host>/api/public/utilities/iot/reads" \
  -H "Content-Type: application/json" \
  -H "X-Utility-Device: <utd_DEVICE_KEY>" \
  -H "X-Utility-Timestamp: $TS" \
  -H "X-Utility-Signature: sha256=$SIG" \
  --data-binary "$BODY"

நீங்கள் அனுப்பும் பைட்டுகளைத் துல்லியமாகக் கையொப்பமிடுங்கள். கையொப்பமிட்ட பிறகு JSON-ஐ மறுவடிவமைப்பதோ, அல்லது வேறுபட்ட வரி முடிவுடன் அனுப்புவதோ, பைட்டுகளை மாற்றிவிடும், அதனால் கையொப்பம் இனி பொருந்தாது.

பியரராக (அல்லது இரண்டாகவும்) அமைக்கப்பட்ட ஒரு சாதனம், அதற்குப் பதிலாக Authorization: Bearer <utd_DEVICE_KEY>.<DEVICE_SECRET> என்பதை எந்த கையொப்பத் தலைப்புகளும் இல்லாமல் அனுப்பலாம். HMAC ஒரு பாதுகாப்பான தேர்வாகும்: இரகசியம் ஒருபோதும் பயணிக்காது மற்றும் கைப்பற்றப்பட்ட கோரிக்கையை மீண்டும் இயக்க முடியாது.

வரம்புகள்

  • நேரமுத்திரையானது சேவையகத்தின் கடிகார நேரத்திலிருந்து 5 நிமிடங்களுக்குள் இருக்க வேண்டும்: சாதனத்தின் கடிகாரத்தை NTP மூலம் அமைக்கப்பட்ட நிலையில் வைத்திருக்கவும்.
  • ஒரே கையொப்பமிடப்பட்ட கோரிக்கை இருமுறை அனுப்பப்பட்டால், அது மறுபதிவாக நிராகரிக்கப்படும். கோப்பில் ஏற்கனவே உள்ள ஒரு வாசிப்பு, நகலாகக் கருதப்பட்டு ஒருமுறை சேமிக்கப்படும்.
  • ஒரு கோரிக்கைக்கு அதிகபட்சம் 64 KB மற்றும் 500 வாசிப்புகள், சாதனத்தின் சொந்த நிமிட வாசிப்புகளின் அதிகபட்ச வரம்பு, மற்றும் ஒரு முகவரியிலிருந்து நிமிடத்திற்கு 600 கோரிக்கைகள்.
  • சாதனம் செயலில் இருக்க வேண்டும் மற்றும் ஒரு மீட்டருடன் இணைக்கப்பட்டிருக்க வேண்டும்.

சாதனம் திரும்பப் பெறுவது

பதில்பொருள்
ஏற்றுக்கொள்ளப்பட்டவை, நகல்கள், விதிவிலக்குகள், நிராகரிக்கப்பட்டவை, எச்சரிக்கைகள் மற்றும் சிக்கல்களுடன் கூடிய 201 அல்லது 200கோரிக்கை ஏற்கப்பட்டது. ஒவ்வொரு வாசிப்பும் கணக்கிடப்படுகிறது; அதன் குறியீட்டின்படி செல்லுபடியாகாத எந்தவொரு வாசிப்பையும் சிக்கல்கள் குறிப்பிடுகின்றன.
401 சாதன அங்கீகாரம்அறியப்படாத அல்லது செயலிழந்த சாவி, தவறான பயன்முறை, அல்லது பொருந்தாத கையொப்பம். சாதனத்தின் நிராகரிக்கப்பட்ட எண்ணிக்கை அதிகரிக்கிறது.
401 காலாவதியான_நேரமுத்திரைநேரக்குறிப்பு 5 நிமிடங்களுக்கு மேல் பிழையாக உள்ளது.
409 ரீப்ளேகையொப்பமிடப்பட்ட இந்தக் கோரிக்கை ஏற்கனவே பெறப்பட்டுவிட்டது.
413 too_many_readsஒரே கோரிக்கையில் 500க்கும் மேற்பட்ட வாசிப்புகள்.
422 மீட்டர் இல்லைஇந்தச் சாதனம் மீட்டருடன் இணைக்கப்படவில்லை.
429 விகித_வரையறுக்கப்பட்டதுஅதன் வரம்பை விட வேகமாக அனுப்பப்படுகிறது. காத்திருந்து மீண்டும் அனுப்பவும்.
400 bad_jsonஉள்ளடக்கம் JSON வடிவத்தில் இல்லை.
403 பயன்பாடுகள்_ஆஃப்நிறுவனத்திற்கான பயன்பாட்டு சேவைகள் நிறுத்தப்பட்டுள்ளன.

உடல்நலம் மற்றும் எச்சரிக்கைகள்

  • ஒவ்வொரு கோரிக்கையும் சாதனத்தின் கடைசியாகப் பார்த்த நேரம், பேட்டரி சதவீதம் மற்றும் சிக்னல் dBm ஆகியவற்றை புதுப்பிக்கிறது. பேட்டரி 15% க்கும் குறைவாக இருந்தால், 'பேட்டரி குறைவு' எச்சரிக்கை ஒலிக்கும்.
  • ஒரு சாதனம் அனுப்பக்கூடிய எச்சரிக்கை வகைகள்: பேட்டரி குறைவு, சேதப்படுத்தல், கசிவு, பின்னோட்டப் பாய்வு, பாய்வின்மை, ஆஃப்லைன் மற்றும் பிற. ஒரு சாதனத்திற்கு ஒவ்வொரு வகையிலும் ஒரு திறந்த எச்சரிக்கை அனுமதிக்கப்படும்.
  • சாதன எச்சரிக்கைகள் அவற்றை பட்டியலிடுகிறது; அழி என்பது ஒரு குறிப்புடன் ஒன்றை மூடுகிறது. ஒரு கசிவு தானாகவே ஒரு உயர் முன்னுரிமை கசிவு விசாரணை சேவை ஆணையை எழுப்புகிறது; ஒரு முறைகேடு அல்லது தலைகீழ் ஓட்ட எச்சரிக்கையும் ஒரு சேவை ஆணையை எழுப்புகிறது.
  • டாஷ்போர்டின் IoT மீட்டர்கள் அறிக்கை (24 மணிநேரம்) புள்ளிவிவரம், கடந்த ஒரு நாளில் தகவல் பெறப்பட்ட செயலில் உள்ள சாதனங்களைக் கணக்கிடுகிறது.