หากคุณสามารถแมว/dev/urandom > /dev/fb0
และรับพิกเซลสุ่มบนหน้าจอคุณมีทุกอย่างที่คุณต้องการ
ในกรณีของฉันฉันจำเป็นต้องถ่ายโอนข้อมูลข้อความ ฉันทดสอบมันใน busybox และ raspi ดังนั้นมันอาจใช้ได้ผลสำหรับคุณ คำตอบอาจยาวไปหน่อยเพราะถ้าคุณไม่ใช้คอนโซลคุณจะต้องพิมพ์พิกเซลของตัวอักษร โชคดีที่มีคนทำงานหนักเราจึงต้องรวมมันเข้าด้วยกัน
ใน busybox หรือใน raspi ของคุณคุณควรมีfbset
เลขฐานสอง นี่อาจช่วยให้คุณค้นพบการตั้งค่าของคุณเป็นขนาดหน้าจอ
ในตัวฉันมีลักษณะเช่นนี้:
# fbset
mode "480x272-1"
# D: 0.104 MHz, H: 0.207 kHz, V: 0.657 Hz
geometry 480 272 480 272 16
timings 9600000 3 3 0 32 17 11
accel false
rgba 5/0,6/5,5/11,0/0
endmode
ส่วนที่สำคัญคือความกว้าง 480 และความสูง 272 พิกเซล
ตามที่คุณกล่าวถึงคุณสามารถเติมเต็มหน้าจอด้วย
cat /dev/urandom > /dev/fb0
และคุณสามารถล้างมันด้วย cat /dev/zeros > /dev/fb0
กว่าล้างหน้าจอของคุณเราจะต้องมั่นใจว่าคุณได้รับมิติอย่างถูกต้อง
โดยบังเอิญ busybox ของฉันมีไบนารี fbsplash ที่ได้รับเป็นอินพุตไฟล์. ppm
ถูกต้องหากฉันผิด แต่ดูเหมือนว่าfb0
จะยอมรับรูปแบบนี้ ลองดูที่Portable Anymap บน Wikipediaมี "subformats" หลายรูปแบบ ... fbsplash ใช้รูปแบบที่มีสีสันและอื่น ๆ ... แต่เราต้องการที่จะพิมพ์สิ่งที่อ่านได้ ลองใช้รหัส P1 ใน ASCII เพื่อความเรียบง่าย หากเราสามารถพิมพ์เส้นแนวตั้งเราจะรู้ว่าขนาดของเราถูกต้อง มาลองดูกัน:
เส้นแนวตั้งในประเภท ppm P1 ควรมีลักษณะดังนี้:
P1
480 272
f 0 0 0 0 ... 0
f 0 0 0 0 ... 0
...
f 0 0 0 0 ... 0
ดังนั้นจะมี 272 บรรทัดกว้าง 959 ตัวอักษร เอกสารบอกว่าควรเป็น 1 แทนที่จะเป็น f ... บน busybox และ raspi f นั้นสว่าง
เป็นสิ่งสำคัญที่คุณจะไม่มีที่ว่างหลังจาก 0 ของ ... งานนี้อาจค่อนข้างน่าเบื่อ ... คุณควรใช้โปรแกรมแก้ไขข้อความที่ช่วยคุณได้ดีกว่า ในเสียงเรียกเข้าคุณสามารถคัดลอกสองบรรทัดแรกไปที่โหมดคำสั่ง (esc) กว่าพิมพ์ตัวอักษรต่อไปนี้:
of(esc)479a 0(esc)yy271p
แน่นอนฉันกำลังใช้มิติของฉันคุณควรจะใช้ของคุณ วางไฟล์นี้ลงไฟล์/dev/fb0
ควรมีลักษณะดังนี้:
โอเคฉันกำลังโกง ... มันไม่ใช่แค่หนึ่งบรรทัดที่นั่น ... มันประมาณ 8 ... แต่เมื่อมันไม่ทำงาน (เรามีมิติที่ผิดหรือเรามีที่ว่างตอนท้ายเพื่อที่จะมีเพียงหนึ่งบรรทัดมาก ได้ง่ายขึ้น)
ถ้าคุณไปไกลขนาดนั้นเราเพียงแค่พิมพ์พิกเซลที่ถูกต้องเพื่อดูเป็นตัวอักษร ขอบคุณMarcel Sondaar และ repo ของเขาบน GitHubเราไม่จำเป็นต้องวาดถ่านแต่ละอัน
ด้วย tweak ขนาดเล็กหนึ่งขยายโปรแกรมง่าย ๆ ของเขาที่จะพิมพ์f
แทนX
และ0
แทนที่จะเป็นช่องว่างให้แทรกช่องว่างระหว่างตัวละครแต่ละตัวเพิ่มส่วนหัวและเรามีไฟล์. ppm ที่มีตัวอักษรที่เกี่ยวข้องกับรหัสของมัน
อีกหนึ่งขั้นตอนต่อไปและคุณจะไม่ได้รับตัวอักษรตัวใหญ่ แต่เป็นตัวอักษร วางไฟล์, ไพพ์เข้ากับโปรแกรมและเอาท์พุทของ/dev/fb0
คุณและคุณจะได้รับข้อความ:
ฉันทดสอบวิธีนี้ด้วยราสเบอร์รี่ปี่และมันก็ใช้งานได้ ระบบบอกฉันว่าฉันไม่มีชื่อเสียงในการโพสต์ลิงก์มากกว่า 2 ลิงก์ จนกว่าฉันจะได้รับสิ่งนี้คุณจะต้องพึ่งพาคำพูดของฉัน: D