TRANXACT.AI ಸಹಾಯ

IoT ಮೀಟರ್‌ಗಳು: ಸಾಧನವನ್ನು ನೋಂದಾಯಿಸುವುದು ಮತ್ತು ಅದು ಅದರ ಓದುವಿಕೆಗಳಿಗೆ ಹೇಗೆ ಸಹಿ ಮಾಡುತ್ತದೆ

IoT ಸಾಧನಗಳು: AMI ಅಥವಾ IoT ಎಂಡ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ನೋಂದಾಯಿಸಿ, ಅದರ ರಹಸ್ಯವನ್ನು ನಕಲಿಸಿ (ಒಮ್ಮೆ ತೋರಿಸಲಾಗಿದೆ), ಅದನ್ನು ಹೊಸ ರಹಸ್ಯದೊಂದಿಗೆ ತಿರುಗಿಸಿ, ಮತ್ತು ಸಾಧನವು /api/public/utilities/iot/reads ಗೆ ಪ್ರತಿ ವಿನಂತಿಯನ್ನು ಹೇಗೆ ಸಹಿ ಮಾಡುತ್ತದೆ - ಉದಾಹರಣೆ ವಿನಂತಿ, ಮಿತಿಗಳು ಮತ್ತು ಅದು ಪಡೆಯಬಹುದಾದ ಪ್ರತಿಯೊಂದು ಉತ್ತರದೊಂದಿಗೆ.

ಒಂದು AMI ಅಥವಾ IoT ಮೀಟರ್ ತನ್ನದೇ ಆದ ಓದುವಿಕೆಗಳನ್ನು HTTPS ಮೂಲಕ TRANXACT ಗೆ ಪೋಸ್ಟ್ ಮಾಡುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಸಾಧನವು ಸರ್ವರ್‌ನಿಂದ ಮಾಡಲ್ಪಟ್ಟ ಒಂದು ಕೀಲಿಯನ್ನು (utd_ ನಂತರ 24 ಅಕ್ಷರಗಳು ಮತ್ತು ಅಂಕೆಗಳು) ಮತ್ತು ಒಂದು ರಹಸ್ಯವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ವಿನಂತಿಯಲ್ಲೂ ಅದು ಯಾರೆಂದು ಸಾಧನವು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಆ ಮೀಟರ್‌ಗಾಗಿ ಬೇರೆ ಯಾರೂ ಓದುವಿಕೆಗಳನ್ನು ಪೋಸ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.

ಸಾಧನವನ್ನು ನೋಂದಾಯಿಸಲಾಗುತ್ತಿದೆ

  1. CRM › ಉಪಯುಕ್ತತೆಗಳು › ಯುಟಿಲಿಟಿ ಮೀಟರ್‌ಗಳು ಮತ್ತು ಓದುವಿಕೆಗಳು › IoT ಸಾಧನಗಳನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಹೊಸದನ್ನು ಒತ್ತಿರಿ.
  2. ಲೇಬಲ್ ಅನ್ನು ನಮೂದಿಸಿ, ಅದು ಓದುವ ಮೀಟರ್ ಅನ್ನು ಆರಿಸಿ ಮತ್ತು hmac (ಪ್ರತಿ ವಿನಂತಿಯ HMAC-SHA256 ಸಹಿ - ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ), ಧಾರಕ (ಟೋಕನ್ ಆಗಿ ಕಳುಹಿಸಲಾದ ಕೀ ಮತ್ತು ರಹಸ್ಯ) ಅಥವಾ ಎರಡನ್ನೂ ಹೊಂದಿರುವ ಚಿಹ್ನೆಗಳನ್ನು ಆರಿಸಿ.
  3. ಈ ಸಾಧನಕ್ಕೆ ನಿಮಿಷಕ್ಕೆ ಗರಿಷ್ಠ ಓದುವಿಕೆಗಳನ್ನು ಹೊಂದಿಸಿ ಮತ್ತು ನಿಮಗೆ ತಿಳಿದಿದ್ದರೆ ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ಹೊಂದಿಸಿ.
  4. ಉಳಿಸಿ. ಉತ್ತರವು ಕೀ ಮತ್ತು ರಹಸ್ಯವನ್ನು ತೋರಿಸುತ್ತದೆ: “ಈಗ ರಹಸ್ಯವನ್ನು ನಕಲಿಸಿ - ಅದನ್ನು ಮತ್ತೆ ತೋರಿಸಲಾಗುವುದಿಲ್ಲ.” ಎರಡನ್ನೂ ಸಾಧನದ ಸಂರಚನೆಯಲ್ಲಿ ಇರಿಸಿ.

