Blue Iris picture frame / UI3 camera viewing station

I warn you they are a little messy as I've never done python before and it was a learning experience BUT they all work :D
I just got around to looking at your Python scripts, and believe me, they are NOT messy.
They're straightforward, easy to read, and absolutely fine as you shared them.
Great work!!
 
With enormous thanks and all credit due to @Dasstrum's incredible initiative and effort, I pursued this project last weekend and this. If you're thinking of trying a Raspberry Pi Zero W for this project, don't. With only a single processor core, it just does NOT cut it. I tried it, and will use the Pi Zero W for another project, later. I went to a local frame shop, brought the LCD panel with me, and they assembled a nice frame for about $30. Cut a strip from 80-pound black construction paper to cover/hide the bottom of the LCD panel and attached it with double-sided mounting tape. Used a hot glue gun to affix the LCD panel inside the frame. Assembled a thin square frame using some .75x1.5 white pine scraps, glued and nailed together in the corners. Used a very thin rectangle of .25-inch Sandeply plywood for the back. Black spray paint is a wonderful thing. :D My frame has two fans and four buttons, plus a hole at the bottom for the 5VDC Pi and 12VDC LCD power supplies to enter. The fans aren't connected yet, as they're 5V fans and I didn't have any 3v3 relays to switch the Pi's 5VDC power to them. Running them all the time was not an option. The relay should arrive Tuesday evening, at which time I'll get the fans wired and button the whole thing up.

This has been a fun project to work on last weekend and this. Last weekend, it was raining the whole time. This weekend, it's a winter storm with sleet, freezing rain, and a little snow. I tweaked Dasstrum's original code a bit for my own purposes. The top button functions as a startup/shutdown. Second button switches between the shotwell slideshow task and the Chromium browser running UI3. Third button moves forward to the next camera in UI3, and fourth button moves backward to the previous camera.

Wait a few days, and I'll post the GPIO/pin connections for the buttons and fans, and my version of the code supporting them. Oh, and at least one or two pictures.
 
  • Like
Reactions: Dasstrum and xdq
Here's a couple of pictures from the front, obligatory Raspbian Linux desktop, plus one picture being displayed.
IMG-2014.jpg IMG-2018.jpg


And the back, buttons, and side.
IMG-2020.jpg IMG-2021.jpg IMG-2023.jpg

I made one other change tonight, to the start/stop Python script. Instead of shutting down, I just have it shutdown/reboot, since that's typically what I want/need, instead of just shutting down.

Last comment, regarding the fan arrangement. The lower fan pushes cool air into the bottom of the enclosure, the upper fan pushes warm air out of the top. This provides cross ventilation of the Pi's processor, which has a simple aluminum finned heat sink attached.
 
Last edited:
Here's a couple of pictures from the front, obligatory Raspbian Linux desktop, plus one picture being displayed.
View attachment 36284 View attachment 36285


And the back, buttons, and side.
View attachment 36286 View attachment 36287 View attachment 36288

I made one other change tonight, to the start/stop Python script. Instead of shutting down, I just have it shutdown/reboot, since that's typically what I want/need, instead of just shutting down.

Last comment, regarding the fan arrangement. The lower fan pushes cool air into the bottom of the enclosure, the upper fan pushes warm air out of the top. This provides cross ventilation of the Pi's processor, which has a simple aluminum finned heat sink attached.

Very nice!
 
Very nice!
Thank you, kind sir, for the very fun project!!
In return, I offer you and everyone else my version of your original scripts.
Also, an explanation of what they are and what they do.

The Samba file share from my file server is at IP address 192.168.1.11 and is named "Pictures". It is configured in the system config file /etc/fstab to allow guest access with no username/password required.

The LXDE window manager in Linux manages the X-windows GUI startup. The autostart file for LXDE is included. It calls a BASH shell script to start the Python scripts.

The BASH shell script resides in the /home/pi/ directory. It starts the three Python scripts as detached shell processes, logging their output to .log text files in the /home/pi/ directory. These log files are overwritten at each reboot/startup.

The three Python scripts are located in the directory /home/pi/PIctureFrame/. They are:
autofan.py - manages the fans according to Pi chip temperature
button.py - manages the four GPIO input buttons
startupfile.py - starts the Chromium browser running BlueIris's UI3 web page and Shotwell photo slideshow
 

Attachments

Last edited:
Thank you, kind sir, for the very fun project!!
In return, I offer you and everyone else my version of your original scripts.
Also, an explanation of what they are and what they do.

The Samba file share from my file server is at IP address 192.168.1.11 and is named "Pictures". It is configured in the system config file /etc/fstab to allow guest access with no username/password required.

The LXDE window manager in Linux manages the X-windows GUI startup. The autostart file for LXDE is included. It calls a BASH shell script to start the Python scripts.

The three Python scripts are located in the directory /home/pi/PIctureFrame/. They are:
autofan.py - manages the fans according to Pi chip temperature
button.py - manages the four GPIO input buttons
startupfile.py - starts the Chromium browser running BlueIris's UI3 web page and Shotwell photo slideshow

