1. Bassirou
  2. Linux/Unix
  3. zondag 13 december 2020
Hoe kan ik met mijn Raspberry direct een foto van de usb stick op een scherm krijgen.
Ik heb met artikel van koen-vervloesem van computer totaal uit augustus 214 geprobeerd maar het is mij niet gelukt om dit werkend te krijgen.

Toelichting op mijn vraag.
Bij mijn fototoestel heb ik ook een raspberry en een 7" scherm.
Op de USB stick heb ik bijvoorbeeld vier foto's staan als voorbeeld van hele oude opname bijvoorbeeld begin 1900 jaar.
Nu probeer ik met het voorbeeld op mijn USB de plaats te bepalen waar toen die foto gemaakt is. Nu wil ik met een drukknop de volgende foto op het scherm zetten. Zodat ik met mijn fototoestel vanaf de zelfde locatie een nieuwe opname kan maken in 2020 jaar. De vraag is hoe kan ik als ik mijn raspberry met een voeding opstart, dat de raspberry gelijk de foto laat zien die op mijn USB stick staat. Ik had gedacht aan een elektronisch fotolijstje met een raspberry die de foto van de USB stick op mijn scherm zet. en met een drukknop naar de volgende foto op de USB gaat.
Reacties (16)
Geaccepteerd antwoord In Afwachting Moderatie
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 1
Geaccepteerd antwoord In Afwachting Moderatie
Nog even een toelichting op mijn vraag voor de Raspberry pi.

Hoe kan ik bijvoorbeeld bij het opstarten van mijn Raspberry.
Dat de Raspberry gelijk het programma Mirage opstart zonder een muis te gebruiken of een toetsenbord dat is het eerste wat ik zou willen.
Dat er vervolgens commando's zijn die onder File in het programma open Image ook weer zonder toetsenbord en muis.
Volgende stap de foto's in programma Mirage de USB opent.
Dan bij View van het programma Mirrage Full Screen F11 wordt geactiveerd.
Dan is het mogelijk om met de pijltjes toetsen van het toetsenboord > de volgende foto te laten zien of met het pijltje < de vorige foto te laten zien.
Dit zou ik inplaats van een toetsenbord bijvoorbeeld met een mini IR afstandbediening waar maar enkele toetsjes opzitten, willen doen.
Die twee toetsen op de afstandbediening vertaald en de bijbehorende Asci of met twee drukknoppen aangesloten op de P1-connector.
Met bijvoorbeeld een stukje software als dat kan met Python.

Het is voor als een presentatie die je wil geven met een Raspberry en een USB waar foto's op zitten.
Je start de Raspberry en je kan met een presentatie beginnen en met behulp van twee drukknoppen kan je het volgende of de vorige afbeelding op het scherm zetten.

Ik hoop dat er iemand is die mij met dit probleem kan helpen.
Bijlagen
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 2
Geaccepteerd antwoord In Afwachting Moderatie
FLIRC is een usb ir ontvanger die met elke afstandsbediening om kan gaan.
https://flirc.tv/more/flirc-usb

Ik heb geen idee wat voor een programma mirage is. Ik heb PhotoMirage gezien
maar dat is een windows programma.

We hebben een discord server met een raspberry pi kanaal wellicht ook handig.
https://discord.gg/7KtMHFt
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 3
Geaccepteerd antwoord In Afwachting Moderatie
Mirage is ook een image viewer op de Raspberry.
http://mirageiv.sourceforge.net/docs-advanced.html#cli
zit ook een commando in To automatically open a directory of images in fullscreen and slideshow mode:

mirage -fs ~/miami-pics/

Maar mijn vraag is waar en hoe moet ik dit commando plaatsen.
Kan ik dat met een Command line doen of moet het met een programma Python gebeuren???
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 4
Geaccepteerd antwoord In Afwachting Moderatie
Copyright 2007. Python3 starte in 2008. Ik doe hier nix mee.
Ik heb een simpele viewer gevonden in Python.


# importing the tkinter module and PIL
# that is pillow module
from tkinter import *
from PIL import ImageTk, Image


def forward(img_no):

# GLobal variable so that we can have
# access and change the variable
# whenever needed
global label
global button_forward
global button_back
global button_exit
label.grid_forget()

# This is for clearing the screen so that
# our next image can pop up
label = Label(image=List_images[img_no-1])

# as the list starts from 0 so we are
# subtracting one
label.grid(row=1, column=0, columnspan=3)
button_for = Button(root, text="forward",
command=lambda: forward(img_no+1))

# img_no+1 as we want the next image to pop up
if img_no == 4:
button_forward = Button(root, text="Forward",
state=DISABLED)