ರಹಸ್ಯವನ್ನು ಒಮ್ಮೆ ತೋರಿಸಲಾಗುತ್ತದೆ. ನಂತರ ಅದನ್ನು ಎಂದಿಗೂ ಪಟ್ಟಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ನಿರ್ವಾಹಕರಿಗೂ ಸಹ; ಪಟ್ಟಿಯು ಅದರ ಕೊನೆಯ ನಾಲ್ಕು ಅಕ್ಷರಗಳನ್ನು ಮಾತ್ರ ತೋರಿಸುತ್ತದೆ (ರಹಸ್ಯ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ). ಅದು ಕಳೆದುಹೋದರೆ, ಹೊಸದನ್ನು ನೀಡಿ.

ರಹಸ್ಯವನ್ನು ತಿರುಗಿಸುವುದು.

ಸಾಧನದ ಸಾಲಿನಲ್ಲಿ ಹೊಸ ರಹಸ್ಯವನ್ನು ಒತ್ತಿ ದೃಢೀಕರಿಸಿ. ಹೊಸ ರಹಸ್ಯವನ್ನು ಒಮ್ಮೆ ತೋರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಹಳೆಯದು ಆ ಕ್ಷಣದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಸಾಧನಕ್ಕೆ ಹೊಸದನ್ನು ತಕ್ಷಣವೇ ನೀಡಿ. ಸಾಧನವನ್ನು ತಿರುಗಿಸದೆ ನಿಲ್ಲಿಸಲು ಅಥವಾ ಅದನ್ನು ಸೇವೆಯಿಂದ ತೆಗೆದುಹಾಕಿದಾಗ ನಿವೃತ್ತಿಗೊಳಿಸಲು ಸ್ಥಿತಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಎಂದು ಹೊಂದಿಸಿ.

ಸಾಧನವು ಓದುವಿಕೆಯನ್ನು ಹೇಗೆ ಸಹಿ ಮಾಡುತ್ತದೆ

  1. JSON ಬಾಡಿಯನ್ನು ನಿರ್ಮಿಸಿ: ಓದುವಿಕೆಗಳ ಪಟ್ಟಿ, ಪ್ರತಿಯೊಂದೂ read_at (ISO 8601 ಸಮಯ) ಮತ್ತು ಓದುವಿಕೆಯೊಂದಿಗೆ. ಬ್ಯಾಟರಿ, ಸಿಗ್ನಲ್, ಫರ್ಮ್‌ವೇರ್ ಮತ್ತು ಅಲಾರಾಂಗಳು ಐಚ್ಛಿಕವಾಗಿರುತ್ತವೆ.
  2. ಪ್ರಸ್ತುತ ಯುನಿಕ್ಸ್ ಸಮಯವನ್ನು ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಆಗಿ ತೆಗೆದುಕೊಳ್ಳಿ.
  3. HMAC-SHA256 ಅನ್ನು, ಸಾಧನದ ರಹಸ್ಯ, ಸಮಯಸ್ಟ್ಯಾಂಪ್, ಪೂರ್ಣವಿರಾಮ ಮತ್ತು ಬಾಡಿಯ ನಿಖರವಾದ ಬೈಟ್‌ಗಳ ಅಡಿಯಲ್ಲಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡಿ: “<ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್>.<body>”. ಇದನ್ನು 64 ಸಣ್ಣ-ಕೇಸ್ ಹೆಕ್ಸ್ ಅಕ್ಷರಗಳಾಗಿ ಬರೆಯಿರಿ.
  4. X-Utility-Device (ಕೀಲಿ), X-Utility-Timestamp ಮತ್ತು X-Utility-Signature (ಹೆಕ್ಸ್, ಐಚ್ಛಿಕವಾಗಿ ಪೂರ್ವಪ್ರತ್ಯಯ sha256=) ಎಂಬ ಹೆಡರ್‌ಗಳೊಂದಿಗೆ ಬಾಡಿಯನ್ನು /api/public/utilities/iot/reads ಗೆ ಪೋಸ್ಟ್ ಮಾಡಿ.
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 ಅನ್ನು ಮರು-ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವುದರಿಂದ, ಬೈಟ್‌ಗಳು ಬದಲಾಗುತ್ತವೆ ಮತ್ತು ಸಹಿ ಇನ್ನು ಮುಂದೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ.

