Giter Site home page Giter Site logo

mrworf / photoframe Goto Github PK

View Code? Open in Web Editor NEW
218.0 24.0 38.0 1.9 MB

Software to pull random photos from Google Photos and show them, like a photo frame

License: GNU General Public License v3.0

Python 51.53% HTML 3.40% PHP 0.62% Shell 1.15% JavaScript 42.09% CSS 0.57% C 0.63%
photo-frame google-photos rpi3 rpi rpi-zero-w fbtft

photoframe's People

Contributors

jlrgraham avatar leogaube avatar me-ayush avatar merlynkline avatar mrworf avatar tester-testsson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

photoframe's Issues

Problem with new GooglePhotos Provider

I went through your (very well documented!) "How to create an authorization file" for GooglePhotos and added the authorization to PhotoFrame, but nothing was displayed. No pictures were found:
DebugTrace.txt

Thanks for your great app and your help!

Issue with boot

Hi I'm really new to raspberry use. I found our picture frame project and it looked very easy for me to do. I have burned the image to my sd card and booted the pi zero W. I have let it run for upto 30 mins at the first boot i'm using a 32gb sd card. It powers on and my screen show that it's receiving data, but I'm not getting anything displayed on it. I can' proceed to the next step. Can you please help me?

500 Internal Server Error

I'm getting a 500 "Internal Server Error" at the end of the OAuth process (after I authorize in Google) connecting to Google Photos, after following the directions listed. Any idea where I might be going wrong?

I am on release 1.2.0 on Raspberry Pi 3 B+.

Thanks!

-Mike

Rotate the "slideshow"...

Hi! Thank you for this nice setup!
I'm currently trying to set up my second frame. But I want to use it in portrait mode.
I have rotated the display in the config.txt. I know that it's correct. I have other RPis with the same function but not using them as a photoframes (rotating the display 270 degrees with "display_rotate=3").

However the "slideshow" still displays the picture as if it where in landscape mode.
Is there a way to define a new "screen mode" (720x1280) somehow?
All options available in the WebGUI is in landscape mode.

Best regards Erik

Compatibility with Raspberry Pi Zero (WH)?

Hi,
I want to know if photoframe is compatible also with Raspberry Pi Zero? Has someone tried it? Or is there something in this build that makes it exclusively available for Raspberry Pi 3?

Edit: I should add I am also referring to the ready build under releases.

Error after OKing sensenet to access google photos

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "/usr/lib/python2.7/dist-packages/flask_httpauth.py", line 93, in decorated
return f(*args, **kwargs)
File "./frame.py", line 419, in oauth_step3
oauth.complete(request.url)
File "/root/photoframe/modules/oauth.py", line 109, in complete
client_secret=self.oauth['client_secret'],
KeyError: 'client_secret'

Images sometimes resized incorrectly

Images are sometimes expanded and cropped unnecessarily. I have observed this in several cases, e.g. when the image retrieved is 1803x1080px for display on a 1920x1080px display.

I believe this is caused by a bug in the static method makeFullframe() in modules/helper.py, triggered when the retrieved image is very close to the size of the display. In the cited example, where the image is 1803x1080px, it is not true that adjHeight < displayHeight so we end up with padding between 20 and 60 so zoomOnly is forced to True, causing convert to be called with -resize ^1920x1080. This expresses minimum dimensions so the width is expanded to 1080 and the height is therefore expanded and then cropped to keep the aspect ratio.

I have noticed this because I am using my simpleUrl service to fetch images from my own local server, which delivers them pre-sized to fit the frame. It also writes some descriptive text in the top right corner of the image, which is cropped in these cases. Otherwise these minor crops would probably go unnoticed.

There is likely a better algorithm for resizing images to handle near-fits such as this more gracefully, probably just doing nothing. I intend to give this some thought and submit a patch when I get the opportunity, if nobody else gets there first.

Photoframe configuration page not loading

