User Tools

Site Tools


rpi_kiosk

RPI Kiosk

Upgrade:
sudo apt-get update

sudo apt-get dist-upgrade


apt-get install build-essential

Magic Mirror

Times Mirror

Jasper Voice Control

RPI OS Download

RPI voice control

Video Looper

CV

USB Web Cams

RPI Streamer

Streamming

Facial Recog

Weather Widget

Morganville, NJ

Advanced avahi

RPI Config

RTMP Stream

Recording a Stream

Downloading the stream

RPI Camera

ffmpeg usage

Webserver

To host the interface (which is simply a webpage), i needed an Apache webserver to be running on the Raspberry. Since this is one of the most common uses of the Rasberry, the installation of Apache is very streamlined.

First I made sure i was running the latest system software by running the following command:

sudo apt-get update && apt-get upgrade -y



    sudo apt-get update

    sudo apt-get upgrade -y

    sudo apt-get dist-upgrade -y

    sudo rpi-update


No it’s time to actually install apache:

sudo apt-get install apache2 apache2-doc apache2-utils
Done! That’s all there is. But to make sure I was able to use some PHP scripts on the webserver (more about that later), I also added PHP support:

sudo apt-get install libapache2-mod-php5 php5 php-pear php5-xcache
Done … again! Reboot, and the webserver is up and running! I dropped a index.php file in the /var/www folder, and pointed my browser to the Raspberry’s ip adress and yes, it worked.

Kioskmode

Now, to make sure the Raspberry actually shows the webpage I will be using Chromium in kioskmode. Chromium is an open source browser which is able to run on the Raspberry’s OS.

Once again, installing was easy:

sudo apt-get install chromium x11-xserver-utils unclutter

But this time, it needed some extra configuration to disable the 
screensaver and autoboot in kioskmode. To do this i 
edited /etc/xdg/lxsession/LXDE/autostart and added a # before:

/etc/xdg/lxsession/LXDE-pi

 @xscreensaver -no-splash
Additionally, I added the following lines:

@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk --incognito http://localhost
This completely disables all screensaving features, and makes sure chromium will start after boot an points to the localhost webserver in full screen mode.

Time to save the file and reboot once more to check if it works. Since the Raspberry isn’t worlds fastest computer, it took a while, but eventually the testsite appeared on the 90 degrees rotated screen … Yeah!

On to the last part of the project. The development of the interface.
# enable raspicam
start_x=1
gpu_mem=256

# magic mirror
display_rotate=1

display_rotate=0        Normal
display_rotate=1         90 degrees
display_rotate=2        180 degrees
display_rotate=3        270 degrees
display_rotate=0x10000  horizontal flip
display_rotate=0x20000  vertical flip

sudo apt-get install sqlite3

sudo apt-get install php5-sqlite
Install avahi with the following commands on the Pi:

sudo apt-get install avahi-daemon

and then on older Debian installs:

sudo update-rc.d avahi-daemon defaults

or on newer Raspbian installs:

sudo insserv avahi-daemon

(if in doubt, you're probably on the newer one).
Create a configfile for Avahi at /etc/avahi/services/multiple.service. I did this with the following command:

sudo pico /etc/avahi/services/multiple.service

The contents of this file should be something like the following, courtesy of aXon on the Rasperry Pi forums:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
        <name replace-wildcards="yes">%h</name>
        <service>
                <type>_device-info._tcp</type>
                <port>0</port>
                <txt-record>model=RackMac</txt-record>
        </service>
        <service>
                <type>_ssh._tcp</type>
                <port>22</port>
        </service>
</service-group>

Apply the new configuration with:

sudo /etc/init.d/avahi-daemon restart

The Pi should now be addressable from other machines as raspberrypi.local, for example:

ssh pi@raspberrypi.local
 I managed to stream from my PI to a Web server with the compiled in module nginx-rtmp. To save hassles with ffmpeg I recommend a rolling distribution like Archlinux Arm. raspivid -vf -t 0 -fps 25 -b 2000000 -o - | ffmpeg -i - -vcodec copy -an -r 25 -f flv rtmp://x220/myapp/mystream Some notes: The hardware encoded h264 video stream takes about ...
webcam streaming-video camera
answered Aug 3 '13 at 4:36
hendry
1694


4

What streaming solution for the Picam has the smallest lag?
With Ubuntu 14.10 and Gstreamer I reach 100 to 116 ms latency with 1280 x 720 @ 60Hz. Tanks to @Antonvh who puts me on the right way. I reproduce here the solution for latter reference. To stream from the Pi : raspivid -t 0 -b 2000000 -fps 60 -w 1280 -h 720 -o - \ | gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 \ ! ... 

http://raspberrypi.stackexchange.com/tags/streaming-video/hot
flash tests

apt-get install xmms2-plugin-flv

apt-get install xul-ext-flashblock
 Installing Flash Player
The usual flashplugin-nonfree for Linux is not available for ARM devices. The solution is to use PepperFlash plugin. It's not available for the public from the Google team, but thanks to Lee Harris we can download it from his site. It's a link for the plugin for ARMv7 ripped from original Google OS from Chromebook. If you don't trust the link above you may try to rip it out yourself. After you download the archive you should extract the Pepperflash dir to /usr/lib. After that you need to do the following changes to the Chromium config file /etc/chromium-browser/default. You should modify it, so it has a line:
CHROMIUM_FLAGS="--ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=12.0.0.77"
Running Chromium with root rights
The Chromium browser doesn't launch as a root. You can change that behavior by editing it's config file /etc/chromium-browser/default. You should modify it, so it has a line:
CHROMIUM_FLAGS="-password-store=detect -user-data-dir"
If you need flash support, the line should look like this:
CHROMIUM_FLAGS="--ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=12.0.0.77 -password-store=detect -user-data-dir"


    wget http://odroidxu.leeharris.me.uk/PepperFlash-12.0.0.77-armv7h.tar.gz
    tar -xzf PepperFlash-12.0.0.77-armv7h.tar.gz
    cd PepperFlash
    chmod +x *
    sudo cp * /usr/lib/chromium/plugins
    sudo nano  /etc/chromium/default
    
    Open Chromium
enter
chrome://plugins

The pepperflash-plugin should be visible. Enable it.
Done.

http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=99202
http://www.thisismyrobot.com/2012/08/getting-logitech-c270-webcam-working-on.html

1. Add UVC support to the image
Download and run rpi-update as described here. This will update your image to include the initially-missing UVC support. Reboot as suggested.

2. Update your packages
sudo apt-get update
sudo apt-get upgrade 

3. Install the guvcview webcam viewer
sudo apt-get install guvcview

4. Set up your permissions and enable the driver
sudo usermod -a -G video pi
sudo modprobe uvcvideo

Reboot the Pi.

5. Open up the cam (these are the settings that worked for me)
guvcview --size=544x288 --format=yuyv
# apt-get install php5-curl
compile sqlite3 
sqlite3-build $ ./sqlite3 -version
3.8.10.1 2015-05-09 12:14:55 05b4b1f2a937c06c90db70c09890038f6c98ec40

sqlite-autoconf-3081001.tar 

apt-get remove sqlite3

sqlite-autoconf-3081001.tar.gz

EC2 east

apt-get install ntp

insserv ntp

/etc/timezone

/usr/bin/tzselect
/etc/apache2/envvars

change RUN_USER/RUN_GROUP
rpi_kiosk.txt · Last modified: 2021/06/04 02:16 (external edit)