-
ใช้ 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 ความคิดเห็น
ความคิดเห็นจาก Hacker News
mobilereadเป็นจุดเริ่มต้นที่ดี