- Notifications
You must be signed in to change notification settings - Fork9
Operating system for single function smart frames
License
FrameOS/frameos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
FrameOS is anoperating system for single function smart frames.
It's meant to be deployed on a Raspberry Pi, and can be used with a variety of e-ink and traditional displays. It's designed for both screens that update60 seconds per frame, and for screens that update60 frames per second.
Think smart home calendars, meeting room displays, thermostats, industrial dashboards, public advertisement screens, and more.
To get started:
Install theFrameOS backend, a dockerized python app, which is used to deploy apps onto individual frames via SSH.
Read thedevice hardware guide for your screen type. Typically you'll just need to connect the display to a Raspberry Pi, install the OS, and make sure it's reachable over the network.
Once connected, deploy our prebuilt scenes, or code your own directly inside the backend.
Finally, for a professional look, 3d print a case around your frame.
Supported are all the most common e-ink displays out there.
- Pimoroni e-ink frames
- Waveshare e-ink
- Framebuffer HDMI output
- Web server kiosk mode
The FrameOS backend is where you set up your frames. You can run it continuously on a server, or locally on your computer when needed. You'll just miss out on log aggregation if the backend is offline. The frames run independently.
Read more inthe documentation.
The easiest way to install the FrameOS backend on a Mac or Debian/Ubuntu Linux is to run the following installation script:
curl -fsSL https://frameos.net/install.sh| bash
# running the latest releaseSECRET_KEY=$(openssl rand -base64 32)mkdir dbdocker run -d -p 8989:8989 -v ./db:/app/db --name frameos --restart always -e SECRET_KEY="$SECRET_KEY" frameos/frameos# update daily to the latest releasedocker run -d \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --interval 86400 \ frameos# one time updatedocker run \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once \ frameos# running a local dev build via dockerSECRET_KEY=$(openssl rand -base64 32)docker build -t frameos.docker run -d -p 8989:8989 -v ./db:/app/db --name frameos --restart always -e SECRET_KEY="$SECRET_KEY" frameos