1 पॉइंट द्वारा GN⁺ 2024-01-21 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 2015 में बने UK apartment में लगा अनजान touchscreen NETTHINGS के energy monitoring system का हिस्सा था; यह बिजली उपयोग के current values और historical data दिखाने वाला device था
  • इसकी संरचना meter-side energy manager और कमरे के अंदर Android tablet जैसे client में बंटी थी; कम दूरी और कुछ दीवारों के बीच भी cable के बजाय WiFi से communication होता था
  • screen के काम न करने की सीधी वजह energy manager circuit में 3A fuse का गायब होना था; fuse बदलते ही WiFi network और web-based usage screen फिर से चालू हो गए
  • tablet UI एक webview था और server Node.js, Express, Socket.IO इस्तेमाल कर रहा था; meter device 172.16.0.254 पर DNS, HTTP, SSH, TCF services खोलकर बैठा था
  • खुला हुआ tcf-agent root privileges के साथ filesystem और process access दे रहा था, इसलिए SSH password के बिना भी device में बदलाव किया जा सकता था; अंदर Linux 3.10-based ARM9 device और CSV-based power data storage structure था

अनजान touchscreen का काम

  • नए apartment के कमरे में बिना button या label के, सिर्फ एक छोटी पीली power indicator light वाला touchscreen लगा हुआ था
  • मकान मालिक को भी नहीं पता था कि यह कौन-सा device control करता है, और move-in के बाद यह कुछ समय तक भुला दिया गया
  • appliances manual binder में उसी device वाला brochure मिलने पर इसकी पहचान सामने आई
    • device energy monitoring system का हिस्सा था
    • यह current power usage और historical usage data दिखाता था
  • brochure में electricity meter से सीधे जुड़ने वाले दूसरे component, energy manager, का भी परिचय था
  • shared meter cupboard में NETTHINGS brand का device दूसरे flats के devices के साथ लगा हुआ था

WiFi से जुड़े energy manager और Android tablet

  • system में data collect करने वाले “server” की भूमिका वाला energy manager और उसे पढ़कर screen पर दिखाने वाले “client” की भूमिका वाला touchscreen शामिल था
  • दोनों devices के बीच दूरी सिर्फ कुछ meters थी और 2–3 दीवारें ही थीं, लेकिन brochure में SSID और Pwd लिखा था
  • असली communication भी cable से नहीं, बल्कि WiFi से होता था
  • touchscreen के side में छोटे hole के अंदर button दबाने पर Android boot logo दिखा
    • यह पुराना Android tablet था
    • Google Talk, Flash जैसी पुरानी apps installed थीं
    • Android 5 जैसा लग रहा था, लेकिन exact version पक्का नहीं था
  • “NetThings” app चलाने पर WiFi network selection screen आती थी, लेकिन brochure वाला network शुरुआत में list में नहीं दिखा

गायब fuse और फिर से जीवित हुआ monitor

  • meter cupboard में दूसरे flats के energy managers on थे, लेकिन उसी flat का device power off था
  • वजह fuse box में fuse missing होना था
    • fuse न होने से electrical connection कट गया था
    • energy manager को power supply नहीं मिल रही थी
    • WiFi hotspot भी नहीं दिख रहा था
  • उसी meter cupboard में दूसरे energy manager के fuse को देखकर required specification 3A fuse होना confirm हुआ
  • Amazon से 3A fuse order करके अगले दिन install किया गया, जिसके बाद energy manager की green LED blink करने लगी और WiFi network दिखने लगा
  • काम mains power के पास किया गया था, इसलिए खतरनाक था; बाद में एक दिन तक fuse temperature कई बार check किया गया, और ऐसे experiment की दूसरों को सलाह नहीं दी जाती

निराशाजनक web UI और fixed tariff values

  • Android tablet पर WiFi चुनने के बाद resource type चुनने वाला menu दिखा
  • असल में काम करने वाला item सिर्फ Mains Electricity था, जिससे energy manager जुड़ा था
  • power usage screen दाईं तरफ color indicator और बाईं तरफ 5 numbers दिखाती थी, लेकिन UI का मतलब साफ नहीं था
    • पता नहीं चलता था कि green का मतलब low usage है या normal usage
    • color indicator की vertical position किससे compare हो रही है, पता नहीं चलता था
    • maximum position historical maximum usage से जुड़ी है या नहीं, यह भी साफ नहीं था
  • बाईं तरफ दिखने वाले 5 numbers में सच में सही value सिर्फ kW consumption की एक value थी
  • electricity tariff और CO2 per kW estimate configure नहीं किए जा सकते
    • brochure में लिखा था कि initial installation के समय इन्हें set किया जा सकता है
    • system को फिर से configurable state में लौटाने का तरीका बताया नहीं गया था
  • brochure में data time correction के लिए PC से connect करने की बात भी थी, और Android tablet की clock 2015 installation के बाद से करीब 15 minutes गलत थी