ಬೇರರ್ (ಅಥವಾ ಎರಡೂ) ಗೆ ಹೊಂದಿಸಲಾದ ಸಾಧನವು ಬದಲಿಗೆ ಅಧಿಕಾರವನ್ನು ಕಳುಹಿಸಬಹುದು: ಬೇರರ್ <utd_DEVICE_KEY>.<DEVICE_SECRET> ಮತ್ತು ಯಾವುದೇ ಸಹಿ ಹೆಡರ್‌ಗಳಿಲ್ಲ. HMAC ಸುರಕ್ಷಿತ ಆಯ್ಕೆಯಾಗಿದೆ: ರಹಸ್ಯವು ಎಂದಿಗೂ ಪ್ರಯಾಣಿಸುವುದಿಲ್ಲ ಮತ್ತು ಸೆರೆಹಿಡಿಯಲಾದ ವಿನಂತಿಯನ್ನು ಮರುಪ್ಲೇ ಮಾಡಲಾಗುವುದಿಲ್ಲ.

ಮಿತಿಗಳು

  • ಸಮಯಸ್ಟ್ಯಾಂಪ್ ಸರ್ವರ್‌ನ ಗಡಿಯಾರದಿಂದ 5 ನಿಮಿಷಗಳ ಒಳಗೆ ಇರಬೇಕು: ಸಾಧನದ ಗಡಿಯಾರವನ್ನು NTP ಹೊಂದಿಸಿ ಇರಿಸಿ.
  • ಒಂದೇ ಸಹಿ ಮಾಡಿದ ವಿನಂತಿಯನ್ನು ಎರಡು ಬಾರಿ ಮರುಪ್ರಸಾರವಾಗಿ ನಿರಾಕರಿಸಲಾಗುತ್ತದೆ. ಫೈಲ್‌ನಲ್ಲಿ ಈಗಾಗಲೇ ಓದಲಾದದ್ದನ್ನು ನಕಲು ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಒಮ್ಮೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.
  • ಗರಿಷ್ಠ 64 KB ಮತ್ತು 500 ವಿನಂತಿಯನ್ನು ಓದುತ್ತದೆ, ಗರಿಷ್ಠ ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ ಸಾಧನದ ಸ್ವಂತ ಓದುವಿಕೆಗಳು ಮತ್ತು ಒಂದು ವಿಳಾಸದಿಂದ ನಿಮಿಷಕ್ಕೆ 600 ವಿನಂತಿಗಳು.
  • ಸಾಧನವು ಸಕ್ರಿಯವಾಗಿರಬೇಕು ಮತ್ತು ಮೀಟರ್‌ಗೆ ಜೋಡಿಸಲ್ಪಟ್ಟಿರಬೇಕು.

ಸಾಧನವು ಏನನ್ನು ಮರಳಿ ಪಡೆಯುತ್ತದೆ

