- Menggabungkan rendering, deployment, dan kontrol tampilan yang dibutuhkan saat membuat smart frame sendiri dengan fokus pada eksekusi di dalam perangkat, sehingga frame berbasis Raspberry Pi atau ESP32 dapat beroperasi secara mandiri
- Backend dapat dipasang secara lokal lewat Docker atau add-on Home Assistant, dideploy melalui SSH atau kartu SD yang telah di-flash, lalu frame tetap berjalan tanpa backend
- Scene dibuat sebagai graf node yang menghubungkan event, aplikasi data, aplikasi render, dan state, lalu hasilnya dikompilasi menjadi satu binary untuk dijalankan di frame
- Raspberry Pi mendukung deployment via WiFi pada Pi Zero 2 W atau yang lebih tinggi, TrueType font, SVG, dithering e-ink 6 warna, TLS, parsing iCal, screenshot Chromium headless, dan web server bawaan
- ESP32-S3 mendukung flash lewat browser, rendering di perangkat, update OTA, serta deep sleep di antara refresh untuk panel e-paper SPI Waveshare, tetapi image firmware hanya menyertakan satu driver panel yang dipilih
Peran FrameOS
- FrameOS adalah sistem operasi untuk membuat smart frame yang berjalan sendiri seperti kalender, dasbor, atau bingkai seni dengan menggabungkan Raspberry Pi atau ESP32 dan display
- Menargetkan display e-ink, HDMI, dan LCD, dengan rendering diproses di dalam perangkat
- Berjalan tanpa cloud dan langganan, serta tersedia sebagai open source gratis berlisensi AGPL-3.0 sejak 2023
- Backend dapat dipasang dengan Docker, dan repositori proyek tersedia di GitHub
Alur instalasi dan deployment
- FrameOS menyusun frame melalui alur pemasangan backend, penyambungan hardware, dan deployment scene
- Menjalankan backend di laptop, server, atau NAS dengan satu perintah, atau memasangnya sebagai add-on Home Assistant
- Menghubungkan Raspberry Pi atau ESP32 ke display
- Memilih scene siap pakai atau merancang sendiri lalu mendeploy-nya
- Backend berjalan sebagai aplikasi web lokal, bukan layanan berlangganan
- Deployment dilakukan melalui SSH atau kartu SD yang telah di-flash, dan setelah itu frame dapat berjalan mandiri tanpa backend
- Display dapat dihubungkan ke lebih dari 120 panel yang didukung, dan pada Raspberry Pi juga bisa menggunakan kabel HDMI
- Frame dikendalikan melalui QR code dan HTTP API bawaannya, sementara HTTP API untuk ESP32 masih bersifat eksperimental
Pengeditan scene dan cara eksekusi
- Scene disusun di editor visual yang ditopang oleh kode nyata
- Komposisi scene dibagi dalam bentuk graf node
- Merah: event
- Hijau: aplikasi data
- Biru: aplikasi render
- Kuning: state
- Scene yang telah disusun dikompilasi menjadi satu binary untuk dijalankan di frame
- Galeri terkurasi, kalender, jadwal, papan pesan, cuaca, webcam, dan scene AI art dapat dipasang dengan satu klik, lalu diedit hingga level source
Opsi Raspberry Pi dan ESP32
- FrameOS bekerja paling baik di lingkungan Linux nyata, dan menargetkan Raspberry Pi $15 Pi Zero 2 W atau yang lebih tinggi
- Di lingkungan Raspberry Pi, deployment dapat dilakukan lewat WiFi tanpa perlu mem-flash ulang firmware
- Pada frame berbasis Linux, fitur berikut dapat digunakan
- TrueType font dan SVG pada semua resolusi
- Dithering untuk e-ink 6 warna
- TLS
- Parsing iCal
- Screenshot Chromium headless
- Web server milik frame itu sendiri
- Jika menginginkan frame tanpa kabel, sistem dapat dijalankan pada ESP32-S3 untuk panel e-paper SPI Waveshare
- Konfigurasi ESP32-S3 mendukung flash lewat browser, rendering scene di perangkat, update OTA, dan operasi berbasis baterai melalui deep sleep di antara refresh
- Setiap image firmware ESP32 hanya menyertakan satu driver panel yang dipilih
Pembuatan casing dan contoh jadi
- FrameOS Case Maker membuat enclosure parametrik untuk cetak 3D yang disesuaikan dengan panel yang didukung dan layout Raspberry Pi
- Pengguna dapat memilih template, menyesuaikan kedalaman dan bezel, lalu menambahkan gantungan dinding, kickstand, potongan USB-C, dan pilar sekrup sebelum mengunduh STL
- Case Maker menggunakan basis data hardware yang sama dengan dokumentasi untuk menyediakan dimensi dasar konfigurasi Waveshare dan Pimoroni
- Case Maker dapat digunakan di Open Case Maker
- Contoh hasil jadi menampilkan panel Spectra 6 dari Waveshare dan Pimoroni, casing slim cetak 3D, daya USB-C, dan konfigurasi software FrameOS dalam satu paket
1 komentar
Komentar Hacker News
Proyek kecil yang menarik. Dua tahun lalu aku membuat bingkai Arduino eInk 7 warna sebagai hadiah, dan bagian tersulitnya adalah harus memotong gambar sendiri, melakukan dithering, dan menyesuaikan palet warna agar tampilannya lumayan bagus di layar
Kalau saja FrameOS yang menangani ini, sepertinya aku bisa menghemat beberapa jam waktu yang habis untuk pengeditan dan pengujian manual
Akhirnya tahun ini aku membelikan orang yang sama bingkai Aura karena menambahkan foto dari jarak jauh terlalu menyiksa
Kalau memakai sesuatu seperti bingkai Inky Impression 7 warna, ini sebenarnya sudah berjalan, karena kebanyakan perangkat lunak dan driver terkait memang sudah melakukan proses itu
Ini bisa sangat membantu untuk kios medis, seni digital, dan signage
Permintaan untuk seni digital di rumah sakit cukup besar. Aku pernah menjadi arsitek desain teknologi di SFGH dan UCSF, manajer implementasi teknologi di El Camino Hospital, serta direktur operasional TV Vizio
Aku pernah mengevaluasi, membeli, dan memasang sistem seperti ini beserta sistem wayfinding rumah sakit, dan bahkan menghabiskan ratusan ribu dolar untuk seni digital yang diputar berulang di layar lobi lift atau kamar pasien, tetapi perangkat lunaknya buruk sekali
Di lobi El Camino Hospital, sistem digital signage-nya sangat jelek sampai beberapa perangkat harus diganti dengan Mac Mini agar VLC bisa memutar MP4 secara loop
Karena itu, menurutku sistem seperti ini akan bagus jika dipakai bersama Pi Zero
Bahkan wayfinding tampaknya bisa diimplementasikan dengan elegan memakai ini. Kalau yang dimaksud dengan “interaktif” adalah bisa menjalankan web app/app di Pi, lalu saat idle kembali ke pemutaran loop seni digital, itu akan bagus
Pasar seni digital, signage, dan wayfinding butuh proyek pendatang baru yang berani untuk mengguncang pasar ini. Kalau saat itu Pi sudah ada, sepertinya aku akan langsung memakainya
Aku penasaran apakah ini bisa dipasang juga di tablet Android TCL murahan yang kudapat dari T-Mobile. Menarik juga kalau kontrol lampu Feit Electric ikut dilihat
Pilihan paling menguntungkan untuk perangkat/OS seperti ini tampaknya adalah signage informasi transportasi untuk transportasi regional seperti BART. Kuncinya adalah membuatnya sehingga orang yang paling tidak paham teknologi di dalam organisasi pun bisa memasang, mengatur, dan menampilkan tanpa salah
Transportasi regional Sacramento punya banyak layar, tetapi hampir tidak ada informasi berguna di sana
Kalau naik kereta di APAC, ada layar LCD di dinding atas yang menampilkan peta status. Kalau naik kereta di Amerika, yang ada di dinding atas hanya urine dan feses, sementara peta status tidak ada di mana-mana
Rasanya gila melihat uang dibuang seperti ini di Amerika, sementara di jalanan ada orang yang mengemis makanan
Ini mengingatkanku pada Chumby. Produk itu punya potensi besar sekali, tetapi ditinggalkan terlalu cepat
Ada banyak tempat di rumah yang bisa memakai layar yang pintar, bisa dikendalikan, dan mudah diutak-atik dengan low-code, tetapi aku hampir tidak punya waktu untuk menelitinya sendiri. Senang sekali melihat proyek ini hari ini
.pngatau.jpegdari URL webhttps://shop.invisible-computers.com
Bisa dapat layar yang terang, dan apa pun yang ingin kulihat tinggal perlu bisa tampil di web browser
Keren sekali. Tahun lalu aku membuat sekumpulan skrip untuk bertukar gambar e-ink lewat Gmail dan menamainya DispatchPi, dan kalau program seperti ini sudah ada saat itu, pengembangannya pasti akan jauh lebih cepat
https://github.com/malcolmosh/dispatchPi/blob/main/README.md
Selama ini aku harus selalu SSH ke Pi lewat terminal, lalu memperbarui skrip dengan klien FTP FileZilla dan VSCode, jadi cukup merepotkan
Aku juga baru menyelesaikan proyek dashboard dan berencana merilisnya segera, dan sedang mempertimbangkan mengganti driver bingkainya ke ESP32 agar bisa berjalan dengan baterai. Soalnya ESP32 mengonsumsi daya jauh lebih sedikit daripada Pi Zero
Kalau ada waktu, aku mendukung kompatibilitas ESP32
Daripada mencoba menampilkan gambar acak dengan library ESP, ternyata lebih mudah dan lebih andal menyesuaikan gambar ke ukuran dan format tertentu sebelum dikirim ke ESP32/layar
Gambar pertama di halaman itu adalah editor, dan wow, benar-benar luar biasa. Ada bagian ini dalam penjelasannya
“Diagram Editor: antarmuka drag-and-drop untuk menyusun aplikasi Nim menjadi adegan. Bisa mem-fork dan memodifikasi aplikasi yang sudah ada seperti ‘OpenAI image’ dan ‘Text overlay’ agar sesuai kebutuhan. Semua field dapat dioverride dengan potongan kode inline.”
Kelihatannya benar-benar rapi. Rasanya pasti butuh pekerjaan dalam jumlah besar. Saya penasaran dibuat dengan apa, dan juga penasaran apakah editornya ditulis dengan Nim
Setelah menulis adegan, saya juga penasaran apa yang sebenarnya dijalankan. Apakah ini menjalankan runtime yang mirip editor tapi dengan mode presentasi, atau mengeluarkan program Nim baru untuk menjalankan program-program Nim lain, saya tidak tahu
Saya juga penasaran apakah aplikasinya dipanggil sekali per kesempatan, atau terus berjalan dan berkomunikasi secara persisten. Saya juga ingin tahu apa yang memicu awal frame, dan bagaimana komposisinya dilakukan
Terasa seperti, meskipun dipakai untuk smart frame, sebenarnya mereka telah membuat sistem pemrograman berbasis alur serbaguna yang sangat keren
Editor/kontrolernya sendiri adalah aplikasi React+Kea, dan bagian diagramnya memakai React Flow sementara backend-nya Flask
Saat ini, untuk menguji apakah aplikasi yang dibuat bekerja, Anda harus men-deploy ke frame. Jika memakai RPi 5 yang cepat untuk pengujian, loop umpan balik biasanya sekitar 30 detik, Zero W2 sekitar 1 menit, dan Zero W sekitar 2 menit. Ini tidak ideal jadi ingin saya perbaiki
Idealnya saya ingin memakai backend JS milik Nim untuk membuat “frame” yang bisa langsung dijalankan di browser untuk pengujian
Untuk menjawab pertanyaan lain, sistem FrameOS berjalan saat boot dan semua aplikasi dikompilasi menjadi satu biner yang dijalankan sesuai instruksi adegan. Saat event render dikirimkan, frame baru akan dirender, dan event ini bisa terjadi otomatis secara berkala atau berdasarkan permintaan
Frame mengirim log ke kontroler, tetapi selain itu dapat beroperasi sepenuhnya secara mandiri
Sunting: saya salah, ternyata sebenarnya React Flow
https://github.com/FrameOS/frameos/blob/037af53e94a3b47ce5df...
https://reactflow.dev/
Kelihatannya sangat menarik. Apakah benar memahami ini sebagai bukan OS sungguhan, melainkan perangkat lunak yang berjalan di atas OS Pi
FrameOS adalah biner hasil kompilasi yang berjalan di atas Linux. Saat ini Anda perlu memasang “Raspberry Pi OS Lite” tanpa lingkungan desktop ke kartu SD sebelum memasang FrameOS sendiri. Jadi bisa dianggap sebagai “sekadar aplikasi”
Namun ini karena proyeknya masih tahap awal dan itu cara tercepat untuk memulai. Langkah berikutnya adalah melihat seberapa banyak yang bisa dihilangkan. FrameOS adalah satu biner statis terkompilasi, jadi mungkin tidak butuh banyak selain kernel Linux. Kalau begitu, apakah itu menjadi OS sungguhan? Android juga memakai kernel Linux tetapi dianggap sebagai OS tersendiri
Saat aktif, FrameOS mengambil alih seluruh sistem, memiliki folder
apps/dandrivers/sendiri, dan dalam banyak hal sudah berperilaku seperti sistem operasi. Saya juga sedang mempertimbangkan menjalankannya di ESP32, dan mungkin perlu menambahkandrivers/wifi/. Jika ia berjalan tanpa OS apa pun di bawahnya, apakah saat itu layak disebut OS? Biar kalian yang menentukannyaJika Anda bertanya apakah ini sistem operasi, bagi saya iya, tetapi tidak masalah jika Anda melihatnya berbeda
Di pekerjaan saya yang sebenarnya di PostHog, kadang mereka menyebut diri sebagai “Product OS”, dan itu terasa lebih mengganggu. Karena kumpulan web app jelas bukan sistem operasi dalam arti tradisional. Saya juga pernah melihat hal-hal non-OS murni diberi akhiran -OS. Agak mengganggu, tetapi terutama karena saya hidup di masa ketika “pakai OS apa?” adalah pertanyaan yang menentukan identitas
Bahasa terus berubah, dan “sistem operasi” sekarang tampaknya merujuk pada lebih banyak hal, tergantung siapa yang memikirkannya, daripada yang saya atau Anda bayangkan
FrameOS memakai Nim, jadi bisa di-port agar berjalan bare metal tanpa kernel. Berkat dispatch asinkron, Nim juga menyediakan multitasking kooperatif yang ringan
Saat ini FrameOS bisa dilihat sebagai OS yang hanya berjalan di atas kernel Linux, atau jika mau, sebagai user space. Tetapi tidak ada alasan mengapa ini tidak bisa di-port agar berjalan langsung di mikrokontroler
Kelihatannya keren. Saya memang ingin menyiapkan layar e-ink bersama Home Assistant, jadi saya akan mengecek ini
Di tulisan “Why FrameOS” ada foto yang tampak seperti layar e-ink yang menampilkan dasbor Home Assistant, dan di bawahnya tertulis “tapi sisi perangkat lunaknya berantakan”. Saya penasaran masalah apa tepatnya yang ada sebelum membuat FrameOS. Setidaknya dari fotonya, kelihatannya berfungsi dengan baik
Saya juga penasaran apa maksud kalimat ini sebenarnya: “GPT4 Support: Minta LLM favorit Anda menulis dan men-debug aplikasi FrameOS.”
Begitu melihat ini, saya merasa ini menegaskan tren bahwa aplikasi baru ke depan akan memasukkan integrasi LLM sejak awal. Rasanya memang tidak ada alasan untuk tidak melakukannya. Jika digunakan dengan benar, LLM bisa sangat meningkatkan pengalaman pengguna di hampir semua aplikasi
Semacam lelucon bahwa tidak perlu membuat sesuatu seperti AI sosial otonom berbasis blockchain untuk cloud yang laku keras di pasar private equity belakangan ini
Apakah ada alternatif bagus agar tablet Amazon Fire lama tidak berakhir jadi limbah elektronik? Basisnya Android
Secara pribadi, saya memakai tablet Amazon Fire di rumah sebagai driver audio untuk Snapcast. Tiap tablet punya USB, Wi-Fi, Aux 3,5 mm, dan baterai internal, jadi sangat cocok untuk penggunaan ini, apalagi saat diskon harganya hanya 45 dolar per unit
Tanpa bootloader yang sudah dibuka, Android mungkin masih bisa di-root, tetapi Android atau ROM itu sendiri tidak bisa diganti
Lagi pula itu juga tidak terlalu berarti. Karena ini MediaTek, struktur partisi dan model driver dari era itu umumnya berantakan. Akan sulit membuat FrameOS berjalan dengan wajar dan elegan di perangkat keras seperti itu
Sangat keren. Ada banyak proyek yang mencoba meniru hal serupa, tetapi sangat sedikit yang punya tingkat kematangan seperti ini, terutama di sisi pembuatan
Secara pribadi saya berharap ada dukungan untuk perangkat eINK hemat daya dengan ESP32 bawaan seperti seri InkPlate. Meski begitu, melihat ini membuat saya berpikir untuk beralih ke Pi
Ruang kosongnya mungkin akan sangat sempit dan beberapa fitur seperti threading kemungkinan harus dipangkas, tetapi secara teori seharusnya bisa dijalankan
Hanya saja masih banyak pekerjaan untuk membuat versi Raspberry menjadi benar-benar bagus, jadi saya tidak berencana menangani pekerjaan itu dalam waktu dekat
Senang melihat lebih banyak perangkat lunak muncul di bidang seperti ini
Sedikit terkait, saya sedang mencari layar 32 inci atau lebih yang bisa dipakai sebagai bingkai foto. Selain Samsung The Frame, saya belum menemukan produk lain, dan itu cukup mengejutkan untuk use case sesederhana ini
Sejauh ini hanya itu yang saya temukan. TV dan monitor konsumsi dayanya kurang bagus kalau dibiarkan menyala 24 jam. e-ink berwarna biasanya mentok di sekitar 13 inci. Samsung The Frame punya fitur dan tampilan yang bagus, tetapi mahal, dan juga punya kekurangan karena itu Samsung
Saya penasaran apakah ada produk yang layak direkomendasikan