Webview, Socket.IO, Node.js server

  • अगर energy manager का data सीधे पढ़ा जा सके, तो kW usage को सही tariff से multiply करके Grafana आदि में दिखाया जा सकता है
  • brochure में PC से energy usage check करने का use case था, और उसमें IP और port लिखे थे
  • browser से connect करने पर Android tablet जैसी ही screen दिखी, जिससे confirm हुआ कि tablet UI webview था
  • web inspector में API calls देखने पर पता चला कि Socket.IO इस्तेमाल हो रहा था
  • client server से बस 5 numbers प्राप्त कर रहा था, लेकिन code में RequireJS modules, Handlebars, Backbone.js, Underscore.js आदि शामिल थे

खुले ports और tcf-agent

  • device IP 172.16.0.254 था, और ssh root@172.16.0.254 पहले “Connection refused” के साथ fail हुआ
  • full port scan में ये services open थीं
    • 53/tcp: dnsmasq 2.63rc6
    • 80/tcp: Node.js-based HTTP
    • 1534/tcp: micromuse-lm?
    • 3000/tcp: Node.js-based HTTP
    • 41142/tcp: OpenSSH 6.2
  • dnsmasq का होना इस बात से मेल खाता था कि device WiFi access point होने के कारण DHCP server की भूमिका निभा रहा था
  • SSH port 41142 पर open था, लेकिन root account password-protected था, और admin/admin, root/root जैसे simple combinations काम नहीं आए
  • port 1534 की पहचान खोजते समय Xilinx forum post के जरिए tcf-agent keyword मिला

TCF से मिला root filesystem access

  • TCF का मतलब Target Communications Framework है; यह एक text protocol है जो target system पर filesystem पढ़ना, नया process start करना, processes को signal भेजना आदि support करता है
  • tcf-agent इस protocol को implement करने वाला server है, और इस device पर यह root user के रूप में चल रहा था
  • TCF Eclipse ecosystem से गहराई से जुड़ा था, और Getting Started document Eclipse plugin को मुख्य usage method के रूप में बताता है
  • नए Eclipse version में plugin install करने की कोशिश की गई, लेकिन dependency conflicts के कारण सही से install करना मुश्किल था
  • इसके बजाय TCF project का Python SDK खोजकर इस्तेमाल किया गया
  • TCF के FileSystem, Processes services से ls, cat, ps जैसे commands के replacement tools बनाए जा सके, और output tcf-tools में整理 किया गया

SSH access और device की internal specs

  • शुरुआत में /etc/passwd और /etc/shadow को TCF से लाकर John the Ripper से root password crack करने की कोशिश की गई
  • लगभग 7 घंटे चलाने के बाद भी match नहीं मिला, और John ने brute-force completion का expected time 2035 दिखाया
  • बाद में /etc/shadow edit करके root password blank किया और power cycle किया, लेकिन SSH login फिर भी reject हुआ
  • वजह sshd_config की PermitRootLogin no setting थी
    • इस line को PermitRootLogin yes में बदलने पर root SSH login possible हो गया
  • device Linux 3.10.28 armv5tejl चला रहा था
  • CPU ARM926EJ-S rev 5 था, जो ARM9 family में आता है
  • /proc/cpuinfo की features list में java Java bytecode execution के लिए ARM extension Jazelle को दर्शाता है
  • memory MemTotal: 118172 kB दिख रही थी, और device पर Node.js app चल रही थी