New to GitHub. Love this project idea! Attempting it on a Raspberry Pi 1 with Edimax WiFi dongle. Followed all the steps and everything works up until I click "Allow" to allow sensenet.nu access to my google account. I am directed to a static page (https://photoframe.sensenet.nu/?state=<?php%.......etc) that loads the attached code. I'm not a php developer so I can't make a lot of sense of it. Not sure if this is where I post this problem because it sounds like a niche issue, but I would love to get this running! Any advice?

Thanks!

photoframe.sensenet.nu.txt

Connection Issue

Seems to be the same as Issue #22. I suppose going into the FAQ to setup my own service would get around this problem?

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "/usr/lib/python2.7/dist-packages/flask_httpauth.py", line 93, in decorated
return f(*args, **kwargs)
File "./frame.py", line 414, in oauth_step1
return redirect(oauth.initiate())
File "/root/photoframe/modules/oauth.py", line 89, in initiate
self.rid = self.getRedirectId()
File "/root/photoframe/modules/oauth.py", line 85, in getRedirectId
r = requests.get('%s/?register' % self.ridURI)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 487, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPSConnectionPool(host='photoframe.sensenet.nu', port=443): Max retries exceeded with url: /?register (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

Add transitions

First of all, thanks for such a great photoframe software. Was super-easy to set up and now I can finish my photoframe build. I have a current photoframe that I am using with windows XP and an ancient google screensaver. I have kept using it because it has the 'Ken Burns effect' -dissolve between pictures, zoom and pan-as a transition which is a really elegant way to deal with multiple resolutions and aspect rations.

I am not sure a Raspberry Pi has enough video processing oomph to do that but even a simple dissolve would be a nice addition.

issues with Google Photo Api

Hi ! Thanks for the update ! I moved to google photo api, however, there are some issues occurs, sometimes the frame stuck on an image, and some time it stuck on a black screen, then I have to reboot and after that awhile happens again.

I have around 25 albums , each one have around 200 photos (some photos shared in multiple albums) , I tried to remove some of them and stays on fewer albums but it still happening ? Are there any specific rules for the albums using this api ? I used these albums on the previous api with no problems.

Thanks again

Contributed photos do not appear

I created an Google Photo album called "TestPhotoFrame" for example. I then used the keyword "TestPhotoFrame" in your software, which was able to find all the photos i had put in the album. I then added a contributor to that album. The contributor added their own photos to that same album and yet they do not show up under that keyword. It appears google doesn't add that "tag" to photos contributed to an album.

Is there a way to either allow me to point the software to one specific album or to get the contributed photos to show up?

Also it would be nice to add a button to force it to sync with google photos.

Finally, is there a limit to the number of photos? I assume this downloads all the photos from the album and then displays them or does it load each photo from the web each time?

Photos from Google not really random

Thanks for the enhancement. I've played around adding some albums and it really looks great.

When I'm just using the "latest"-keyword, the infinite wisdom of Google's AI keeps repeating some images instead of showing all of them just once in a random order. I'm not sure, if you have any chance to change this behaviour.

Maybe there's a way to configure Google to display just all photos independent of any album assocication? That could be the PhotoFrame default configuration, if no album name is given.

Select albums to display

Selection to display all images from an album or list of albums. This would make it easier to create a specifically curated set of pictures to show on the frame.

Keyword only allows existing Albums

I have forced an update to get the most recent changes, clearly you have spent a great deal of time improving photoframe - Thank you.

It appears that the keywords now only accept album names that match the name (spelling, not case)of an existing album. In the prior version, with Picasa, any search word was possible. When there is no match the UI (browser) hangs until I do a refresh - which basically removes the entered search value and then the preview and the actual display show message indicating no albums were specified.

Logs:
~/photoframe# ./frame.py --debug
2019-01-08 09:24:16,662 - DEBUG - Found "/boot/http-auth.json", loading the data
2019-01-08 09:24:16,726 - DEBUG - Internal display: {'3d_modes': [], 'width': 8, 'rate': 60, 'code': 1, 'mode': 'INTERNAL', 'scan': '(internal)', 'aspect_ratio': '', 'reverse': True, 'depth': 16, 'height': 8}
2019-01-08 09:24:17,872 - INFO - ColorSensor not available
2019-01-08 09:24:17,875 - DEBUG - hourOn = 4, hourOff = 22
2019-01-08 09:24:17,876 - DEBUG - Powermode changed to 'none'
2019-01-08 09:24:32,417 - INFO - Starting presentation
2019-01-08 09:24:49,262 - DEBUG - Query Google Photos for album named "yellow"
2019-01-08 09:24:49,268 - DEBUG - Invoking 0 protected resource request hooks.
2019-01-08 09:24:49,270 - DEBUG - Adding token {u'access_token': u'xxxx', u'expires_in': 3600, u'expires_at': 1546958244.58698, u'token_type': u'Bearer', u'scope': [u'https://www.googleapis.com/auth/photoslibrary.readonly'], u'refresh_token': u'yyyy'} to request.
2019-01-08 09:24:49,271 - DEBUG - Requesting url https://photoslibrary.googleapis.com/v1/albums using method GET.
2019-01-08 09:24:49,272 - DEBUG - Supplying headers {u'Authorization': u'xxxxx'} and data None
2019-01-08 09:24:49,273 - DEBUG - Passing through key word arguments {'allow_redirects': True, 'params': {'pageSize': 50}, 'stream': False}.
2019-01-08 09:24:49,311 - DEBUG - Starting new HTTPS connection (1): photoslibrary.googleapis.com
2019-01-08 09:24:50,258 - DEBUG - https://photoslibrary.googleapis.com:443 "GET /v1/albums?pageSize=50 HTTP/1.1" 200 None
2019-01-08 09:24:50,287 - DEBUG - Album: Fireworks
2019-01-08 09:24:50,288 - DEBUG - Album: Utah
2019-01-08 09:24:50,288 - DEBUG - Album: SingleShot
2019-01-08 09:24:50,289 - DEBUG - Album: Vail Gold Club
2019-01-08 09:24:50,290 - DEBUG - Album: Vail 2010
2019-01-08 09:24:50,293 - DEBUG - Invoking 0 protected resource request hooks.
2019-01-08 09:24:50,294 - DEBUG - Adding token {u'access_token': u'xxxxxx', u'expires_in': 3600, u'expires_at': 1546958244.58698, u'token_type': u'Bearer', u'scope': [u'https://www.googleapis.com/auth/photoslibrary.readonly'], u'refresh_token': u'yyyyy'} to request.
2019-01-08 09:24:50,295 - DEBUG - Requesting url https://photoslibrary.googleapis.com/v1/sharedAlbums using method GET.
2019-01-08 09:24:50,296 - DEBUG - Supplying headers {u'Authorization': u'xxxx'} and data None
2019-01-08 09:24:50,297 - DEBUG - Passing through key word arguments {'allow_redirects': True, 'params': {'pageSize': 50}, 'stream': False}.
2019-01-08 09:24:50,307 - DEBUG - Starting new HTTPS connection (1): photoslibrary.googleapis.com
2019-01-08 09:24:50,878 - DEBUG - https://photoslibrary.googleapis.com:443 "GET /v1/sharedAlbums?pageSize=50 HTTP/1.1" 200 None

Note the search for "yellow" on the googlephotos webpage does show a few pictures.

Hopefully search using any keyword can be repaired. The ability to find a person across all albums is a nice feature

Show IP on boot

Once the frame has booted up and network is available, the frame should show the local IP for 30s before beginning the slideshow. Solves the issue of not knowing where to connect when using WiFi and having configured it :)

Power saving with schedule only (without sensor)

I'm trying to make the frame turn Off at 2 A.M and On at 8 A.M without using the sensor, like this:

screen shot 2018-12-31 at 7 38 09 pm

However, the function doesn't work properly , I tried different times and sometimes it works fine. it looks like if the turn off time is at "A.M" (or maybe if both times in A.M) it won't work, would you please take a look on that. Thanks again :)