# img_no-1 as we want previous image when we click
# back button
button_back = Button(root, text="Back",
command=lambda: back(img_no-1))

# Placing the button in new grid
button_back.grid(row=5, column=0)
button_exit.grid(row=5, column=1)
button_for.grid(row=5, column=2)


def back(img_no):

# We willl have global variable to access these
# variable and change whenever needed
global label
global button_forward
global button_back
global button_exit
label.grid_forget()

# for clearing the image for new image to pop up
label = Label(image=List_images[img_no - 1])
label.grid(row=1, column=0, columnspan=3)
button_forward = Button(root, text="forward",
command=lambda: forward(img_no + 1))
button_back = Button(root, text="Back",
command=lambda: back(img_no - 1))
print(img_no)

# whenever the first image will be there we will
# have the back button disabled
if img_no == 1:
button_back = Button(root, Text="Back", state=DISABLED)

label.grid(row=1, column=0, columnspan=3)
button_back.grid(row=5, column=0)
button_exit.grid(row=5, column=1)
button_for.grid(row=5, column=2)


# Calling the Tk (The intial constructor of tkinter)
root = Tk()

# We will make the title of our app as Image Viewer
root.title("Image Viewer")

# The geometry of the box which will be displayed
# on the screen
root.geometry("700x700")

# Adding the images using the pillow module which
# has a class ImageTk We can directly add the
# photos in the tkinter folder or we have to
# give a proper path for the images
image_no_1 = ImageTk.PhotoImage(Image.open("sample1.png"))
image_no_2 = ImageTk.PhotoImage(Image.open("sample2.png"))
image_no_3 = ImageTk.PhotoImage(Image.open("sample3.png"))
image_no_4 = ImageTk.PhotoImage(Image.open("sample4.png"))

# List of the images so that we traverse the list
List_images = [image_no_1, image_no_2, image_no_3, image_no_4]

label = Label(image=image_no_1)

# We have to show the the box so this below line is needed
label.grid(row=1, column=0, columnspan=3)

# We will have three button back ,forward and exit
button_back = Button(root, text="Back", command=back,
state=DISABLED)

# root.quit for closing the app
button_exit = Button(root, text="Exit",
command=root.quit)

button_forward = Button(root, text="Forward",
command=lambda: forward(1))

# grid function is for placing the buttons in the frame
button_back.grid(row=5, column=0)
button_exit.grid(row=5, column=1)
button_forward.grid(row=5, column=2)

root.mainloop()



En dan met FLIRC en een afstandsbediening testen !
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 5
Geaccepteerd antwoord In Afwachting Moderatie
Ja ik heb de FLIRC besteld alvast bedank.
Ik ga het zeker proberen.
vriendelijke groet Bas
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 6
Geaccepteerd antwoord In Afwachting Moderatie
Hallo Bas,

het is volgens mij eenvoudiger om een programma te maken dat zelf de foto's laat zien. Ik heb een programma gemaakt dat dit doet.

Het gebruikt matplotlib om het plaatje te laten zien en RPi.GPIO om de schakelaar uit te lezen.
Ik gebruik Thonny, waarbij matplotlib al was geïnstalleerd, maar anders kun je dat doen via sudo pip install matplotlib (of pip3?). Voor RPi.GOIO: sudo apt-get install rpi.gpio.
Ik heb voor het installeren eerst een sudo apt-get update en een sudo apt-get upgrade gedaan, maar dat is wellicht niet nodig.
Het is belangrijk dat je de drukknop aansluit tussen 3,3 volt en pin GPIO 4, zie het plaatje:

AansluitingenRPi.png
Hieronder is de door mij gebruikte code:


import matplotlib.pyplot as plt
import matplotlib.image as mp
import RPi.GPIO as IO
IO.setmode(IO.BCM) # BCM wil zeggen: gebruik de GPIO nummers, niet de pinnummers
IO.setup(4, IO.IN, pull_up_down = IO.PUD_DOWN) # GPIO 4 (is pin 7)
Fotos = "forum", "Druppel" # zet hier de namen van de fotobestanden (hoofdlettergevoelig)
i = 0
while True:
foto = mp.imread("/media/pi/TH/" + Fotos[i] + ".jpg")
F = plt.imshow(foto)
plt.axis('off')
plt.subplots_adjust(left=0, right=1, bottom=0, top=1)
FM = plt.get_current_fig_manager()
FM.full_screen_toggle() # druk op f om terug te gaan naar normaal scherm