Thanks for sharing! I think my next project I am going to work on is using another raspberry pi to setup a security system. I already have reed switch style sensors on each of my doors and wires running into my closet. I checked the wiring and they are all good. I have started playing around with a "security system" python code to send me text alerts if a door is open for a period of time. Can easily take this same thought and incorporate in a pressure sensor or IR Motion sensor to trigger the cameras instead of using BI motion detection.
 

Attachments

  • Like
Reactions: Mike and VorlonFrog
Thanks for sharing! I think my next project I am going to work on is using another raspberry pi to setup a security system. I already have reed switch style sensors on each of my doors and wires running into my closet. I checked the wiring and they are all good. I have started playing around with a "security system" python code to send me text alerts if a door is open for a period of time. Can easily take this same thought and incorporate in a pressure sensor or IR Motion sensor to trigger the cameras instead of using BI motion detection.
Why "instead of"? Why not both? Multiple parallel inputs for the same logic would be more dependable, IMHO.
 
Why "instead of"? Why not both? Multiple parallel inputs for the same logic would be more dependable, IMHO.

I actual motion detector that uses IR is MUCH more accurate. It monitors for heat instead of regular motion. BI motion detector monitors the change in color to trigger which is very prone to false alarms from trees and shadows. With an IR motion detector it will not trigger from shadows or trees.
 
I actual motion detector that uses IR is MUCH more accurate. It monitors for heat instead of regular motion. BI motion detector monitors the change in color to trigger which is very prone to false alarms from trees and shadows. With an IR motion detector it will not trigger from shadows or trees.
I guess I'm just spoiled by the Hikvision/Annke/Hykamic 'cube' cameras.
They include PIR sensors to detect occupancy/presence.
 
  • Like
Reactions: Dasstrum
Dasstrum, I love spending other peoples money for them so you may want to have a look at this PIR CK-IS3050 Ademco 53ft. x 72ft Infrared Motion Detector. I'm not sure where you got that 30 foot max range from, but I used to install PIRs that had 360 degree, 50 foot range ut I haven't fooled with alarm systems in more years than I care to admit to.
 
Dasstrum, I love spending other peoples money for them so you may want to have a look at this PIR CK-IS3050 Ademco 53ft. x 72ft Infrared Motion Detector. I'm not sure where you got that 30 foot max range from, but I used to install PIRs that had 360 degree, 50 foot range ut I haven't fooled with alarm systems in more years than I care to admit to.

Hah thanks for the suggestion :)

The 30ft max range might be off a little but from my experience with devices around my house (my motion lights for example) don't have a huge range on them. When I had an indoor security system with a motion detector it didn't have a super long range on it either. Maybe its just the type if motion detectors I have had experience with and there are others that have a longer range.

I am always leary on manufacturer 'claims' as to distance anyways as those are usually very over exaggerated.
 
I believe a lot depends on the "optics", quality of the PIR sensor itself and analysis the device does. There are driveway style sensors that go out to around 75 feet. Now whether that's for a human or only for a vehicle I'm not sure. Actually, after a lot or experience years ago, I started using dual sensor units, microwave/PIR. The false alarm rates from reflected heat sources and heaters coming on an off were virtually eliminated.
 
  • Like
Reactions: Dasstrum
Great work. It looks amazing.

Is that a touchscreen?

Is there a way to make code to shut down PI when you turn your monitor off and turn Pi on with auto-start UI3 when turning monitor back on?

Is there any beginning guide of loading python script and what to DL to get them to work?

And last question which script removes the mouse on idle.

Thanks again! Learning a lot reading this thread.
 
  • Like
Reactions: VorlonFrog
Great work. It looks amazing.

Is that a touchscreen?

Is there a way to make code to shut down PI when you turn your monitor off and turn Pi on with auto-start UI3 when turning monitor back on?

Is there any beginning guide of loading python script and what to DL to get them to work?

And last question which script removes the mouse on idle.

Thanks again! Learning a lot reading this thread.
1. Touchscreen? Nope.
2. There MAY be something in the HDMI-CEC protocol, but I'm not certain what/where it is.
3. Python script today is what BASIC was back in the 1970s. It's like YAML because indents matter.
4. Its in the LXDE configuration file 'autostart' in my ZIP archive. @unclutter
 
Last edited:
1. Touchscreen? Nope.
2. There MAY be something in the HDMI-CEC protocol, but I'm not certain what/where it is.
3. Python script today is what BASIC was back in the 1970s. It's like YAML because indents matter.
4. Its in the LXDE configuration file 'autostart' in my ZIP archive. @unclutter

Thanks for your reply and info.

I am not sure what LXDE configuration file you are referring to. I feel I missed this. I only have and seen the zip file from @Dasstrum
 
  • Like
Reactions: Dasstrum
Just a newbie question. After I go to Python 3.5.3 Shell - I opened/ran autofan.py - how do I see it working and CPU temps after?

Thanks