Use OpenFace to do better zoom

Bluring the original image and placing it in the background is all well and fine when the image won't fill the screen. But it would be really awesome to detect faces and zoom while keeping them in-view whenever possible and thus avoid the blur logic if not needed.

So as long as the faces can be centered on the screen, zoom can be used to maximize screen space. If this still doesn't fill the screen, then use the blur method to cover the remaining space.

My frame got black screen again!

Hello,
I dont know why but my frame got black screen again.
I got the debug screen here, please take a look.
Thank you very much.
log

Pi on 4K

I've tried connecting Pi3 to 2 different 4K screens.
When the frame runs, I get a black border around the image - maybe 150px, all 4 sides.
Is this a Pi/4K issue or is that part of the image rending logic?

Move shutdown GPIO or make configurable?

First off, thanks for the work on this!

Would love to see the GPIO for the power off switch be made configurable via the interface.

I built using an original RPi with stretch lite. I'm using the original instead of the 3 due to the lower power reqs (and I had a couple lying around). With a USB Nano WiFi adapter the USB port on my monitor (HP E221i) seems to power it without issue. (Note: I tried several Dell models, none of the USB ports provide power.) I have a model 3 that definitely does not like the lower power output from the monitor and I get undervoltage errors overwriting the display and causing issues. The original might not like it either, but it doesn't seem to be complaining. Just REALLY slow to start displaying pictures after first boot, and the fastest it seems to switch between photos is ~1:30 regardless of setting. Not having a second power cord is worth it though, IMO.