plt.show(block = False) # dit maakt het mogelijk om het plaatje programmatisch te sluiten
plt.pause(0.1)
while IO.input(4) == 0:
pass # dit wil zeggen: doe niets. Let op: de RPi is nu geblokkeerd!
plt.close()
i += 1
if i >= len(Fotos):
i = 0


Je kunt de namen van jouw foto's opgeven achter Fotos =
TH is naam van de gebruikte USB stick, die zal bij jou anders zijn.
Je ziet dat ik het getest heb met twee bestanden, waarvan een van jou. Het programma laat steeds de volgende foto zien en als je op de knop drukt. Als de foto's op zijn dan gaat hij terug naar de eerste. Op deze manier heb je maar één drukknop nodig.

Ik heb niet uitgetest hoe je het programma automatisch opstart als de RPi aangaat. Dit is goed op internet te vinden. Mogelijk kun je het programma manueel opstarten voor je het veld ingaat.
Houd er wel rekening mee dat dit programma lastig af te breken is als het eenmaal loopt.
Bijlagen
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 7
Geaccepteerd antwoord In Afwachting Moderatie
Bedankt iedereen voor het meedenken.
De geschiedenis hoe ik tot dit alles kom, is wel leuk om dit toe te lichten.
Ik ben geïnteresseerd in de cholera epidemie in Leiden van 1832.
En ben benieuwd hoe die mensen toen geleefd hebben en of ik daarvan nu nog dingen kan terugvinden maar ook wat er veranderd is.
Ik zocht afbeeldingen schilderijen enz. die afbeeldingen bewerk ik thuis en zet de perspectief lijnen er in.
En zet de paar bewerkte opnamens op een USB stick.
In het veld heb ik naast mijn fototoestel die een HDMI uitgang heeft. Ook een Rasberry met de usb waar de bewerkte foto's op zitten en ook een HDMI uitgang heeft .
Die twee HDMI sinalen zet ik met behulp van een HDMI switch op een een 7 inc scherm. Waar ik het beeld van mijn fototoestel op het scherm een extra transperant film op mijn scherm plak met de de perspectief lijnen.
Waarmee ik kan bepalen of ik op de zelfde plek sta waar toen b.v. ook de oude afbeelding is gemaakt.
En wat is er nog precies het zelfde en gemeenschappelijk van toen.
Zie de foto van mijn voorbeeld, dat huis en de walkant zijn nog het zelfde.
Daarna ga ik de twee opnamen bekijken of ik die in elkaar kan zetten zie de foto.

Nu komt het probleem waar ik mee zit, ik moet buiten mijn Raspberry opstarten, en met een muis proberen de foto viewer te starten, op het scherm de foto's van de usb te zoeken. Dat is allemaal wel te doen, maar moet makkelijker kunnen en beter.

Als het nu zo zou kunnen dat als ik mijn Raspberry aanzet gelijk het programma in de Raspberry Het Grafisch programma opstart bijvoorbeeld Afbeeldingkijker of de Mirage. die gelijk naar de foto's op mijn USB gaat en opent.
In het grafische programma zitten ook weer commando's bijvoorbeeld Full Screen. En met een pijltje als je een toetsenbord naar de volgende foto of vorige foto.
In het veld heb ik geen toetsenbord bij me en eigenlijk ook geen muis.
Ik zou dit graag door twee drukknopen of een klein IR toetsenbordje willen activeren.

Het volgende probleem voor mij is dat ik geen ervaring heb om te programmeren, maar dat wil ik wel maar ook begrijpen wat ik aan het doen ben.

Een tweede probleem wat er is maar dat is iets wat misschien helemaal niet te realiseren is dat de twee beelden worden omgeschakeld met een HDMI switch.
Dan heb je het ene de oude opnamen en met de HDMI switch de opname van mij mijn fototoestel. Eigenlijk zou ik de Raspberry willen gebruiken als video mixer dan kan je de twee beelden door elkaar zien en bepalen of je op de goede plaats staat soms moet je een meter veranderen om de goede perspectief te hebben.
Er bestaat wel een HDMI video mixer Roland V-02HD videomixer, alleen moet het voor mij ook leuk blijven is het voor mij een hobby.
Ik had ook een FLIRC besteld waar ik ook benieuwd naar ben en wat ik er mee kan doen.