Application structure और data storage

  • server application /srv/server के नीचे था, और इसमें Gruntfile.js, app.js, bower.json, package.json, node_modules, routes, views, public जैसी structure थी
  • app broadly दो हिस्सों में बंटी थी
    • electricity meter से usage data पढ़ने वाली Pulse app
    • CSV data पढ़कर web UI में दिखाने वाली Node.js app
  • Pulse app से जुड़ी files bin folder में थीं
    • pulse-app
    • pulse.ko
    • ct-read-daemon
    • monthly, daily, hourly, weekly, yearly directories
  • pulse.ko में .ko extension आम तौर पर Kernel Object का मतलब होता है, इसलिए यह kernel module हो सकता है
  • Pulse app GPIO pins से data पढ़ती है और result को CSV files में save करती है
  • CSV files month, day, hour-based directories में बंटी थीं, और web UI में historical data display भी सिर्फ monthly, daily, hourly support करता था
  • Node.js app Node.js 0.10.26, Express.js 4.13.3, Socket.io 1.3.6 इस्तेमाल करती है
  • dependencies में mqtt package था, और source में brochure में promised cloud integration जैसा unfinished code और hardcoded broker IPs थे
    • वे IPs अब काम नहीं करते थे
    • device खुद भी internet access के बिना था

बाद की खोजें

  • device बनाने वाली NETTHINGS company पहले ही dissolved हो चुकी थी
  • Hacker News user M6WIQ ने NetThings के engineering decisions के परिणामों पर एक दूसरा article बताया
  • उस article के author ने Mastodon पर पूछा कि क्या device अभी भी उनके NTP server IP का इस्तेमाल कर रहा है, और असल हालात और भी खराब निकले
  • Marc Bevand ने GPU resources देकर energy manager के original Linux user passwords brute-force किए
    • hash ने कम-से-कम 30 साल पुराने algorithm) का इस्तेमाल किया था
    • root और gecko_user के passwords Newt@rd$ थे
    • prod_test account का password NetTh@ng था
  • एक hosting company ने इस article का Russian में translation किया

