Skip to content

Openframe User Guide

Jonathan Wohl edited this page Jan 1, 2017 · 17 revisions

A quick note before you start...

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.

1. Create a user account

Go to openframe.io/create-account to create a new user account.

2. Setup a frame

Although technically it can run on any computer, Openframe is developed for the Raspberry Pi.

Requirements
  • 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

2.0 Initial setup

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).

  1. Insert the SD card, WiFi dongle, and connect the monitor, keyboard and mouse.
  2. Plug in the Pi, and follow the directions on screen, selecting Rasbian.
  3. Once the installation finishes, the Pi will reboot and open to the configuration screen.
  4. 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'.
  5. Select your timezone in Internationalisation Options > Change Timezone
  6. If you wish, change your password (the default password is raspberry)
  7. Select 'Finish', then 'Yes' when it asks about rebooting.
  8. When the Pi reboots, login with the root user (pi) and password (raspberry, unless you changed it).
Setup WiFi
  1. 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.
  2. 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.
  3. 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'.

2.1 Install Openframe

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.

2.2 Start the frame

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)

3. Display artwork

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).

3.1 Formats

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.

3.2 The Stream

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.

3.3 The Collection

The Collection contains artwork that you've added, or you've liked from the Stream.

Adding artwork to the Collection

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.
Adding Shader Artwork

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.

3.4 Rights

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.

4. Extensions

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

4.1 How to install an extension

Documentation coming soon!

4.2 How to create an extension

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!

5. Other

5.1 Add a timer

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.

5.2 Change the rotation of the display

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°.

5.3 Adding a manager to a frame you own

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.

5.4 Resetting a frame

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.

5.5 Updating Openframe

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.

Clone this wiki locally