2 คะแนน โดย GN⁺ 2024-08-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใช้ Kindle เป็นจอ e-ink

  • ขั้นที่ 1: เจลเบรก Kindle

    • แนะนำให้ทำตามคำแนะนำในเธรด LanguageBreak บน mobileread.com
    • ผู้เขียนลองทำเองโดยไม่ทำตามคำแนะนำของ LanguageBreak แต่รีโพซิทอรี GitHub ของ LanguageBreak ก็มีประโยชน์มากในการดีบัก
    • ไม่ว่าจะเจลเบรกด้วยวิธีไหน สิ่งสำคัญคือการเข้าถึง root shell
  • ขั้นที่ 2: ตั้งค่า listener server บน Kindle

    • เขียนโปรแกรม Go ที่รับไฟล์บนพอร์ต 8000 แล้วเรียกใช้ eips
    • ตัวอย่างเช่น ถ้าโปรแกรม Go รับไฟล์ JPG แล้วบันทึกไว้ที่ /tmp/img.jpg ก็สามารถวาดภาพลงจอแบบ partial update ได้ด้วยคำสั่งต่อไปนี้:
      • eips -g /tmp/img.jpg -w gc16 -x 128 -y 0
    • ความหมายของแฟลกดูได้จากวิกิของ eips
    • ควรล้างหน้าจอด้วย eips -c ก่อนเฟรมแรก
    • ซอร์สโค้ด Go หายไปแล้ว แต่เรียบง่ายมาก ไม่ถึง 30 บรรทัด
  • ขั้นที่ 3: screen capture + ImageMagick

    • บน macOS ผู้เขียนเขียนสคริปต์ที่ใช้ screencapture จับภาพหน้าจอซ้ำ ๆ แล้วใช้ ImageMagick แปลงให้อยู่ในรูปแบบ ขนาด และสีที่ Kindle ชอบ ก่อนส่งผ่าน usbnet ด้วย netcat
      • /usr/sbin/screencapture -C -x /tmp/orig.png
      • convert /tmp/orig.png -rotate 270 -resize '810x1448!' -type GrayScale -depth 8 -colors 256 /tmp/gray.jpg
      • cat /tmp/gray.jpg | nc -w 0 192.168.15.244 8000
    • ต้องปรับความละเอียดและพอร์ตให้ตรงกับ listener server ของตนเอง
  • ขั้นที่ 4: ???

    • ผู้เขียนลองทำเรื่องนี้เมื่อคืนเพื่อความสนุก และยังมีช่องให้ปรับปรุงอีกมากในด้านประสิทธิภาพและการใช้งาน
    • การส่งไฟล์ jpeg ทั้งไฟล์ในทุกเฟรมไม่มีประสิทธิภาพมาก เพราะ delta ระหว่างเฟรมต่อเนื่องส่วนใหญ่เป็นพื้นที่ว่างและบีบอัดได้สูงมาก
    • น่าจะปรับปรุงได้อย่างรวดเร็วด้วยเครื่องมือที่มีอยู่แล้ว โดยไม่ต้องถึงขั้นสร้างโค้ดेकอย่าง h.264 หรือโปรโตคอลอย่าง vnc ขึ้นมาใหม่
    • ขอให้สนุก!
  • แหล่งข้อมูลที่มีประโยชน์อื่น ๆ

สรุปโดย GN⁺

  • บทความนี้อธิบายวิธีใช้ Kindle เป็นจอ e-ink
  • ครอบคลุมขั้นตอนการเจลเบรก การตั้งค่า listener server และการจับภาพหน้าจอพร้อมแปลงภาพ
  • ยังมีช่องให้ปรับปรุงได้อีกมากในด้านประสิทธิภาพและการใช้งาน
  • น่าจะเป็นประโยชน์สำหรับคนที่อยากนำ Kindle ไปใช้งานแบบสร้างสรรค์
  • โปรเจ็กต์อื่นที่มีความสามารถคล้ายกันได้แก่ VNC หรือโซลูชัน remote desktop แบบต่าง ๆ

1 ความคิดเห็น

 
GN⁺ 2024-08-05
ความคิดเห็นจาก Hacker News
  • น่าจะน่าสนใจกว่านี้: ถ้าแชร์ด้วยว่าได้ทำบนแพลตฟอร์มอื่นอย่างไร ไม่ใช่แค่คอนเทนต์รูปแบบสั้น ก็น่าจะน่าสนใจกว่านี้
  • โปรเจ็กต์คล้ายกัน: เคยทำโปรเจ็กต์คล้ายกันชื่อ OK Monitor โดยใช้ HDMI
  • ทดสอบ Kaleido3: ช่วงไม่กี่วันที่ผ่านมาได้ทดสอบ Android + Kaleido3 สำหรับการใช้งานทั่วไป
    • Kaleido3 ใช้งานได้จริงมาก
    • ด้วย waveform รุ่นล่าสุดและอัลกอริทึม dithering ที่เหมาะสม ทำให้ดูวิดีโอได้ (อัตราเฟรมค่อนข้างสูง)
    • Termux มีคอมไพเลอร์/อินเทอร์พรีเตอร์ให้ จึงใช้เขียนโค้ดได้ด้วย
  • Termux-X11: ช่วยให้ใช้งานเดสก์ท็อป Linux แบบเนทีฟบนอุปกรณ์ Android ได้
    • จึงสามารถใช้เป็นคอมพิวเตอร์ที่ทำงานอยู่แล้วซึ่งฝังมาในแท็บเล็ตได้ โดยไม่จำเป็นต้องใช้งานจอ E-Ink เป็นอุปกรณ์มอนิเตอร์
  • การเจลเบรก Kindle: สำหรับคนที่อยากเจลเบรก Kindle ฟอรัม mobileread เป็นจุดเริ่มต้นที่ดี
  • วิดีโอเดโมที่สมบูรณ์แบบ: ขอบคุณสำหรับวิดีโอสาธิตที่สมบูรณ์แบบ
  • ไม่ต้องเจลเบรก: แค่ใช้เบราว์เซอร์ภายในของ Kindle เพื่อสตรีมภาพหน้าจอเดสก์ท็อปก็พอ
  • ราคาจอ E-Ink: สงสัยว่าจอ E-Ink จะมีโอกาสราคาถูกลงหรือไม่
    • สิทธิบัตรพื้นฐานกำลังจะหมดอายุ
  • วิธีที่ง่าย: ใช้เครื่องอ่าน Boox พร้อมแอป Superdisplay เป็นวิธีที่ง่าย
  • ความเร็วรีเฟรช: ยังไม่ชัดเจนว่าเร็วแค่ไหน แต่สำหรับ Kindle แล้วไม่น่าจะเร็วกว่า 0.5fps
  • Apple Books: ถ้าใช้ Apple Books บน Kindle ได้ ยอมจ่ายเป็นล้านดอลลาร์