-
Notifications
You must be signed in to change notification settings - Fork 18
Openframe User Guide
This project is in an early state, and is under active development — we cannot promise everything will work 100%. Feedback and contributions are welcome!
Please post questions to the Google Group so that others may benefit! Specific software bugs can be submitted as Github issues in the appropriate repo.
Go to openframe.io/create-account to create a new user account.
Although technically it can run on any computer, Openframe is developed for the Raspberry Pi.
- Raspberry Pi 1, 2, or 3 w/ power adaptor
- HDMI monitor (or any monitor with an HDMI adaptor)
- SD card pre-flashed w/ NOOBS
- WiFi dongle
- Keyboard + Mouse
- HDMI Cable
If you're looking for a starter pack, this would work well: Starter pack
If you already have a Raspberry Pi setup with WiFi connected, jump to step 2.1 Install Openframe. People have reported issues using Raspbian Wheezy — we recommend using Jessie (from the latest NOOBS).
- Insert the SD card, WiFi dongle, and connect the monitor, keyboard and mouse.
- Plug in the Pi, and follow the directions on screen, selecting Rasbian.
- Once the installation finishes, the Pi will reboot and open to the configuration screen.
- If your RPi booted to Desktop, find Terminal in the Menu and type
sudo raspi-config
to access the configuration screen. We recommend booting the RPi to terminal: Select 'Boot Options' and select 'B2 Console Autologin'. - Select your timezone in Internationalisation Options > Change Timezone
- If you wish, change your password (the default password is raspberry)
- Select 'Finish', then 'Yes' when it asks about rebooting.
- When the Pi reboots, login with the root user (
pi
) and password (raspberry
, unless you changed it).
- After you're logged in at the command line, we'll start up the GUI in order to configure WiFi. At the command line type
startx
to launch the GUI. - Once the GUI is open, click the network icon in the upper right-hand corner, and select your WiFi network. Enter the password at the prompt, and connect.
- Assuming the WiFi has connected successfully, click 'Menu' on the upper left and select 'Shutdown', then select the 'Logout' or 'Exit to command line', and press 'Ok'.
In the command line, type: bash -c "$(curl http://openframe.io/install.sh)"
The installation takes around 20 minutes (could be longer on a slow connection). Follow the instructions at the end of the installation, you may need to restart the RPi.
Ready? Just type:
openframe
If it's the first time you start the frame, it will ask you for your username, a name for this frame, and if you want to boot into openframe automatically when the Pi starts. If you choose to autoboot (the default), holding 'n' during startup of the Pi will bring you to the command line instead of launching openframe.
You're now ready to start displaying artwork!
(While Openframe is running, you can exit with Ctrl+C, or Ctrl+W in web artworks)
(We recommend setting a timer so the frame goes to sleep at night. See how here)
Quick guide to send artwork to your frame:
- Go to openframe.io and login.
- Under the tab Collection, click the button Add artwork to add artwork to your collection by clicking. Then click the arrow button to push the artwork to your frame.
- You can also push artwork from the Stream (artwork uploaded by other users).
(If you'll be using your phone, we recommend adding the website to your homescreen).
Openframe currently supports three types of formats:
- Images (PNG, JPG, JPEG)
- Websites
- Shaders
If you'd like to add artwork with a different format (Processing, OpenFrameworks, etc.) you can create an extension to support this new format.
The Stream is a public repository of artwork that people have posted with the label public. You can like artwork from the Stream to add it to your Collection. Click the like button again to remove it.
The Collection contains artwork that you've added, or you've liked from the Stream.
Artwork added to Openframe requires an author, name, a URL where the artwork is hosted, and a URL for a preview (suggested width = 310px).
When adding new artwork, you can set it to be private (default) or public:
- Private: it will be added to your collection.
- Public: it will be added your Collection and to the Stream, everyone with a frame will be able to display it.
Shaders can be added via the Book of Shaders Editor. Create your shader, then select Export -> [o] in the top menu. This will add the shader to your collection.
Openframe doesn't store any artwork. Frames fetch artwork directly form the provided URL each time it's required to display it. Make sure you have the rights to the artwork you add and display using Openframe.
The artwork will be available as long as the content in the URL is available.
Openframe provides a baseline functionality that can be extended with extensions. An extension may be created to support a new artwork format, to add interactivity to the frame, etc.
extensions
(existing)
/images (installed by default, displays image-based artwork)
/websites (installed by default, displays web-based artwork)
/shaders (installed by default, displays shader-based artwork)
/videos (installed by default, displays video-based artwork)
(coming soon)
/gifs (installed by default, displays gif-based artwork)
/GPIO (supports GPIO pin communication for the frame and artwork)
/single-button-interface (user interface for the frame)
(other ideas)
/light-sensor (adjusts display brightness)
/openframeworks (displays OF-based artwork)
/etc
Documentation coming soon!
More documentation coming soon!
Extension are node modules which export an instance of the Extension class. The README for the Extension repo gives a bit of information about how Extensions work, and how to create them.
If you're interested, take a look at the extensions that are installed by default (openframe-image, openframe-website, openframe-glslviewer, and openframe-video) to get a sense of how they work in practice.
Keep in mind that Openframe is still in an early alpha state, and the way extensions are created and loaded will continue to evolve and improve!
If you want your frame to go to sleep at certain hours, edit crontab:
crontab -e
and add at the end of the file:
00 23 * * * vcgencmd display_power 0
30 7 * * * vcgencmd display_power 1
This will turn OFF the display of the frame at 23:00, and turn it ON at 7:30 in the morning. Change the values for different times. Learn more about crontab to setup different timer for different days of the week.
If you want to change the orientation from what has been set during the installation, edit the Raspberry Pi configuration file:
sudo nano /boot/config.txt
and edit/add the line:
display_rotate=1
0
is the display default (landscape). 1
will rotate the display by 90° counterclockwise. Use 2
for 180°, or 3
for 270°.
If you're a frame owner (i.e. you've created it using your username) you can add other users as managers. Managers will see another frame in their list of frames, and will be able to push artwork to it. They cannot edit the frame settings or delete it.
A frame can be reset to its default state — that is, a blank frame instance not yet attached to any particular account — by passing the -r
flag at startup (i.e. openframe -r
). This will erase the user and frame data stored on the RPi, and will prompt you once again for your username, password, and a name for the frame. Once a frame is reset, it's previous state cannot be restored (though this is generally not an issue... you'll just need to start pushing artwork to the new frame).
Resetting a frame will not remove it from your frame list in the web app; you will need to remove the instance of the old frame manually via the UI, under the frame's settings.
If you've already installed Openframe via the install script above, you can update the package using NPM directly:
npm install -g openframe
This will pull in the latest changes to the frame controller. We will also continue to make improvements to the install script itself —- you can re-install from scratch simply by re-running the install script.