Kobo 閱讀數據統計日曆

Hsuan
7 min readMay 5, 2024

--

Kobo 本身其實有自己的數據統計,但看過 KOReader 後,被那個日曆吸引了,所以想辦法在不用外掛閱讀程式(ex: KOReader/Plato)的情況下,寫出一個類似的東西。

前言

這個安裝方式其實不是很直覺,可能還需要一點程式背景(我不是很確定,但很怕有些步驟會有人看不懂),所以只推薦真的很有興趣的人嘗試,如果有遇到問題,很樂意幫忙解答。

另外使用什麼東西分析,或是更詳細的請到 github 參考,那邊我只寫了英文版本就是,有點懶得翻譯了。

實際使用顯示如下:

使用說明:

  1. 這個東西需要仰仗 Kobo 本身的資料庫,去複製出來分析,第一次使用,或是在某些條件下執行時,可能會花上比較長的時間,要耐心等待,偶爾甚至於還需要重複執行。
  2. 因為只能拿到開書到關書的時間,所以時間的計算跟 Kobo 本身有的閱讀統計多少會有些許的落差。
  3. 目前只在 Nia、Clara Bw 的機型試過,不能確保每個型號都可以正常運行,建議使用前還是先備份一下資料,如果有遇到問題,歡迎分享給我做修正。
  4. 後來發現解析度的不同,原先畫圖的數據影響頗大(字體大小那些),v3.0 版本是以 Clara Bw 為基準下去改的,其他型號若有跑版問題,歡迎回報。
  5. 如果都正常執行,但是一直看不到資料出現在日曆上的話:
    。可以檢查一下閱讀器裡面的隱私設定,分享給資料給 kobo 的那個選項有沒有被關閉,預設是開的,所以我沒有試過關掉後,還會不會有那些數據可以使用。
    。建議在關閉 wifi 也不接 usb 的情況下,多閱讀幾次,然後再執行看看。如果這樣就有資料,那就建議之後每次打開 wifi 前,都先執行一次資料就會備份起來,因為以我的經驗,資料庫裡的分析資料基本上都會在同步 wifi 後或是接 usb 出現問題時消失。
  6. Kobo 很多外掛程式,例如 Koreader 那種,他們都是把 Kobo 本身的程式關閉後下去跑的,但要重啟 Kobo 的話,時間體驗不是很好,因此採用不關閉 Kobo 的方式,直接顯示一張圖在上面。所以假設你書的位置在那,點那個位置會打開書,那你把日曆打開後,也只要點那個位置就會關閉日曆打開書,如果是點其他位置,例如探索,他就會關掉日曆去開探索。基本上就是沒有所謂的關閉日曆這種功能,只是去點開那種會刷新整個畫面的按鈕,就可以關掉了。

!!注意

最新的機型,因為 FBInk 的網站還未提供最新安裝檔,所以 Step 1 後,需要先再次安裝我 build 出來的這一份(FBInk)。後續更新了,會在把這段字移除。

安裝步驟:

Step 1:安裝 all-in-one package

這樣等一下才可以裝 python。

  • 最下面有個 Download 抓下來解壓縮把 KoboRoot.tgz 放到 .kobo 的資料夾就可以安裝了。

Step 2:安裝 NickelMenu

使用方式我在 Kobo 電子書小外掛 有教學,需要更詳細的請那裡觀看了。

Step 3:開啟 devmode,telnet 到 Kobo 。

  • 在搜尋欄裡打 devmodeon,然後到設定的裝置資訊裡面找到 IP。
  • 用電腦開終端機(命令提示字元)打 telnet 192.xxx.x.x,IP 換成上一步找到的 IP,有成功直接跳到第 4 步驟即可。
  • 如果電腦是 windows 找不到 telnet 這個指令,到控制台 > 程式集裡面,找到 Telnet 選起來確定後,就會安裝了。

Step 4:安裝 python

  • 上一步如果有成功應該會看到下圖的畫面
  • 然後打上這一句指令執行就好。
tmux new -s kobo update-kobostuff Python

Step 5: 到我的 github 下載最新的日曆工具。

  • kobo-reading-calendar.zip 抓下來,解壓縮
  • usb 連上 Kobo 把 utils 資料夾放到 .adds/ 裡面

Step 6:寫 NickelMenu 的設定檔。

共有四種,可以按照 nickelMenu 的寫法隨意放置,或是改名稱,只要後面的指令照抄就好。

  • 分析:用來分析備份資料而已,不包含把日曆顯示出來(這個不一定要有)。
  • 分析及當月日曆:用來分析資料加顯示日曆,第一次使用一定要先執行他,才有資料可以顯示(這個一定要有)。
  • 當月日曆/前月日曆:這兩個都只是顯示日曆而已,速度基本上會比多了分析的快,但缺點就是資料會一直是上次看到的,除非你執行了分析,產出新的資料。(這個推薦放在 reader 裡用就好,因為閱讀時除非你休眠或是退出,不然是抓不到當下再看這本書的時間訊息的)。
menu_item :main :分析 :cmd_spawn :quiet:/mnt/onboard/.adds/utils/analytics/copyAnalytics.sh 
menu_item :main :分析及當月日曆 :cmd_spawn :quiet:/mnt/onboard/.adds/utils/analytics/copyAnalytics.sh -cal
menu_item :reader :當月日曆 :cmd_spawn :quiet:/mnt/onboard/.adds/utils/analytics/readingCalendar.sh
menu_item :reader :前月日曆 :cmd_spawn :quiet:/mnt/onboard/.adds/utils/analytics/readingCalendar.sh -prev

Step 6:客製化選項,不需要客製化的可以跳過。

  • 打開 config.ini 這個檔案去編輯,這些東西都可以修改。
max_event = 4  # 一天顯示最多基本書,超過的會直接顯示 +more
max_image = 2 # 留幾個月的日曆圖在 kobo 裡,建議不要小於 2,但也不要不要開太大,不然會重複計算或是浪費空間。
event_height = 30 # 每日閱讀背景的高度大小 3.0 版本才支援

event_bg = #999999, #444444, #BBBBBB, #666666 # 單天每本閱讀的背景色,這裡是 4 種灰色,但 colour 出了,所以這裡改成彩色的應該也沒有不行。
event_tx = #000000, #DDDDDD, #000000, #DDDDDD # 字體顏色,跟背景是一對的,要照順序,例如 #999999 淺色就會配上 #000000 黑字,深灰就配淺灰。一樣應該也是可以支援彩色。

font_family = msjh.ttc # 字型檔案放在 /fonts 裡,有中文書的顯示的要用中文字體,不然會顯示不出來。
font_sm = 13 # 各層級的字體大小,你可以換,但不能確保不會跑版。
font_base = 20
font_md = 24
font_lg = 36

這就是我每次看到 Koreader 都很羨慕的東西,人家是直接一個新的閱讀程式,有自己的統計數據可以計算,可惜我只有 Kobo 既有的資料可用,還是偶爾會消失的那種,所以只能大概做出個皮毛,滿足一下自己,讓自己可以看到每月的統計。

如果有不準確的地方就不要意外啦,數據只是一種自我欣賞的東西,它不是一切,多看幾本書才是真理。

https://www.buymeacoffee.com/hsuan
Hsuan (buymeacoffee.com)

--

--

Hsuan

想寫就寫,給自己一個記錄的地方,還在持續學習的前端工程師。