חזרה
ספריית ספרים אסורים בתוך נורה חכמה עם Wi-Fi
SiTech AI Team3 წთ. საკითხავი

ספריית ספרים אסורים בתוך נורה חכמה עם Wi-Fi

מהנדס הפך נורה חכמה זולה עם שבב ESP32 לנקודת גישה פתוחה שמגישה ספרים אסורים לכל מי שבסביבה — מה שהוא מכנה „מטמון מתים דיגיטלי“ בסגנון סייברפאנק שאפשר להשאיר ברחבי העיר.

נורת LED חכמה עם Wi-Fi שמשדרת רשת פתוחה ומגישה ספרים אסורים לכל מי שנמצא בקרבתה: זו ה-Banned Book Library, פרויקט חומרה שפרסם השבוע ריק אוסגוד. הוא מתאר אותו כ„מטמון מתים דיגיטלי“ בסגנון סייברפאנק — מכשיר זול שנראה כמו נורה רגילה, אבל בתוכו פועל שרת אינטרנט קטן עם ספרים שאסורים במקום כלשהו.

הרעיון עלה אחרי קריאת הסיפור הקצר „Library“ של בן בראון, שבו דמויות מתחזקות ארכיון דיגיטלי של יצירות, מדריכים ומודלים תלת-ממדיים. הנורות זולות וקשות לזיהוי, ולכן פיזורן בעיר אינו יקר במיוחד.

Tasmota, ESP32 ופירוק הרסני

אוסגוד העלה את הרעיון במפגש DEFCON המקומי, ומישהו עם ניסיון באוטומציה ביתית הפנה אותו ל-Tasmota — קושחה בקוד פתוח שמנתקת מכשירים חכמים משירותי ענן ונותנת שליטה מקומית. הוא מצא ספק שמוכר נורות עם Tasmota מותקנת מראש: שבב ESP32C3 עם 4MB של זיכרון פלאש.

פתיחת הנורה הראשונה חשפה לוח אם שמוחזק בחומר אטימה גמיש. חילוצו היה סיוט של ממש והמכשיר נהרס בכך למעשה, ולכן תוכנית הלחמה של קורא microSD נזנחה: הפרויקט נועד לדרוש מינימום כלים. במקום זאת הוא הלחים חוטי תכנות טוריים, הוציא את הקושחה המקורית עם esptool, ובסופו של דבר ויתר על שינוי Tasmota כמורכבת מדי וכתב קושחה משלו ב-Arduino.

בעיית האחסון: 320KB לספרים

עם 4MB של פלאש בסך הכול, המקום דחוק. טבלת המחיצות חשפה שרק מחיצת SPIFFS — 320KB — זמינה לקבצים, בערך ספר אלקטרוני אחד. אוסגוד כתב מחדש את הטבלה: הקטן את מחיצת הקושחה הראשית והגדיל את האחסון ל-2MB. עריכה כזו מסוכנת, ולכן הוא עבר למסגרת ESP-IDF עם כתיבה מסוכנת לפלאש מופעלת במפורש.

שאלה נוספת הייתה אבטחה: מחיצת nvs שומרת את שם רשת ה-Wi-Fi והסיסמה בטקסט גלוי, ולכן הקושחה שלו מוחקת אותה — דבר ששובר את קושחת השחזור של Tasmota, שנשענת בדיוק על אותם נתונים. לכן הוא בנה דימוי safeboot מינימלי משלו.

האתר, פאנל הניהול ופורטל שבי

ממשק האינטרנט נכתב ביד. בעמוד הראשי מופיעה תמונת מכולה צהובה כמחווה לסיפורו של בן בראון, ורשימת הספרים מציגה כותרת, מחבר והסיבה שבגללה הספר עורר מחלוקת או נאסר. עמוד /admin מוגן בסיסמה ושולט בטמפרטורת הצבע של הנורה, כך שאפשר להתאים את המטמון לנורה שאותה החליף.

כדי שמבקרים יגיעו לשרת בכלל, הפרויקט מיישם captive portal: שרת DNS משיב לכל בקשה בכתובת ה-IP של עצמו, ובקשות הבדיקה של Windows, Android, iOS ו-Firefox מופנות לעמוד הספרייה.

מגבלה שלבסוף חיבב

4MB של אחסון מספיקים לספרים ספורים בלבד — קבצי epub שבדק שקלו כ-350KB כל אחד. בהתחלה זה אכזב, אבל היום הוא דווקא מחבב את העובדה שתוכן המטמון משקף את בחירותיו של מי שבנה אותו, ושנורות אחדות בעיר יכולות להכיל כל אחת משהו אחר לגלות.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.