工程趣聞 2026 年 7 月 20 日

2026-07-20 — 保齡球館換裝 ESP32 省下 12 萬美元、C64 BASIC 教哥布林追人、樹莓派家用伺服器靠 btrfs RAID1 死而復生

primary=https://news.ycombinator.com/item?id=48968606 primary=https://retrogamecoders.com/c64-basic-dungeon-part8/ primary=https://sgt.hootr.club/blog/home-server-rebirth/

花 1,600 美元打趴 12 萬美元:工程師用 ESP32 重造保齡球館計分系統

Hacker News (Show HN) · 2026-07-20

原本的問題

一位保齡球館業者發現,2008 年裝的計分系統靠攝影機辨識球瓶再用三角幾何運算,聽起來很先進,但最終只是拿來觸發一顆繼電器,去操控已經用了 70 年的機械擺瓶機。原廠系統換一套要價 8 萬到 12 萬美元,還不含升級,單是一組球道的維修零件就要價 4,000 美元。

採用的方法

作者做出的原型叫 OpenLaneLink,核心是一批 ESP32 模組跑自製韌體,節點之間用 ESP-NOW 星狀網狀協定互傳事件與指令——這個協定直接用 MAC 位址收發封包,跳過完整 Wi-Fi 堆疊與路由器,延遲可低到 1 毫秒,很適合球道環境。訊號不穩時可切到 RS485 有線備援,感測端則用紅外線斷光感測器與光耦合器驅動繼電器。後端是一台樹莓派跑 Redis 加狀態機,前端則是可自訂動畫的 React 網頁,透過 WebSocket 廣播比分。

實際效果

每組球道的硬體成本壓到約 200 美元,講究一點也就 400 美元,整套系統加起來只花 1,600 美元。作者表示維修只需幾分鐘,整條球道更換不到十分鐘,並計畫把硬體、韌體與軟體全部開源,之後還想加上 DMX 燈光效果與感應付款機。

原始來源:Hacker News 討論串


教哥布林學會追你:C64 BASIC 地城遊戲教學,第八回合跟記憶體搶地盤

retrogamecoders.com · 2026-07-20

原本的問題

這是「用 Commodore 64 BASIC 寫地城探索遊戲」系列的第八篇。Commodore 64 是 1982 年的 8 位元家用電腦,BASIC 直譯器沒有繪圖指令,所有硬體暫存器都得靠 PEEK/POKE 直接讀寫記憶體位址來控制,包括負責畫面顯示的 VIC-II 晶片。這一篇要解決的是讓哥布林從畫面圖案變成真正會行動、會打人的敵人。

採用的方法

作者用平行陣列 DIM GH(10), GX(10), GY(10) 分別記錄最多 10 隻哥布林的血量與座標,AI 邏輯只是單純地讓 X、Y 座標各自往玩家靠近,不做路徑搜尋。戰鬥沿用 D&D 規則:D20=INT(RND(1)*20)+1 擲骰,再加上依力量算出的加成修正,哥布林護甲值寫死為 8。全篇真正的重點反而是一個記憶體漏洞——自訂字元集放在 VIC-II 的 12288 到 14335 位址,剛好卡在 BASIC 陣列成長會用到的記憶體路徑上,陣列一長大就會把字元集蓋掉、畫面就會亂碼。

實際效果

解法是把字元集從 4K 裁到 2K 並搬到 14336,改寫零頁記憶體上限(POKE 55,0:POKE 56,56)並重新初始化,再用位址 2 當旗標避免程式重跑時重複修補。輸入偵測則改用 GET 即時讀鍵,而非等待 INPUT。完整範例程式與前一篇的地圖、碰撞偵測系統可在系列頁面取得。

原始來源:C64 BASIC Dungeon Part 8線上 IDE 原始碼


家用伺服器的死而復生:一張 SD 卡陣亡後,他組出一支 btrfs RAID1 舊硬碟艦隊

sgt.hootr.club · 2026-07-20

原本的問題

作者的樹莓派 4B 跑 NixOS 常年不關機,根目錄放在一張 128GB microSD 卡上。長年高頻寫入加上一次全大樓停電,終於把 SD 卡送終——多次跑 fsck.ext4 都無法修復,卡片已經徹底損壞,原本跑的 Transmission、Navidrome、Jellyfin、Immich、slskd 全部停擺。

採用的方法

重建時換上一張 64GB 高耐用 microSD 並關閉 atime 減少寫入,同時把 swap 改用 zram 壓縮,/tmp 與 journald 的暫存也搬進記憶體磁碟,盡量不讓卡片再挨寫入。真正的儲存則交給兩顆退役的 2.5 吋硬碟(500GB+320GB)組成 btrfs RAID1,暱稱「ポンコツ」(破銅爛鐵),後來又加進一顆 1TB 擴容,另外用一顆獨立的 10TB ext4 硬碟專門放 ISO 檔。

實際效果

備份交給 Restic 定期存到 S3,分日/週/月三種保留週期,各服務再用共用的 media 群組與 setgid 權限互通檔案存取。這套配置讓一台樹莓派 4B 靠著幾顆二手硬碟撐起完整的自架媒體與備份服務,同時把寫入耗損降到最低。

原始來源:家用伺服器重生記


End of article
0
Would love your thoughts, please comment.x
()
x