
Wi-Fi ağıllı lampanın içində gizlədilmiş qadağan kitabxanası
Mühəndis ucuz ESP32 ağıllı lampanı qadağan olunmuş kitabları paylaşan açıq Wi-Fi giriş nöqtəsinə çevirib; layihə şəhərə buraxıla bilən kiberpank üslubunda rəqəmsal ötürücü kimi təsvir edilir.
Ətrafına açıq şəbəkə yayan və yaxınlıqdakı hər kəsə qadağan olunmuş kitabları təqdim edən Wi-Fi ağıllı lampa: bu, Rik Osqudun bu həftə dərc etdiyi aparat layihəsi Banned Book Library-dir. Müəllif onu "kiberpank üslubunda rəqəmsal ötürücü" adlandırır — adi lampaya bənzəyən, lakin içində hansısa yerdə qadağan edilmiş kitabların yerləşdiyi kiçik veb server işləyən ucuz cihaz.
İdeya Ben Braunun "Library" hekayəsini oxuduqdan sonra yaranıb: orada personajlar yaradıcı əsərlərdən, təlimat kitabçalarından və 3D modellərdən ibarət rəqəmsal arxiv saxlayırlar. Lampalar ucuzdur və asanlıqla nəzərə çarpmır, ona görə onları şəhərdə yerləşdirmək böyük xərc tələb etmir.
Tasmota, ESP32 və dağıdıcı sökülmə
Osqud ideyanı yerli DEFCON görüşündə paylaşıb; ev avtomatlaşdırması təcrübəsi olan bir tanış ona Tasmota-nı məsləhət verib — ağıllı cihazları bulud xidmətlərindən ayırıb yerli nəzarət verən açıq mənbəli proqram təminatı. O, Tasmota əvvəlcədən quraşdırılmış lampalar satan bir satıcı tapıb: 4 MB flaşlı ESP32C3 çipi.
İlk lampanın açılması göstərdi ki, ana plata rezinəbənzər qatqı maddəsi ilə sabitlənib. Onu çıxarmaq son dərəcə çətin idi və cihazı faktiki olaraq yararsız edir, buna görə microSD oxuyucu lehimləmə planından imtina edildi: layihə minimal alət tələb etməli idi. Əvəzində o, seriya proqramlaşdırma naqillərini lehimləyib, orijinal proqram təminatını esptool ilə çıxarıb və Tasmota-nı dəyişdirməyi həddindən artıq mürəkkəb sayaraq Arduino ilə öz proqramını yazıb.
Yaddaş problemi: kitablar üçün 320 KB
Cəmi 4 MB flaşla yer azdır. Bölmə cədvəli göstərdi ki, fayllar üçün yalnız SPIFFS bölməsi — 320 KB — mövcuddur, bu da təxminən bir elektron kitaba bəs edir. Osqud bölmə cədvəlini yenidən yazıb: əsas proqram bölməsini kiçildib, yaddaşı 2 MB-a çatdırıb. Bu redaktə riskli olduğu üçün o, flaşa təhlükəli yazmanın icazə verildiyi ESP-IDF çərçivəsinə keçib.
Təhlükəsizlik ayrı bir problem idi: nvs bölməsi Wi-Fi şəbəkə adını və parolu açıq mətnlə saxlayır, ona görə onun proqramı bu bölməni silir — bu isə məhz həmin məlumatları oxuyan Tasmota bərpa proqramını sıradan çıxarır. Buna görə müəllif özünün minimal safeboot obrazını yaradıb.
Sayt, admin panel və captive portal
Veb interfeysi əl ilə yazılıb. Ana səhifədə Ben Braunun hekayəsinə işarə olaraq sarı konteyner təsviri var; kitab siyahısında isə ad, müəllif və kitabın niyə etiraz doğurduğu və ya qadağan edildiyi göstərilir. Parolla qorunan /admin səhifəsi LED-in rəng temperaturunu idarə edir ki, ötürücü əvəz etdiyi lampaya uyğunlaşdırıla bilsin.
Ziyarətçilərin serverə çatması üçün captive portal tətbiq edilib: DNS serveri hər sorğuya öz IP ünvanı ilə cavab verir, Windows, Android, iOS və Firefox-un bağlantı yoxlama sorğuları isə kitabxana səhifəsinə yönləndirilir.
Sonradan xoşuna gələn məhdudiyyət
4 MB ümumi yaddaş yalnız bir neçə kitaba bəs edir — baxdığı epub faylları təxminən 350 KB idi. Əvvəlcə bu məyusedici idi, amma indi müəllifə ötürücünün məzmununun onu quranın seçimini əks etdirməsi və bir şəhərdəki bir neçə lampanın hər birinin fərqli bir şey saxlaması xoş gəlir.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.