Eğer ekranda kedi /dev/urandom > /dev/fb0
yakalayıp rastgele pikseller elde edebiliyorsanız , ihtiyacınız olan her şeye sahipsiniz.
Benim durumumda biraz metin bilgisi bırakmam gerekiyordu. Bunu meşgul kutusunda ve raspi'de test ettim, bu yüzden sizin için işe yarayabilir. Cevap biraz uzun olabilir çünkü bazı konsolları kullanmazsanız karakter piksellerini kendiniz yazdırmanız gerekecektir. Neyse ki biri zor işi yaptı, bu yüzden birleştirmeliyiz.
Meşgul kutusunda veya raspi'nizde bir fbset
ikili dosya bulunmalıdır . Bu, ayarlarınızı ekran boyutları olarak bulmanıza yardımcı olabilir.
Gömülü görünümüm şöyle:
# 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
Buradaki önemli kısım, genişlik 480 ve yükseklik 272 pikseldir.
Bahsettiğiniz gibi, ekranı yerine getirebilirsiniz.
cat /dev/urandom > /dev/fb0
ve ile temizleyebilirsiniz cat /dev/zeros > /dev/fb0
Ekranınızı temizledikten sonra, boyutları uygun şekilde alacağınızdan emin olmalıyız.
Şans eseri benim meşgul kutumda bir .ppm dosyası olarak giriş yapan bir fbsplash ikili dosyası vardı.
Yanılıyorsam düzelt, ancak fb0
bu formatı kabul ediyor gibi görünüyor . Vikipedi'deki Portable Anymap'a bir göz attığımızda , birkaç "alt biçim" vardır ... fbsplash renkli bir renk kullanır, vb. Sadelik adına ASCII'de kodlanmış P1'i kullanalım. Dikey bir çizgi basabilirsek boyutlarımızın doğru olduğunu bilirdik. Hadi deneyelim:
Ppm tipinde bir dikey çizgi P1 şöyle görünmelidir:
P1
480 272
f 0 0 0 0 ... 0
f 0 0 0 0 ... 0
...
f 0 0 0 0 ... 0
Yani, 952 karakter genişliğinde 272 satır olacak. Belgeler, meşgul kutusunda f ... yerine 1 olması gerektiğini söylüyor ve raspi f daha parlaktı.
0'lı yıllardan sonra yeriniz olmaması önemlidir ... Bu görev biraz sıkıcı olabilir ... Size yardımcı olacak bir metin editörü kullanmanız daha iyi olabilir. Vim'de, ilk iki satırı kopyalayabilirsiniz, aşağıdaki karakterleri yazmak yerine komut moduna (esc) gidin:
of(esc)479a 0(esc)yy271p
Tabii ki, boyutlarımı kullanıyorum, sizinkini kullanmalısınız. Cat bu dosyayı /dev/fb0
gibi görünmeli:
Tamam, hile yapıyorum ... orada sadece bir satır değil ... yaklaşık 8 ... ama işe yaramadığında (yanlış boyutlarımız var ya da sonunda yerimiz var, sadece bir satır olması çok Daha kolay).
Eğer o kadar uzaktaysan, sadece karakter olarak görmek için doğru pikselleri basmamız gerekir. Marcel Sondaar ve GitHub'daki deposu sayesinde, her bir grafiği çizmemize gerek kalmayacak.
Küçük bir çimdik biriyle yazdırmak için onun basit programı genişletmek f
yerine X
ve 0
her Char arasındaki boşluklar eklemek yerine boşluk başlığını ekleyin ve biz onun charCode gelen harfiyle bir Ppm dosyası var.
Küçük bir adım daha ileri gidersiniz ve girdi olarak bir karakter elde edemezsiniz, bir satır. Bir dosya yakalayın, programınıza yönlendirin ve çıktı /dev/fb0
alın ve bir metin çıktısı alın:
Ahududu pi üzerinde de bu çözümü test ediyorum ve işe yaradı. Sistem bana 2'den fazla bağlantı gönderecek bir üne sahip olmadığımı söylüyor. Bunu alana kadar, sözlerime güvenmelisin: D