Anyways, because I'm using an original RPi, I don't have GPIO 26. I will use another GPIO and modify "shutdown.py" accordingly, however I would also like to use the update feature (especially if you plan to add flickr support). I expect my manual change will get overwritten sooner or later though. It would be much easier if this were a configurable option in the browser.

Again, thanks for the awesome app!

SSLError when run from systemd

If i run photoframe.sh from terminal, everything works as expected. When systemd starts it after a reboot, though, it freezes and the log shows the errors below:

-- Logs begin at Tue 2018-12-25 18:35:03 GMT, end at Tue 2018-12-25 18:35:55 GMT. --
Dec 25 18:35:11 raspberrypi systemd[1]: Started Photo Frame.
Dec 25 18:35:29 raspberrypi photoframe[499]: 2018-12-25 18:35:29,926 - INFO - No http-auth.json found, disabling http authentication
Dec 25 18:35:30 raspberrypi photoframe[499]: 2018-12-25 18:35:30,038 - INFO - No SMB subsystem, color sensor unavailable
Dec 25 18:35:53 raspberrypi photoframe[499]: 2018-12-25 18:35:53,255 - INFO - Starting presentation
Dec 25 18:35:53 raspberrypi photoframe[499]: 2018-12-25 18:35:53,264 - ERROR - No result returned!
Dec 25 18:35:54 raspberrypi photoframe[499]: 2018-12-25 18:35:54,842 - ERROR - Issues downloading
Dec 25 18:35:54 raspberrypi photoframe[499]: Traceback (most recent call last):
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/root/photoframe/modules/oauth.py", line 64, in request
Dec 25 18:35:54 raspberrypi photoframe[499]: result = auth.get(uri, stream=stream, params=params)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 501, in get
Dec 25 18:35:54 raspberrypi photoframe[499]: return self.request('GET', url, **kwargs)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/usr/lib/python2.7/dist-packages/requests_oauthlib/oauth2_session.py", line 358, in request
Dec 25 18:35:54 raspberrypi photoframe[499]: headers=headers, data=data, **kwargs)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
Dec 25 18:35:54 raspberrypi photoframe[499]: resp = self.send(prep, **send_kwargs)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
Dec 25 18:35:54 raspberrypi photoframe[499]: r = adapter.send(request, **kwargs)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 497, in send
Dec 25 18:35:54 raspberrypi photoframe[499]: raise SSLError(e, request=request)
Dec 25 18:35:54 raspberrypi photoframe[499]: SSLError: ("bad handshake: Error([('', 'osrandom_rand_bytes', 'getrandom() initialization failed.')],)",)
Dec 25 18:35:54 raspberrypi photoframe[499]: Exception in thread Thread-4:
Dec 25 18:35:54 raspberrypi photoframe[499]: Traceback (most recent call last):
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
Dec 25 18:35:54 raspberrypi photoframe[499]: self.run()
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/usr/lib/python2.7/threading.py", line 754, in run
Dec 25 18:35:54 raspberrypi photoframe[499]: self.__target(*self.__args, **self.__kwargs)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/root/photoframe/modules/slideshow.py", line 101, in presentation
Dec 25 18:35:54 raspberrypi photoframe[499]: result = self.services.servicePrepareNextItem(svc, filename, ['image/jpeg'], {'width' : self.settings.getUser('width'), 'height'
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/root/photoframe/modules/servicemanager.py", line 268, in servicePrepareNextItem
Dec 25 18:35:54 raspberrypi photoframe[499]: return svc.prepareNextItem(destinationFile, supportedMimeTypes, displaySize)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/root/photoframe/services/svc_googlephotos.py", line 52, in prepareNextItem
Dec 25 18:35:54 raspberrypi photoframe[499]: result = self.fetchImage(destinationFile, supportedMimeTypes, displaySize)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/root/photoframe/services/svc_googlephotos.py", line 86, in fetchImage
Dec 25 18:35:54 raspberrypi photoframe[499]: result = self.requestUrl(imageUrl, destination=destinationFile)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/root/photoframe/services/base.py", line 286, in requestUrl
Dec 25 18:35:54 raspberrypi photoframe[499]: result = self._OAUTH.request(url, destination, params, data=data, usePost=usePost)
Dec 25 18:35:54 raspberrypi photoframe[499]: File "/root/photoframe/modules/oauth.py", line 94, in request
Dec 25 18:35:54 raspberrypi photoframe[499]: return {'status':result.status_code, 'content':result.content}
Dec 25 18:35:54 raspberrypi photoframe[499]: AttributeError: 'NoneType' object has no attribute 'status_code'

Did i miss something?
Merry Christmas!

Remotely Update Keywords

Is there any semi-API functionality already in place where I could send new keywords to the frame via web request? That way I could perhaps contact the frame without having to load the settings in a browser.

FR: Allow caching of images

One feature that would be useful is the option to cache images. Every set amount of time the photo frame would then compared the cached images with the latest list and either download new photos or delete photos that are no longer on the list.

This would come in handy for photo frames using a limited connection such as a cellular connection. This also adds another question does the software support a wired pi connection? Does it support the cellular CDMA or GSM hat on the pi?

The "Open" button doesn't behave as expected

The "Open" button next to a keyword doesn't behave as one would expect when using the new google photos provider. It simply searches google photos instead of trying to open the album.

Image pool

I have 4 keywords that return images from Google Photos.
Have around 50k photos to pick from.
Refresh list of photos every 1 hours

I see very minimal change in the image pool. Despite running all day, rebooting, ./update/force, etc.
Am I missing something?

Is there a single pool, comprised of all the keywords or does each keyword have its own pool?

Connection Error

Just went through your setup guide twice and each time after i paste the OAUTH data and click the connect button i get this:

Uh oh, something went wrong...
Please go to github and see if this is a known issue, if not, feel free to file a new issue with the following information:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "/usr/lib/python2.7/dist-packages/flask_httpauth.py", line 93, in decorated
return f(*args, **kwargs)
File "./frame.py", line 414, in oauth_step1
return redirect(oauth.initiate())
File "/root/photoframe/modules/oauth.py", line 89, in initiate
self.rid = self.getRedirectId()
File "/root/photoframe/modules/oauth.py", line 85, in getRedirectId
r = requests.get('%s/?register' % self.ridURI)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 487, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPSConnectionPool(host='photoframe.sensenet.nu', port=443): Max retries exceeded with url: /?register (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

Enable selection of branch

It should be possible to select different branches to follow, allowing for testing development features without compromising master

Can't find images

If I test key words, it goes to my photos, and allows me to search. I added a search parameter, and if i open it is successively searches my photos. I have authorized and reauthorized my account several times. The pictures still don't show up. if i use the default search that automatically goes to the last picture, and test it i get "Error 404 The requested URL was not found on this server." I also can't change the timezone. It always goes back to default.

Issue with slideshow freezing.

I'm still new to this and learning, but do not see any information about it on here. I am having an issue with the slideshow freezing when it goes through all the pictures.

Expose rotation from config.txt

display orientation (or rotation as it were) should be exposed as a drop-down box to simplify the life of anyone trying to run a non-standard orientation ๐Ÿ˜„

Ambient Status Display...

Sensor is working, there are noticeable changes to the images displayed when the ambient light is changed. The status in the browser never changes though.

"Current ambient environment -.-- lux and ----K color temperature."

Any clues for troubleshooting would be appreciated! Would like to use ambient power save feature, but would be nice to see current readings when setting this up.

Thanks!

Every other image not following

I have a weird issue we almost every other image pull I get a issue showing image check network or settings message. The the next image it pulls. I tried resetting the pi 3 b+ to default and reloaded the image and same result the raspberry pi is sitting like 8 ft from the access point so I am unsure what's going on. The syslog is filled with this message over and over.

Dec 30 21:52:01 photoframe photoframe[546]: 2018-12-30 21:52:01,789 - ERROR - Fail$Dec 30 21:52:01 photoframe photoframe[546]: Traceback (most recent call last): Dec 30 21:52:01 photoframe photoframe[546]: File "/root/photoframe/modules/slide$Dec 30 21:52:01 photoframe photoframe[546]: logging.debug('Loaded %d images in$Dec 30 21:52:01 photoframe photoframe[546]: KeyError: 'entry'

Simplify adding a new service

Today you need to make many changes to the service manager in order to successfully add a new service. This needs to be simplified so there's essentially only one or two lines of work (or even better, autodetect new services... hmmm...)

Show slideshow on SPI LCD?

Hello, just wondering if you have any ideas about how to make the slideshow appear on an SPI LCD? I have a 3.5" waveshare LCD. I've tried your pre-built image and also installing manually on raspbian, but the slideshow will only show on HDMI either way. LXDE shows on the LCD, which is on TTY7, and when i SSH in and use 'chvt 1' to switch the LCD to TTY1 it just shows console text.

Slideshow should immediately reflect major changes

Today when a major change is done in settings, it may take as long as the slideshow timer to take effect, preferably it should happen more or less directly.

This is tricky due to the multithreaded behavior of photo frame so it will not happen anytime soon.

Build OS in Buildroot (to write protect the OS).

Hi, this is not an issue, it's a suggestion. It's always a "problem" when you pull the power from a Linux machine. You risk breaking the OS. To avoid that you can make a "Read Only" version of the OS with BuildRoot. I have not done this myself, but I'm using a system called "MotionEyeOS" that uses this and it's working really well.
Then you don't need to worry about breaking stuff when you loose power. :)
As I said, it's just a suggestion. :)

Getting errors this morning on my keywords.

Good morning! :)
I'm getting errors on all my frame this morning...
In the Log:
Jan 2 09:08:19 photoframe03 photoframe[539]: 2019-01-02 09:08:19,425 - INFO - Starting presentation Jan 2 09:08:19 photoframe03 photoframe[539]: 2019-01-02 09:08:19,439 - ERROR - Unable to create query the keyword "Fotoram Louise" Jan 2 09:08:20 photoframe03 photoframe[539]: 2019-01-02 09:08:20,632 - ERROR - Unable to create query the keyword "Fotoram Louise" Jan 2 09:08:22 photoframe03 photoframe[539]: 2019-01-02 09:08:22,546 - ERROR - Unable to create query the keyword "Fotoram Louise" Jan 2 09:08:23 photoframe03 photoframe[539]: 2019-01-02 09:08:23,814 - ERROR - Unable to create query the keyword "Fotoram Louise"

On screen:
image

The album name is correct: Fotoram Louise
image

The "Open" button now works by the way!

Happy New Year! :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.