Wi-Fi स्मार्ट बल्ब के भीतर की प्रतिबंधित पुस्तक लाइब्रेरी
(richardosgood.com)- Banned Book Library एक digital dead-drop प्रोजेक्ट है, जो Wi-Fi smart bulb को एक खुले access point और web server में बदल देता है, ताकि बल्ब के चालू रहने के दौरान आसपास के डिवाइस उस पर रखी e-book तक पहुँच सकें
- हार्डवेयर की शुरुआत ESP32C3 4MB आधारित, Tasmota preinstalled बल्ब से हुई, और छोटी flash capacity के कारण firmware, website और book files को साथ रखने लायक storage समायोजन सबसे बड़ी बाधा बना
- microSD जोड़ने का विचार इसलिए छोड़ दिया गया क्योंकि असली बल्ब के भीतर soldering और board निकालना कठिन था, और उसे सुरक्षित रूप से फिर से जोड़ना भी मुश्किल था; इसकी जगह partition table बदलकर file storage को 320KB से बढ़ाकर 2MB किया गया
- Arduino अकेले protected flash area तक पहुँच नहीं पा रहा था, इसलिए ESP-IDF और Arduino as a Component का उपयोग किया गया, और अलग safeboot firmware तथा ElegantOTA से update path तैयार किया गया
- अंतिम web app में book list, admin panel, restore function और captive portal शामिल हैं, लेकिन 4MB की सीमा के कारण एक बल्ब बहुत सारी किताबों की बजाय चुनिंदा कुछ किताबों वाली निजी लाइब्रेरी जैसा बन जाता है
अवलोकन
- एक Wi-Fi smart bulb को modify करके खुला Wi-Fi access point और प्रतिबंधित पुस्तकों का web server देने के विचार से यह प्रोजेक्ट शुरू हुआ
- जब बल्ब चालू होता है, तब आसपास के उपयोगकर्ता Wi-Fi वाले electronic device से बल्ब में रखी सामग्री तक पहुँच सकते हैं
- बल्ब का रूप होने की वजह से यह आसानी से ध्यान नहीं खींचता, और इसकी कीमत भी अपेक्षाकृत कम है, इसलिए इसे अलग-अलग जगह छोड़ देने वाले digital dead-drop के रूप में सोचा गया
- यह विचार Ben Brown की लघु रचना Library से प्रभावित था, जिसमें “library” रचनात्मक कार्यों, user manuals, 3D models जैसी ऐसी सामग्री का digital archive है जो इंटरनेट से गायब नहीं होनी चाहिए
- कुछ महीने पहले वास्तविक काम शुरू हुआ, और परिणाम Banned Book Library के रूप में सार्वजनिक किया गया
हार्डवेयर
- स्थानीय DEFCON meetup में यह विचार साझा करने के बाद Tasmota पर ध्यान गया
- Tasmota एक open-source firmware है, जिसे कई smart devices पर install करके HomeAssistant जैसे home automation systems के साथ integrate किया जा सकता है
- इसका मुख्य उद्देश्य cloud services पर निर्भर हुए बिना devices को local स्तर पर control करना है
- कई smart devices ऐसे cloud services पर निर्भर होते हैं जो समय के साथ बदल सकती हैं या बंद हो सकती हैं, और Tasmota उनका internal hosting आधारित विकल्प दे सकता है
- Tasmota को सीधे modify नहीं किया गया, लेकिन ऐसा Wi-Fi bulb विक्रेता मिला जिसमें Tasmota पहले से install था
- product page में लिखा था कि बल्ब
ESP32C3 4MBका उपयोग करता है - LED control के लिए GPIO pins भी सार्वजनिक किए गए थे, जो आगे काम आए
- pin mapping
R=GPIO6,G=GPIO7,B=GPIO5,CW=GPIO3,WW=GPIO4थी
- product page में लिखा था कि बल्ब
- Tasmota में OTA firmware update की सुविधा थी, इसलिए बल्ब को खोले बिना custom firmware डालने की संभावना दिखी
- सबसे बड़ी समस्या 4MB flash थी, जिसमें firmware, website और book files सभी समानी थीं
- प्रयोग के दौरान एक बल्ब खराब हो सकता है, यह मानकर दो बल्ब खरीदे गए
विघटन
- बल्ब के ऊपरी सफेद plastic diffuser को blade से किनारे पर दो बार काटकर फिर घुमाकर अलग किया गया
- अंदर LED लगी एक गोल daughterboard थी, जो नीचे वाले board से छह pins के जरिए जुड़ी थी
- बीच के छेद से main board का कुछ हिस्सा ऊपर आया हुआ था, और वही ESP32 antenna था
- बल्ब की housing और daughterboard दोनों aluminium की थीं, जिससे लगा कि Wi-Fi signal को ध्यान में रखकर डिज़ाइन किया गया है
- daughterboard हटाने पर अंदर का ESP32C3 और power conversion तथा LED driving से जुड़े लगने वाले components दिखाई दिए
- ESP32 पर कई exposed pins थीं, इसलिए microSD card reader जोड़ने की संभावना लगी
- बल्ब के भीतर soldering iron पहुँचाना संभव नहीं था, इसलिए main board निकालना पड़ा, और rubber जैसे potting compound को knife और screwdriver से निकालना पड़ा
- main board निकालना बहुत झंझटभरा था, और दोबारा लगाने के बाद उसकी सुरक्षा पर भरोसा करना कठिन था, इसलिए इसे वास्तविक dead-drop deployment का आवश्यक चरण मानना उचित नहीं था
- खोला गया बल्ब development platform के रूप में उपयोग हुआ, और serial programming के लिए VCC, GND, TX, RX, IO9 पर wires solder की गईं
- AliExpress पर मिले उसी module की तस्वीरों में pin labels देखकर VCC, GND, TX, RX की स्थिति पहचानी गई
- GND को आसान soldering के लिए metal shield से जोड़ा गया
- download mode में जाने के लिए IO9 को ground करके boot किया गया
esptoolसे पूरा firmware dump किया गया, और कुछ मिनट बादtasmota_original_firmware.binमिल गया
शुरुआती प्रयोग
-
Hello World
- शुरुआत में Tasmota source code को modify करके उसे Banned Book Library बनाने की योजना थी, लेकिन firmware अपेक्षा से अधिक जटिल निकला और कई architectures तथा devices को support करता था, इसलिए दायरा बहुत बड़ा था
- प्रोजेक्ट के उद्देश्य के हिसाब से अनावश्यक features हटाकर storage बचाना था, इसलिए Tasmota modification का विचार छोड़ दिया गया
- यह पुष्टि की गई कि ESP32 को Arduino से program किया जा सकता है, और Arduino IDE सेट किया गया
- एक साधारण Hello World program upload करके serial port पर message भेजा गया, जिससे यह साबित हुआ कि सीधे बल्ब पर custom firmware लिखा जा सकता है
-
Web server
- अगला चरण खुला Wi-Fi access point और web server बनाना था
- ESP32 web server tutorial का संदर्भ लिया गया, लेकिन LED control उस समय लक्ष्य नहीं था, इसलिए उसे बदल दिया गया
- बाद में Async Web Server पर स्विच किया गया और संबंधित tutorials के आधार पर implementation आगे बढ़ी
-
microSD card
- storage बढ़ाने के लिए Sparkfun microSD breakout board खरीदा गया
- ESP32C3 datasheet देखकर SD card reader की wiring समझी गई
- असली बल्ब की बजाय prototype में Adafruit ItsyBitsy ESP32 का उपयोग किया गया, क्योंकि उस पर pin headers solder करना और microSD जोड़ना बहुत आसान था
- microSD और LittleFS के जरिए web server files host करने में सफलता मिली, लेकिन इसे असली बल्ब पर लागू करना कठिन था, इसलिए microSD तरीका छोड़ दिया गया
- असली बल्ब के ESP32C3 पर soldering करने के लिए board को housing से निकालना पड़ता, जो लगभग device को खराब करने जैसा था
- LED control pins को reuse करने की कोशिश भी हुई, लेकिन उस संरचना में GPIO केवल transistor को चालू करके circuit को ground तक पूरा करने वाले output के रूप में ही इस्तेमाल हो सकते थे
- ESP32 पर ऊपर से चढ़ाकर pins से संपर्क बनाने वाला 3D-printed clamp भी डिज़ाइन किया गया, लेकिन वह बहुत अस्थिर और अविश्वसनीय निकला, इसलिए छोड़ दिया गया
वैकल्पिक रास्तों की जाँच
- यह देखने के लिए दूसरे smart bulbs भी जाँचे गए कि कहीं soldering के लिए आसान मॉडल मिल सके
- कई teardown posts मिलीं, लेकिन अधिकांश की अंदरूनी संरचना मौजूदा बल्ब जैसी ही थी
- कुछ bulbs में ESP32 की जगह अन्य chips थीं, लेकिन चूँकि ESP32 programming पहले ही सीखी जा चुकी थी, इसलिए दायरा ESP32-आधारित bulbs तक सीमित किया गया
- स्थानीय hardware store से खरीदे गए एक बल्ब में मिलती-जुलती संरचना थी, लेकिन main board के ऊपर aluminium protection होने से उसे सुरक्षित निकालना कठिन था
- Philips WiZ में केवल plastic diffuser हटाने पर ESP32C3-mini-1 दिखाई देता था, इसलिए वह आशाजनक लगा, लेकिन ज़रूरी ESP32 pins तक पहुँचना संभव नहीं था
- सामान्य LED bulb के भीतर अपना circuit लगाने का तरीका भी देखा गया, लेकिन वह Tasmota bulb को flash करने से भी अधिक जटिल और विशेष कार्य निकला
- अंततः Tasmota bulb को ही बनाए रखते हुए 4MB सीमा के भीतर समाधान निकालने का फैसला किया गया
storage समस्या
- ESP32 partition table आमतौर पर flash offset
0x8000पर stored होती है; इस क्षेत्र को dump करके CSV में बदलकर उसकी संरचना देखी गई - मूल partitions
nvs,otadata,safeboot,app0,spiffsये पाँच थेnvsWi-Fi network, password, LED color जैसी settings रखने वाला non-volatile storage हैotadataOTA updates से जुड़ा क्षेत्र माना गयाsafebootवह अलग boot firmware था जिसे Tasmota main firmware flash करने में उपयोग करता हैapp0में main firmware stored थाspiffsfiles के लिए छोटा file system partition था, और इस मामले में यह LittleFS को भी दर्शा सकता था
- मूल configuration में main firmware लगभग 3MB और safeboot लगभग 1MB ले रहा था, और file storage के लिए केवल 320KB बच रहे थे
- custom firmware Tasmota से सरल था, इसलिए
app0का आकार घटाकरspiffsबढ़ाया जा सकता है, ऐसा माना गया - नए partition layout में
spiffsको0x200000size दिया गया, जिससे web files और books के लिए 2MB storage मिला - partition table को modify करना जोखिमभरा था; खराब होने पर device boot नहीं करेगा और केवल serial programming से recovery संभव होगी
- table के अंत में MD5 checksum था, इसलिए केवल offsets और sizes बदलने से boot संभव नहीं था
- यदि चल रहे
app0partition को ही स्थानांतरित कर दिया जाता, तो वही firmware फिर boot नहीं कर पाता, इसलिएapp0की start position को यथावत रखना पड़ा - नई partition CSV बनाई गई,
gen_esp32part.pyसे binary table तैयार की गई, फिरxxdसे C array के रूप में बदलकरpartition.hमें डाला गया - partition table की MD5 अगर पहले से नई table से मेल खाती थी तो चरण छोड़ दिया जाता, नहीं तो पुरानी table मिटाकर नई लिखने वाला function बनाया गया
- Arduino environment में protected flash area तक पहुँच रोकी गई थी, इसलिए API success लौटाने पर भी वास्तव में partition table को पढ़ना या लिखना संभव नहीं था
ESP-IDF
- आधिकारिक ESP32 framework ESP-IDF को setup और use करना अधिक जटिल है, लेकिन यह device और framework पर अधिक गहरा control देता है
idf.py menuconfigसे framework settings बदली जा सकती हैं, और यह menu Linux kernel के menuconfig जैसा है- partition table को पढ़ने और लिखने के लिए
SPI_FLASH_DANGEROUS_WRITE_ALLOWEDकोAllowedपर सेट करना पड़ा SPI_FLASH_DANGEROUS_WRITE_ABORTSको भी disable करना पड़ा, तभी partition table access संभव हुआ- ESP-IDF को सीधे उपयोग करने पर Arduino की सुविधाएँ वैसे नहीं मिलतीं, लेकिन Arduino as a Component जोड़कर Arduino features और ESP-IDF control दोनों साथ लिए जा सके
- ElegantOTA, Async_TCP, AsyncWebServer जैसी libraries को project की
componentsdirectory या Arduino component कीlibrariesdirectory में clone करना पड़ा - कुछ
CMakeLists.txtभी बदलने पड़े, और यह दोहराव संभालने के लिए repository मेंbuild.shscript जोड़ी गई - build
idf.py buildसे किया गया, और serial flashingesptool -p /dev/ttyUSB0 write-flash 0xe0000 build/library.binसे की गई
settings page
- main firmware image में महत्वपूर्ण web server endpoints शामिल हैं, लेकिन वास्तविक library code अलग से LittleFS partition में stored है
- file system image को अलग से flash करना पड़ता है, और इसके लिए ElegantOTA शामिल किया गया
- यदि file system अभी flash न किया गया हो और device boot हो, तो settings page दिखाई देती है
- settings page ElegantOTA के जरिए file system image और safeboot firmware flash करने की प्रक्रिया बताती है
Safeboot
- main firmware की OTA updates बनाए रखने के लिए शुरुआत में Tasmota safeboot को वैसे ही रखने का विचार था
- Tasmota safeboot update करने के लिए
nvspartition में stored Wi-Fi settings का उपयोग करता है - इसमें समस्या यह थी कि Wi-Fi SSID और password
nvspartition में plain text में stored रहते थे - अगर बल्ब को बाहर छोड़ दिया जाए, तो Wi-Fi credentials का यूँ ही रहना operational security के लिहाज़ से ठीक नहीं था
- custom firmware पहले
nvspartition मिटाता है, और अतिरिक्त रूप से SPIFFS partition भी साफ करता है nvsसे Wi-Fi settings हट जाने पर Tasmota safeboot network से connect नहीं कर पाता, और मूल firmware update path टूट जाता है- इस समस्या को हल करने के लिए अलग custom safeboot firmware की ज़रूरत पड़ी
- न्यूनतम web server और access point के जरिए OTA update करने वाले GitHub example के आधार पर safeboot firmware बनाया गया
- कुछ
menuconfigitems disable करके image को इतना छोटा किया गया कि वह safeboot partition में आ सके, और अंततः यह काम कर गया - safeboot partition पर खुद password नहीं है, लेकिन safeboot में reboot करने वाला admin function password-protected है
web application
-
library
- पहली screen पर दरवाज़े वाले पीले shipping container की image दिखाई जाती है
- यह image ऊपर उल्लेखित Ben Brown की Library लघु रचना का संदर्भ है
- image storage लेती है, फिर भी इसे रखा गया, और पहली screen पर “hacker-like” एहसास देने के लिए glitch effect भी जोड़ा गया
- मुख्य library page हाथ से लिखे HTML और CSS से बनाया गया
- शुरुआती योजना सिर्फ file list वाला basic HTML index थी, लेकिन बाद में इसे अधिक आकर्षक और मज़ेदार रूप दिया गया
- site structure अपेक्षाकृत सरल है
- एक section है जो बताता है कि उपयोगकर्ता अभी क्या देख रहा है
- books section में title, author, और पुस्तक को challenge या ban किए जाने का कारण दिखता है
- reference links का section भी है, लेकिन Banned Book Library access point पर internet connection नहीं होता, इसलिए जुड़े रहने के दौरान external links काम नहीं करते
-
admin
/adminpath पर password-protected admin panel है- admin panel LED color temperature को control करने देता है
- उद्देश्य यह है कि सार्वजनिक जगह पर लगाने पर बल्ब का रंग आसपास के मौजूदा bulbs से मिलाया जा सके और बदलाव कम नज़र आए
- चूँकि बल्ब विक्रेता ने हर LED color control GPIO pin सार्वजनिक किया था, इसलिए
AnalogWrite()से अलग-अलग रंगों की intensity सेट की जा सकी - color settings
NVSमें saved रहती हैं, इसलिए अगली boot पर वही रंग लौट आता है - admin features में restore page पर जाने वाला एक button भी है
-
restore
- restore function partition table को कुछ हद तक वापस बदलता है और safeboot में boot करवाता है
- व्यवहार में यह custom safeboot partition में reboot करके Banned Book Library firmware के ऊपर कोई दूसरा firmware flash करने देता है
- flash target नया version, Tasmota, ESPHome आदि हो सकता है
- safeboot partition को पूरी तरह restore करने का अच्छा तरीका अभी नहीं मिला है
- Tasmota को फिर से flash करने के बाद यदि Tasmota interface में “Firmware Upgrade” दबाया जाए, तो system फिर custom safeboot में reboot हो जाता है
- यह safeboot Tasmota updates के लिए इस्तेमाल तो हो सकता है, लेकिन Tasmota के सामान्य upgrade अनुभव से सहज रूप से मेल नहीं खाता
- इसी कारण partition restore में safeboot subtype को पूरी तरह
Factoryपर वापस नहीं किया गया, बल्किOTA_1ही रहने दिया गया
-
captive portal
- उपयोगकर्ता खुले access point से जुड़ने के बाद केवल यह देखकर कि internet नहीं है, हार मान सकते थे, इसलिए captive portal की ज़रूरत पड़ी
- पुरानी विधि HTTP requests intercept करके portal पर redirect करना थी, लेकिन अब अधिकांश websites HTTPS इस्तेमाल करती हैं, इसलिए वह तरीका उतना उपयुक्त नहीं है
- आधुनिक तरीका DHCP option के जरिए captive portal की जानकारी देना और device-specific portal detection requests को handle करना है
- ESP32 के लिए captive portal example code मिला, जिसका कुछ हिस्सा project में उपयोग किया गया
- वह code दो काम करता है
- DNS server हर request का जवाब ESP32 के अपने IP address से देता है
- Microsoft, Android, iOS, Firefox आदि द्वारा उपयोग किए जाने वाले खास HTTP requests को पकड़कर redirect या response भेजा जाता है
- अज्ञात requests को
server.onNotFoundमें local URL पर redirect किया जाता है, और serial monitor पर request host और URL print होते हैं
अंतिम विचार
-
size limits
- device की कुल storage 4MB तक सीमित है
- जाँची गई कुछ epub books लगभग 350KB की थीं, इसलिए एक बल्ब में ऐसी केवल कुछ ही किताबें रखी जा सकती हैं
- शुरुआत में बहुत सारी प्रतिबंधित पुस्तकों वाला web server कल्पना किया गया था, इसलिए यह सीमा निराशाजनक लगी
- बाद में यह समझा गया कि सीमित स्थान का एक फायदा है: हर dead-drop अपने निर्माता की पसंद को दर्शाता है
- बनाने वाले को ऐसी किताबें चुननी पड़ती हैं जो उसके लिए महत्वपूर्ण हों या जिन्हें वह मानता हो कि दूसरों तक पहुँचना चाहिए
- यदि किसी क्षेत्र में कई बल्ब रखे जाएँ और हर बल्ब में अलग सामग्री हो, तो उन्हें ढूँढते हुए सामग्री खोजने का अनुभव और रोचक हो सकता है
-
future ideas
-
color control
- RGB colors और white color temperature को अधिक बारीकी से control करने वाले sliders जोड़ने की इच्छा है
- इससे installation site की मौजूदा lighting के रंग से और अधिक नज़दीकी मिलान हो सकेगा
-
mesh networking
- storage limit के संदर्भ में कई बल्बों के mesh network बनाने का विचार सामने आया
- distributed hash table जैसी किसी पद्धति का उपयोग किया जाए तो एक device से जुड़े उपयोगकर्ता को उसकी range में मौजूद दूसरे devices की books भी दी जा सकती हैं
- यह विचार आगे खोजे जाने लायक रोचक दिशा के रूप में बचा हुआ है
-
अन्य
- smart devices को दूसरे उपयोगों में बदलने के और भी कई विचार हैं
- ESP32 chip को बहुत सस्ता और पर्याप्त रूप से सक्षम माना गया
- ESP32 का उपयोग सीखने के बाद आगे और अधिक ESP32 projects बनाने की संभावना काफी बढ़ गई
-
1 टिप्पणियां
Hacker News की राय
Alpha Centauri में Pravin Lal के उद्धरण की तरह, जानकारी के प्रवाह को नियंत्रित करने की कोशिश करने वाला आखिरकार शासक बनना चाहता है—यह चेतावनी आज भी उतनी ही सही लगती है
“लोकतंत्र गरजती तालियों के बीच मरता है” वाली बात ज़्यादा वास्तविक लगती है
यह अब तक का सबसे बेहतरीन 4X game है, और उस game ने जिस 2060 की कल्पना की थी, वह हर दिन और करीब आती लगती है
लगता है जैसे games में complexity और maturity का शिखर यही था
यह game और इसके विचार सचमुच कालातीत हैं
क्योंकि अब हम देख चुके हैं कि झूठ भी information है, और वही प्रवाह पकड़ ले तो और तेज़ फैल सकता है
जैसा अपेक्षित था, लेख में दी गई किताबों की मिसालें वास्तव में “प्रतिबंधित किताबें” नहीं थीं
आम तौर पर माता-पिता के अनुरोध पर स्पष्ट सामग्री वाली किताबें school library के collection से हटाई जाती हैं
यह लेख का मुख्य बिंदु नहीं था, इसलिए शायद किताबों की मिसालें दो ही दिखीं
Nineteen Eighty-four में भी यौन सामग्री है, इसलिए अगर कोई authoritarian व्यक्ति totalitarian literature तक पहुँच घटाना चाहता है, तो बस उसे माता-पिता को यौन मुद्दों पर भड़काना होगा
किसी किताब को “प्रतिबंधित” कहने के लिए उसका पूरी दुनिया में प्रतिबंधित होना ज़रूरी नहीं
असल में ऐसी किताबें बहुत नहीं होंगी, लेकिन आजकल यह बदनामी पाने का शॉर्टकट भी लग सकता है
पहले PirateBox हुआ करता था
इसमें छोटे Wi-Fi access point पर web server और forum/file host वाला custom firmware डाला जाता था, और मूल साइट भले बंद हो चुकी हो, इसका एक derived project यहाँ है: https://www.jasongriffey.net/librarybox/
लेकिन अगर आप user uploads की अनुमति देते हैं, तो किस तरह की files आएँगी यह सोचकर ही चिंता होती है
लोग खुले Wi-Fi से जुड़ने से डरते थे, और क्योंकि यह “free internet” नहीं देता था, वे आम तौर पर तुरंत disconnect कर देते थे
अफ़सोस की बात है कि LibraryBox derived project भी अब ज़्यादा सक्रिय नहीं है
मैं प्रतिबंधित किताबों की सूची को लेकर उत्सुक हूँ
सबसे बड़े social platforms में से एक के बिना इसे देखें तो शायद कोई दिलचस्प किताब न मिले, और बस वही किताबें हों जो मुख्यधारा की bookstores के “banned books” सेक्शन में मिलती हैं
यह विचारों की साधारणता जैसा लगता है, जिसमें सार्थक विविधता गायब है
“प्रतिबंधित किताबों” की सूची छोटी है: Call of the Wild, The Adventures of Huckleberry Finn, The Adventures of Tom Sawyer, Women in Love वगैरह
सचमुच चौंकाने वाला और साहसी
इसलिए कोई एकल सूची नहीं है; आप जो चाहें उसमें डाल सकते हैं
मैंने 2012 के आसपास भी ऐसी चीज़ को Pirate Box कहते देखा था
मूल विचार यह था कि बड़े internet से अलग-थलग एक Wi-Fi network और web server चलाया जाए, ताकि लोग files upload और download कर सकें
यानी यह भौगोलिक रूप से सीमित digital sharing library है
efficient software और energy use की चिंता करने वाले व्यक्ति के लिए, लेख की images का 5MB PNG होना ध्यान खींचता है
Android को ऐसे Wi-Fi network से अपने-आप disconnect हो जाना पसंद है जो internet उपलब्ध नहीं कराते
इस सुविधा को बंद करने के लिए काफ़ी उलझे हुए कई settings steps से गुजरना पड़ता है
मैंने आख़िरी बार जाँचा था तब phone का portal detection वैध HTTPS certificate तक की माँग नहीं करता था
जब user को “Sign In” दबाने का संकेत मिले, तो उसे तुरंत dead drop दिखाई दे
हालाँकि मैंने खुद यह नहीं आज़माया, इसलिए यह सच में काम करेगा या DNS ठीक से चाहिए होगा, यह नहीं पता
यह इस बात का अच्छा उदाहरण है कि भले शुरुआती जानकारी बहुत न हो, लेकिन स्पष्ट लक्ष्य, जुनून और जिज्ञासा हो तो इंसान कितनी दूर जा सकता है
यह काफ़ी बढ़िया है, लेकिन “क्योंकि यह bulb है, इसलिए इसे पहचानना मुश्किल होगा और यह नज़र नहीं आएगा” वाली बात संदिग्ध लगती है
इसे बंद करना किसी और publicly accessible Wi-Fi device से ज़्यादा मुश्किल नहीं होगा, और बिजली या devices को एक-एक करके बंद करके इसे ढूँढा जा सकता है
आधुनिक enterprise access points में devices को physically locate करने की सुविधा और unauthorized access point के automatic alerts भी होते हैं
लेकिन दूसरा वाला अक्सर हर बार बज उठता है जब कोई Wi-Fi Direct से print करता है या screen cast करता है, इसलिए उसे अनदेखा कर दिया जाता है या बंद कर दिया जाता है
ख़ासकर अगर वह अपनी जगह लगा हुआ एक बिल्कुल सामान्य bulb दिखे, तो कौन सोचेगा कि यह Wi-Fi access point है
भूरा potting material शायद दूसरे कामों के साथ-साथ parts से गर्मी निकालने के लिए भी इस्तेमाल किया गया होगा