ಉತ್ತರಅರ್ಥ
201 ಅಥವಾ 200 ಸ್ವೀಕರಿಸಿದ, ನಕಲುಗಳು, ವಿನಾಯಿತಿಗಳು, ತಿರಸ್ಕರಿಸಿದ, ಅಲಾರಾಂಗಳು ಮತ್ತು ಸಮಸ್ಯೆಗಳೊಂದಿಗೆವಿನಂತಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ. ಪ್ರತಿಯೊಂದು ಓದುವಿಕೆಯನ್ನು ಎಣಿಸಲಾಗುತ್ತದೆ; ಸಮಸ್ಯೆಯು ಅದರ ಸೂಚ್ಯಂಕದಿಂದ ಮಾನ್ಯವಾಗಿಲ್ಲದ ಯಾವುದೇ ಓದನ್ನು ಹೆಸರಿಸುತ್ತದೆ.
401 ಸಾಧನ_ದೃಢೀಕರಣಅಜ್ಞಾತ ಅಥವಾ ನಿಷ್ಕ್ರಿಯ ಕೀ, ತಪ್ಪಾದ ಮೋಡ್, ಅಥವಾ ಹೊಂದಿಕೆಯಾಗದ ಸಹಿ. ಸಾಧನದ ನಿರಾಕರಿಸಿದ ಸಂಖ್ಯೆ ಹೆಚ್ಚಾಗುತ್ತದೆ.
401 stale_timestampಸಮಯಸ್ಟ್ಯಾಂಪ್ 5 ನಿಮಿಷಗಳಿಗಿಂತ ಹೆಚ್ಚು ಸಮಯದ ಅಂತರದಲ್ಲಿದೆ.
409 ಮರುಪಂದ್ಯಈ ಸಹಿ ಮಾಡಿದ ವಿನಂತಿಯನ್ನು ಈಗಾಗಲೇ ಸ್ವೀಕರಿಸಲಾಗಿದೆ.
413 ತುಂಬಾ_ಹಲವು_ಓದಲಾಗಿದೆಒಂದು ವಿನಂತಿಯಲ್ಲಿ 500 ಕ್ಕೂ ಹೆಚ್ಚು ಓದಲಾಗಿದೆ.
422 ಮೀಟರ್ ಸಂಖ್ಯೆಸಾಧನವನ್ನು ಮೀಟರ್‌ಗೆ ಜೋಡಿಸಲಾಗಿಲ್ಲ.
429 ದರ_ಸೀಮಿತಮಿತಿಗಿಂತ ವೇಗವಾಗಿ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ. ಕಾಯಿರಿ ಮತ್ತು ಮತ್ತೆ ಕಳುಹಿಸಿ.
400 ಬ್ಯಾಡ್_ಜೆಸನ್ದೇಹವು JSON ಅಲ್ಲ.
403 ಉಪಯುಕ್ತತೆಗಳು_ಆಫ್ಕಂಪನಿಗೆ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಆಫ್ ಮಾಡಲಾಗಿದೆ.

ಆರೋಗ್ಯ ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳು

  • ಪ್ರತಿಯೊಂದು ವಿನಂತಿಯು ಸಾಧನದ ಕೊನೆಯದಾಗಿ ನೋಡಿದ ಬ್ಯಾಟರಿ % ಮತ್ತು ಸಿಗ್ನಲ್ dBm ಅನ್ನು ನವೀಕರಿಸುತ್ತದೆ. 15% ಕ್ಕಿಂತ ಕಡಿಮೆ ಬ್ಯಾಟರಿಯು ಬ್ಯಾಟರಿ_ಲೋ ಅಲಾರಾಂ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
  • ಒಂದು ಸಾಧನವು ಕಳುಹಿಸಬಹುದಾದ ಅಲಾರಾಂ ಪ್ರಕಾರಗಳು: ಬ್ಯಾಟರಿ_ಲೋ, ಟ್ಯಾಂಪರ್, ಲೀಕ್, ರಿವರ್ಸ್_ಫ್ಲೋ, ನೋ_ಫ್ಲೋ, ಆಫ್‌ಲೈನ್ ಮತ್ತು ಇತರೆ. ಪ್ರತಿ ಸಾಧನಕ್ಕೆ ಪ್ರತಿಯೊಂದು ರೀತಿಯ ಒಂದು ತೆರೆದ ಅಲಾರಾಂ.
  • ಸಾಧನ ಅಲಾರಾಂಗಳು ಅವುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತವೆ; ಕ್ಲಿಯರ್ ಒಂದು ಟಿಪ್ಪಣಿಯೊಂದಿಗೆ ಒಂದನ್ನು ಮುಚ್ಚುತ್ತದೆ. ಒಂದು ಸೋರಿಕೆಯು ಸ್ವತಃ ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯ ಸೋರಿಕೆ ತನಿಖಾ ಸೇವಾ ಆದೇಶವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ; ಟ್ಯಾಂಪರ್ ಅಥವಾ ರಿವರ್ಸ್_ಫ್ಲೋ ಅಲಾರಾಂ ಕೂಡ ಸೇವಾ ಆದೇಶವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.
  • ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನ IoT ಮೀಟರ್ ವರದಿ ಮಾಡುವ (24ಗಂ) ಅಂಕಿ ಅಂಶವು ಕಳೆದ ದಿನದಲ್ಲಿ ಕೇಳಿದ ಸಕ್ರಿಯ ಸಾಧನಗಳನ್ನು ಎಣಿಸುತ್ತದೆ.