Skip to content
This repository has been archived by the owner on Mar 29, 2024. It is now read-only.

Latest commit

 

History

History
55 lines (33 loc) · 2.45 KB

README.md

File metadata and controls

55 lines (33 loc) · 2.45 KB

Samsung photo frame control

A small Python application for controlling Samsung photo frames.

Based on the work of Grace Woo & others. One large difference is that my application adds an extra control message that prevents the photo frame from exiting mini display mode.

Features

  • If a photo frame is in mass storage mode, the program will change it into mini display mode.
  • If a photo frame is in mini display mode, the program will send the jpeg that was specified as the program argument to the photo frame. The JPEG must be prescaled to the exactly correct size!
  • window-in-frame.sh which shows a user selected application window in the photo frame (needs Imagemagick!)

Supported photo frames

  • SPF-107H (not tested)
  • SPF-87H
  • (In theory) Other similar Samsung photo frames should work once their product IDs are added into the code

Dependencies

Usage

Show JPEG image with the exactly correct size in photo frame

sudo ./frame-ctrl.py my_correctly_scaled_image.jpg

or

cat my_correctly_scaled_image.jpg | sudo ./frame-ctrl.py

Automatically scale an image and show it in the photo frame (needs Imagemagick). Replace 800x480 with the correct resolution for your device

cat some_image_supported_by_imagemagick | convert - -resize 800x480 - | montage - -background black -geometry 800x480 jpeg:- | sudo ./frame-ctrl.py

Show an application window in photo frame (needs Imagemagick). Replace 800x480 in window-in-frame.sh with the correct resolution for your device

sudo ./window-in-frame.sh and click on an application window to select it

FAQ

Can I use my photo frame as a mini monitor in Linux?

Nope. In theory it's possible but it would require an X driver that would repeatedly compress frames into JPEG format and send them to the photo frame. This is exactly what the Frame Manager software does in Windows.

Why do I need to use sudo?

libusb needs direct access to the usb device and unless you have set up permissions explicitly, you won't have access to the raw usb devices.