Raspberry Pi based kiosk

Connecting Hc-05 to Pi
Connecting Hc-05 to Pi

We can use raspberry Pi to develop kiosk. We will use bluetooth to transfer content from mobile phone to raspberry Pi. The idea is very simple we will run a python webserver on raspberry Pi. The servers can receive messages from serial port. We will run chromium in full screen mode and display the our webpage on Pi startup. We can update the content displayed at any time by simply transmitting the message over serial port. In this example I will use HC05 and android mobile to transfer the content.

First we need install chromium on raspberry pi


sudo apt-get update

sudo apt-get upgrade -y

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

chromium has a kiosk mode, we need to enable it

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

add the following content to autostart file (you need comment out the @xscreensaver -no-splash)


@xset s off
@xset -dpms
@xset s noblank

@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences

@chromium --noerrdialogs --kiosk http://localhost --incognito

 

Auto Start Chrome on startup
Auto Start Chrome on startup

Actually you can load any website of your choice,just replace the http://localhost with web page you are interested in.

we will be displaying our message in a web page, so we need to setup the webserver first. you can setup a web server by following this blog.

place the BlueScreenPi folder in /home/pi


cd /home/pi/BlueScreenPi

sudo chmod 750 ./*

add this line to /etc/init.d/rc.local


sudo nano /etc/init.d/rc.local
./home/pi/BlueScreenPi/launch.sh > server.log 2>&1 &

Starting Web Server on boot
Starting Web Server on boot

Instructions for the auto start of chromium has been taken from here.

Note: The web page may take maximum of 15 seconds to update with the new message.The full webpage will refresh to get the new message, can be improved by using ajax.

RaspberryPiKiosk
RaspberryPiKiosk
4 Comments

Add a Comment

Your email address will not be published. Required fields are marked *