Bedankt iedereen ik ga proberen jullie advies te begrijpen.
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 8
Geaccepteerd antwoord In Afwachting Moderatie
Hallo tieu
Ik heb ook met twee afbeeldingen op de usb uitgeprobeerd het werkt.
Ik krijg alleen aan de onderkant van het scherm een balk met knoppen die ik niet kan bedienen.
Is dit de full_screen instelling??
Of kan ik daarvoor nog iets anders doen?
vriendelijke groet Bas.
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 9
Geaccepteerd antwoord In Afwachting Moderatie
Ik vind het fijn om te horen dat dit programma ook bij jou werkt. Een groot deel van de code zorgt ervoor dat de plaatjes op het volle scherm worden afgedrukt. Het moet mogelijk zijn om ook nog de onderbalk weg te krijgen, maar ik weet niet zo een twee drie hoe dat moet. De paar pogingen die ik heb gedaan zijn mislukt.

Met vriendelijk groet,
Theo
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 10
Geaccepteerd antwoord In Afwachting Moderatie
Hoi Bas,

Is het wellicht een optie om OBS te gebruiken ?
Je kunt dit met Linux, Mac en Windows gebruiken.

De opnames die je via de diverse bronnen kunt maken kan je over elkaar heen leggen.
Deze over elkaar liggende beelden kun je mixen door ze meer of minder transparant maken.

Suc6!
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 11
Geaccepteerd antwoord In Afwachting Moderatie
Bedankt voor de informatie.
De Raspberry heeft volgens mij alleen een HDMI uitgang, of is er ook een mogelijkheid dat de Raspberry ook een HDMI in heeft die ik kan aansluiten op mijn toestel.
Als dat zou kunnen met de foto's die ik op de USB heb staan zou ik misschien OBS kunnen toepassen???
En de twee afbeeldingen kunnen mixen.

vriendelijke groet.
Bas
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 12
Geaccepteerd antwoord In Afwachting Moderatie
ik zat te denken aan een tablet of een laptop, want je wil het OBS programma ook besturen. Je kunt in OBS de tekening laden, die zo transparent maken als je wenst. En die dan als overlay te matchen met het live camerabeeld in het veld.
Wat is het merk, type en eventueel de serie van je fototoestel ?
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 13
Geaccepteerd antwoord In Afwachting Moderatie
Na heel veel omzwervingen en heel veel uitproberen, maar ook door hulp en meedenken van iedereen ben ik toch weer een heel stuk verder gekomen.
Ik heb op mijn Raspberry onder Grafische het programma Mirage viewer geïnstalleerd.
Ik heb de Flirc USB met mijn Windows computer de Flirc ingesteld.
En de Flirc op de USB geplaatst op de raspberry.

Op de raspberry heb ik tekst toegevoegd bij :
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart.

De regel toegevoegd:
@mirage -f /home/pi/Pictures/ *.jpg

De jpg bestanden gekopieerd van de USB naar map Pictures.
Na het opstarten van de Raspberry krijg ik op een vol scherm de afbeelding te zien.
En met de IR afstandbediening wordt de volgende afbeelding getoond.

Het lukt mij niet om direct de afbeeldingen van de USB te laten zien.
Moet de afbeeldingen eerst kopiëren naar Pictures map.
Misschien weet iemand daar een oplossing voor.
vriendelijke groet.
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 14
Geaccepteerd antwoord In Afwachting Moderatie
Het lukt mij niet om direct de afbeeldingen van de USB te laten zien.


Ik vermoed dat dat komt omdat je /home/pi/Pictures/ als command-line argument meegeeft. Probeer het eens met

@mirage -f path-naar-usb-drive

(Wat wel problemen zou kunnen geven als de usb-drive niet gemount is.)

Heb je overigens hier al gekeken:
http://mirageiv.sourceforge.net/docs-advanced.html#cli
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 15
Geaccepteerd antwoord In Afwachting Moderatie
Ik had de USB niet gemount wist ook niet van het bestaan af.
Maar heb dit gevolgd:
https://pimylifeup.com/raspberry-pi-mount-usb-drive/

En werkt nu van de USB met de regel in sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
@mirage -f /media/usb1/ *.jpg

Ga nu wat over lezen wil proberen om te begrijpen wat mount inhoud.
Ik denk dat ik nu zover ben, dat ik heb wat ik graag wou.
Dat ik de voeding op de raspberry aanzet en het scherm de eerste foto van de USB in Full Screen laat zien.
Met behulp van mijn IR toetsen bordje kan ik de volgende foto op het scherm zetten of weer terug gaan.
Ik heb ook een toets gereserveerd F11 om het Full Screen aan en uit te zetten, en een extra toets voor F5 Start Slideshow.
  1. meer dan een maand geleden
  2. Linux/Unix
  3. # 16
  • Pagina :
  • 1


Er zijn nog geen reacties op dit bericht.
Reageer als een van de eersten op dit bericht!
Nog geen HCC-gebruikersaccount aangemaakt? Klik dan hier.

Inloggen