1 टिप्पणियां

 
GN⁺ 2024-01-21
Hacker News की राय
  • कुछ साल पहले, यह एहसास हुआ कि अगर लोगों को बिजली, पानी, गैस जैसे utility usage को ज़्यादा पर्यावरण-अनुकूल और किफायती तरीके से मैनेज कराना है, तो महीने की कुल खपत के एक आंकड़े से कहीं बेहतर डेटा चाहिए
    कम से कम 5 मिनट के अंतराल पर usage दिखना चाहिए, तभी “कुछ घंटों तक electric heater चलाने में पूरे महीने की lighting से ज़्यादा बिजली लगी” जैसी बात समझ आ सकती है
    दक्षिण अफ्रीका के middle-class घरों में अस्थिर power supply की वजह से inverter और solar panels आम हैं, और मेरे घर में भी पूरी power usage history देखी जा सकती है, इसलिए यह समझना आसान है कि efficiency कहाँ बढ़ाई जा सकती है
    हालांकि यह अब भी total data ही है, इसलिए कारण का अंदाज़ा लगाना पड़ता है। उदाहरण के लिए, shower के करीब एक घंटे बाद 3kW दिखना geyser के दोबारा गर्म होने की वजह से है, और inverter logs से पता चलता है कि उस समय battery रातभर discharge हो चुकी थी और सुबह होने के कारण solar production कम था, इसलिए grid से बिजली ली जा रही थी
    इसलिए geyser पर timer लगाकर उसे सुबह 10 बजे के बाद, जब सूरज पर्याप्त ऊपर हो और solar से इसकी भरपाई हो सके, तभी गर्म करने दें तो बिजली बिल आसानी से कम किया जा सकता है। अब पानी के usage को भी इसी तरह सुविधाजनक रूप से monitor करना चाहता हूँ

    • पूरी तरह सहमत हूँ, और मेरे हिसाब से हमारे घर के Home Assistant energy dashboard ने energy consumption घटाने में किसी भी दूसरी कार्रवाई से ज़्यादा योगदान दिया है
      Netherlands में “slimme lezer” जैसी चीज़ electric meter के p1 port में लगा दें, तो वह Home Assistant में सीधे उपयुक्त sensor के रूप में दिखने लगती है
      energy dashboard gas और electricity usage, solar production, grid/solar usage ratio, और अगर home battery हो तो उसे भी दिखाता है, इसलिए यह बहुत अच्छा है
      Aqara energy-measuring sockets Zigbee हैं, इसलिए आसानी से overload हो सकते हैं, और Shelly WiFi है लेकिन काफी मजबूत रहा। इन्हें साथ इस्तेमाल करने पर यह अच्छी तरह समझ आता है कि power-saving measures की priority क्या होनी चाहिए, और Home Assistant sensors में प्रति kWh लागत और gas के प्रति m³ खर्च भी डाला जा सकता है
    • diabetes वाले एक दोस्त का diet management काफी खराब चल रहा था, लेकिन doctor ने कुछ हफ्तों के लिए blood glucose monitor prescribe किया तो वह तुरंत बदल गया
      यह बांह पर लगने वाले बड़े band जैसे device जैसा था, जिसमें पतली needle skin के नीचे जाती है और phone app से communicate करके blood glucose level जैसी जानकारी देती है
      जब उसे पता चला कि वह जो खाना खा रहा था उसका क्या असर पड़ता है, तो उसने तुरंत diet बदल दी, और अब monitor न पहनने के बावजूद वह इसे बनाए हुए है। app का UI भी ठीक था, लेकिन निर्णायक रूप से असरदार चीज़ historical data थी
    • यह अनुभव monitoring और उससे होने वाले behaviour change की सीमाएँ भी दिखाता है। washing machine को solar production ज़्यादा होने के समय के हिसाब से थोड़ा पहले या बाद में चलवाया जा सकता है, लेकिन वास्तव में कितनी consumption shift की जा सकती है और energy-heavy devices को कितना न इस्तेमाल करने का फैसला लिया जा सकता है, यह सवाल है
      खाना पकाते समय बिजली की खपत ज़्यादा है यह जानकर क्या लोग ज़्यादा salad खाने लगेंगे? पूरे Europe में electric meters को smart meters से बदला जा रहा है, और लगातार energy usage देखने की सुविधा को बड़ा फायदा बताकर प्रचारित किया जाता है, लेकिन यह वास्तव में meaningful savings में बदलेगा या नहीं, अभी कहना मुश्किल है
      आखिरकार सबसे बड़ा असर तब आता है जब बड़े appliances और heating/cooling self-production के अनुसार respond करते हैं, या time-of-use/daily dynamic tariffs में बिजली सस्ती होने का फायदा उठाया जाता है। खुद लगाया गया simple timer, cooking के दौरान heating बंद करने वाला relay, या solar surplus production के हिसाब से heating power adjust करने वाला Fronius Ohmpilot [1] जैसा device इसी श्रेणी में आता है
      [1] https://www.fronius.com/en/solar-energy/installers-partners/...
    • पानी के usage के लिए, meter के प्रकार के आधार पर अक्सर एक छोटा reflective wheel होता है जो हर 1 litre पर एक बार घूमता है। कभी-कभी यह metal का होता है या हल्का magnetic होता है, इसलिए Arduino में optical sensor या hall-effect sensor जोड़कर real-time high-resolution data collection तक काफी आगे बढ़ा जा सकता है
      दूसरा तरीका यह था कि incoming water pipe पर temperature probe सीधे लगाया और ambient temperature से compare किया, जिसमें मुझे सफलता मिली। मेरे इलाके में पानी जमीन के नीचे से आता है और हमेशा आसपास की हवा से काफी ठंडा रहता है, इसलिए यह संभव था
      दोनों temperatures के अंतर को समय के साथ integrate करने से water usage का एक rough proxy मिल जाता है, लेकिन meaningful data पाने तक इसमें कहीं ज़्यादा मेहनत लगती है
      metal detect करने वाला proximity sensor शायद सबसे आसान हो सकता है। अगर water meter में घूमने वाला metal gauge लगा हो, तो https://www.alldatasheet.com/view.jsp?Searchword=LJ12A3-4-Z/... जैसी चीज़ इस्तेमाल की जा सकती है
    • device-level power aggregation भी रोचक data देता है
      Home Assistant के energy dashboard से यह पता चल सकता है कि “rack” (UPS+Mac mini+5-bay disk unit+others) fridge या washing machine की तुलना में वास्तव में कितना consume करता है, desk computing कम है लेकिन screen on होने पर काफी power खाती है या नहीं, electric bicycle charging की लागत कितनी है, और winter में thermostat को 20 degrees के बजाय 19 degrees पर रखने से क्या फर्क पड़ता है
      ऐसे चौंकाने वाले तथ्य भी दिखते हैं कि summer में अक्सर इस्तेमाल होने वाला fan असल में geyser जितनी बिजली consume कर रहा था। power measurement Shelly Plug Plus S, 3EM, 4PM से करता हूँ, और temperature measurement Shelly H&T Plus से
  • लेखक को Linux पर चलने वाले घरेलू appliance जैसी तकनीकी विचित्रता पर हैरान होते देखना दिलचस्प है। Node server WiFi पर website, API और WebSocket उपलब्ध कराता है, और वह site एक ऐसे सीमित terminal के पुराने WebView engine में दिखाई जाती है जिसे किसी और काम में दोबारा इस्तेमाल नहीं किया जा सकता—यह संरचना अब किसी आम standard जैसी हो गई है
    कुछ संख्याएँ और bar graph दिखाने का काम तो wired bus से communication करने वाले दो microcontroller भी कर सकते थे, लेकिन इस दौर का power device हो तो ये दो devices idle state में भी लगभग 16W खा सकते हैं
    अगर यह 24/7, साल के 365 दिन चालू रहे, तो छोटे refrigerator जितनी बिजली खर्च करेगा, और कुछ dollar वाले microcontrollerों से तुलना करें तो lifecycle assessment भी अच्छा नहीं होगा
    सबसे बुरा यह है कि इस जटिल device के installation के 3 साल बाद, या शायद उससे भी पहले, brick हो जाने की काफी संभावना है

    • Mirai botnet के अब भी सक्रिय रहने की वजह Android है
      Business के नजरिए से वे microcontroller programming कर सकने वाले महंगे लोगों को रखना नहीं चाहते। अगर सिर्फ bar graph दिखाने वाला simple interface चाहिए, तो frontend developer कहीं सस्ता पड़ता है
    • “किसी और काम में दोबारा इस्तेमाल न हो सकने वाला सीमित terminal” कहा गया, लेकिन botnet या surveillance के लिए तो इस्तेमाल हो सकता है
      कुछ boards में पहले से MEMS mic और camera लगे होते हैं, और photo वाले box में भी camera lens दिख रहा है। मैं होता तो device खोलकर अंदर देखता, या कम से कम यह diagnostic चलाता कि कौन-सा hardware installed/detected है
    • उस बेकार device को लगातार चालू रखने से बेहतर तो fuse फिर से निकाल देना ज्यादा बचत कराएगा
    • निर्माण पूरा होने के बाद कहीं भी नई wiring खींचना installation difficulty के लिहाज से बहुत मुश्किल होता है। हो सकता है संभव हो, लेकिन संभव होने पर भी पूरी तरह अव्यावहारिक हो सकता है। उदाहरण के लिए low-voltage bus और unshielded power line साथ-साथ गुजरने पर ठीक मेल नहीं खाते
    • 16W को 24 घंटे, 30 दिन इस्तेमाल करने की लागत US के average electricity rate पर महीने में 2 dollar से कम है, इसलिए यह मामूली लगती है
      https://www.wolframalpha.com/input?i=16+watts++24+hours++3...
  • SSID और password छपे हुए थे, यह बिल्कुल भी चौंकाने वाला नहीं है। ऐसे devices अक्सर नई construction में शामिल होने के बजाय मौजूदा घरों में retrofit install किए जाते होंगे, और मौजूदा दीवारों के अंदर wiring डालना झंझट है, इसलिए वे बिक्री में बाधा नहीं बनाना चाहते होंगे
    आजकल कुछ dollar में पर्याप्त WiFi chipset मिल जाता है
    3A fuse को लेकर भी उतनी चिंता करने की जरूरत नहीं लगती। अगर 3A fuse है, तो apartment की पूरी mains power उसके through जाने वाली संरचना नहीं होगी, और अगर ऐसा करने की कोशिश की होती तो वह तुरंत उड़ गया होता
    और Jazelle भी—Java bytecode hardware support आखिरकार ऐसी technology थी जो ठीक से सफल नहीं हुई

    • अगर fuse Amazon से खरीदा गया है, तो उसके न उड़ने की चिंता करने की पर्याप्त वजह है। Louis Rossmann का एक video[0] है जिसमें वे 2A fuse में 8A चलाते हैं और काफी देर तक, शायद कई मिनटों के लिए, कमरे से बाहर रहते हैं
      [0]: https://www.youtube.com/watch?v=B90_SNNbcoU
    • WiFi स्वभावतः बड़े gap वाली galvanic isolation देता है
      यह जरूरी नहीं है, लेकिन electrically hazardous हिस्सों और इंसान द्वारा छुए जाने वाले हिस्सों को cost-effective तरीके से अलग करने और समस्या आने पर loops से बचने का तरीका हो सकता है। Wireless का उपयोग सिर्फ wires हटाने से ज्यादा है
    • मैं उस दौर को ठीक से देखने लायक उम्र का नहीं था, इसलिए जिज्ञासा है कि Jazelle के सफल न होने की वजह क्या थी। अब पीछे मुड़कर देखें तो Java इतना dominant दिखता है कि ऐसी technology का सफल न होना आश्चर्यजनक है
    • “mains power के पास होने की वजह से थोड़ा डर लगा” वाले हिस्से पर हंसी आई। Fuse बदलना इतना डरावना काम है क्या? UK में यह primary school में सिखाया जाता था, और fuse या तो उड़ता है या नहीं उड़ता; उड़ जाए तो तुरंत पता चल जाता है
      कम से कम उन्हें ऐसा socket तो नहीं मिला जिसमें मृत fuse को अमरता और निश्चित मौत के ritual aluminium shell में बड़े करीने से लपेटकर डाल दिया गया हो। बचपन में, जब चीजें आग के प्रति ज्यादा कमजोर हुआ करती थीं, शायद मैंने ऐसा कोई अपराध किया हो
      यह दिलचस्प है कि कितने लोग अपने comfort zone के बाहर असहज हो जाते हैं। बेशक मैं उन चीजों में नाक घुसाने वाला इंसान हूं जिन्हें शायद पूरी जिंदगी छूने की जरूरत नहीं पड़ती
    • मौजूदा दीवार में wiring निकालना मुश्किल है, यह सही है, लेकिन इससे सड़क के पार से, या directional antenna इस्तेमाल करके शहर के दूसरे छोर से भी device को compromise करना आसान हो जाता है
      बेशक, अगर security पर्याप्त हो और regular security updates मिलते रहें तो यह समस्या नहीं है, और लेखक को मिला device शायद ऐसा बहुत दुर्लभ exception रहा होगा जो ये शर्तें पूरी नहीं करता था
  • Company का नाम Netthings जाना-पहचाना लगा; पहले मैंने एक post पढ़ी थी कि इस company के device में hardcoded NTP server firewall से block हो गया था और time synchronization lost हो गई थी
    Post: https://strugglers.net/~andy/blog/2018/12/24/the-internet-of...
    लगता है कि 2018 में यह liquidation process में चली गई थी, इसलिए इस device के लिए support मिलना मुश्किल होगा

    • Manual में लिखा “DATE & TIME ARE ALWAYS CORRECT AND NEVER NEED TO BE ADJUSTED” इसलिए और भी शानदार हो जाता है
    • यह link सचमुच हैरान करने वाला था, इसलिए मैंने इसे article के अंत में जोड़ दिया
  • “DATE & TIME ARE ALWAYS CORRECT AND NEVER NEED TO BE ADJUSTED” Philip K. Dick के किसी novel से निकली line जैसी लगती है

    • शायद technical writer का “NTP server को ping करता है, इसलिए चिंता न करें” कहने का तरीका था https://news.ycombinator.com/item?id=39065780
      साफ है कि बात अच्छी तरह नहीं बनी
    • मुझे लगा था शायद इसमें UK radio tower से linked कोई time correction feature होगा, लेकिन article के मुताबिक यह device 2015 का है, इसलिए इसकी संभावना कम है
  • “IoT में C शायद cost-effective के लिए है” वाला मज़ाक छोटा और चतुर है, लेकिन असल में WiFi-सपोर्टेड SoC कितने सस्ते और लागत-प्रभावी हैं, यह जानकर आप हैरान हो सकते हैं
    कई मामलों में WiFi लगभग मुफ्त में साथ आता है, और ऐसे ज़्यादातर SoC में डिफ़ॉल्ट रूप से Ethernet controller नहीं होता, इसलिए अगर use case में फिट बैठता हो तो WiFi ज़्यादा लागत-प्रभावी है
    दूसरे physical protocols या connectivity methods भी बेशक संभव हैं, लेकिन ऐसे retrofit-installation clients में WiFi या आम wireless protocols ही सबसे बेहतर हैं

    • सिर्फ़ material के नज़रिए से देखें तो esp8266 जैसे दो लो-कॉस्ट WiFi-सपोर्टेड microcontrollers की manufacturer cost मिलाकर करीब 4–5 डॉलर होगी
      यह 3m cable, connector, और cable connection संभालने वाली सस्ती chip के आसपास ही है, और cable लगाने की labour cost उससे कहीं ज़्यादा महंगी है। इसलिए WiFi से जोड़ना waste क्यों माना जाए, यह मुझे समझ नहीं आता
    • ESP32 अब लगभग universal choice बन चुका है। ठीक-ठाक volume में order करें तो इसे 1 डॉलर से कम में खरीदा जा सकता है, और WiFi व Bluetooth सीधे built-in आते हैं। आजकल WiFi न इस्तेमाल करना ही ज़्यादा महंगा पड़ता है
  • मूल पोस्ट के लेखक से वह /etc/shadow file भेजने को कहा गया था, जिस पर John The Ripper से brute force fail हुआ था, और चूंकि यह पुराने UNIX crypt() hash थे, इसलिए hashcat और 12 RTX 4090 की मदद से करीब 7 घंटे में root password crack किया जा सका
    root password Newt@rd$ है
    यह device authentication के बिना भी TCF के जरिए root access देता है, इसलिए यह खास तौर पर उपयोगी नहीं है, लेकिन संभव है कि यह password कहीं और भी reuse हुआ हो

  • अगर domain समय की रेत में दब जाए, तो अच्छा होगा कि article को उसी device पर host किया जाए

  • 3A का मतलब 720W है। अगर वह छोटा box इतनी heat पैदा करे, तो पूरा cupboard सचमुच oven बन जाएगा
    वैसे भी अगर energy meter खुद इतनी power use करे तो यह उसके purpose के उलट होगा, कुछ-कुछ माचिस को test करने जैसा। ज़्यादा से ज़्यादा 10W होगा, और inrush current भी शायद इतना high नहीं होगा
    1A fuse काफी होना चाहिए, और installation भी काफ़ी साफ़-सुथरी दिखती है, इसलिए mains power के पास होने वाली बात भी इतनी डरावनी नहीं लगती

    • 3A fuse इसलिए नहीं लगा कि यह इस device के लिए optimal value है, बल्कि UK wiring system की वजह से लगा है
      UK में सभी appliances में उस point पर fuse होता है जहां वे building wiring से connect होते हैं; आम तौर पर यह plug के अंदर होता है, लेकिन इस device की तरह fixed fuse holder में भी हो सकता है
      यह माना गया कि बहुत ज़्यादा अलग-अलग values users के लिए confusing और झंझटभरी होंगी, इसलिए ये fuses एक ही size में standard values 13A, 5A, 3A में से किसी एक तक सीमित हैं। जैसा कि कहीं और कहा गया है, यह fuse UK supermarkets और convenience stores में भी खरीदा जा सकता है
      अगर 3A device के हिसाब से बहुत high है, तो designer को 3A-rated flex cable इस्तेमाल करनी चाहिए ताकि plug-side fuse protection दे, और device side पर lower current protection जोड़ना चाहिए
      UK-style system अपने लागू होने के समय standard fuse values जैसी बारीक details के साथ अच्छी तरह fit होने वाला clever structure था, लेकिन low-current devices से भरे modern homes के लिए यह थोड़ा over-designed और non-optimized है
    • यह fuse की time rating और power supply के inrush current पर निर्भर करता है। inrush current कभी-कभी 10A से ऊपर भी जा सकता है, इसलिए कुछ 1A fuses device चालू करते समय कभी-कभार उड़ सकते हैं
  • अगर आप घर में ऐसा real-time usage data देखना चाहते हैं, तो IoTaWatt की ज़ोरदार recommendation है: https://iotawatt.com
    यह घर के breaker panel में install होने वाला पूरी तरह local energy monitor है, और आप device पर चल रहे local web server का dashboard देख सकते हैं या API से data read कर सकते हैं
    आप sensors की संख्या खुद चुन सकते हैं, और पूरे घर के साथ-साथ individual circuits भी monitor कर सकते हैं
    उदाहरण के लिए washing machine, dishwasher, microwave जैसे appliances कब start/stop होते हैं, उसे track करके automations trigger किए जा सकते हैं
    हालांकि इसे खुद install करने के लिए research, basic electrical knowledge, और high-voltage mains connections पर काम करने को लेकर comfort चाहिए। फिर भी यह accessible है और setup आसान था
    यह ऐसा दिखता है: https://i.ibb.co/qBVmBD1/IMG-1595.jpg