23,000 page views!!
The task is to have a screen displaying a web page continually. The web page contains the ‘live’ data from a specific sailing club windguru station. This data is displayed in graphical form and is updated every minute:
The task is to have a screen displaying a web page continually. The web page contains the ‘live’ data from a specific sailing club windguru station. This data is displayed in graphical form and is updated every minute:
The windguru station is an
anemometer which has been positioned at the top of a 10 metre flag pole, to
measure wind speed and direction. A temperature
probe is included. The device is
positioned so that its calibrated direction is pointing to true north. The signals from the anemometer are
transmitted wirelessly from a battery-powered transmitter beside the anemometer, to a unit
in the club house which is wired to the wi-fi router. Information is sent to the windguru server which delivers the above information to the web.
The Raspberry Pi and
associated cables, WiFi dongle, case and ultra mini wireless keyboard and
trackpad were purchased from Pimoroni for less than £100. It’s a Model B+ which has a 700MHz CPU, 512MB
RAM, micro SD slot, 4 USB ports and a full size HDMI port. The NOOBS software allows a choice of Linux
operating systems and resides on an 8 GB micro SD card. I chose the Raspbian Debian
Wheezy version of Linux. The Pi is
powered via USB connection to the TV to which it is connected. The video signals are sent to the TV via an
HDMI connection. The VESA mount allows
the Pi in its case to be mounted at the back of a TV, thereby being totally
concealed.
Normally the Pi will boot up to the command line prompt, requiring a
username and password to be entered, followed by a command like startx
to start a Windows-like desktop, or other application. To display web pages, the on-board
lightweight web browser, Midori, would normally have to be started manually and
prompted with the required web address.
The requirement here is to by-pass the login process and the manual
starting of Midori.
Steps
to take are as follows:
a. Download and
install programs using the following commands:
sudo apt-get install matchbox
matchbox is a “very lightweight fullscreen-only
kiosk-specialized window manager” which is needed to ensure that the Midori web
browser displays in full screen.
sudo apt-get install x11-xserver-utils
This contains useful utilities which can be invoked, as shown below.
b. Edit existing
system files (using nano):
1. /etc/network/interfaces
2. /etc/profile/
3. /etc/inittab
c. Write a script:
The
script I wrote is called autowindguru and it can be executed with
the command line
xinit
./autowindguru
which
is executed within the profile file.
1. interfaces contains the
Wireless network/SSID and the wireless key.
An example of the content of this file is:
auto lo
iface lo inet
loopback
iface eth0 inet
dhcp
allow-hotplug wlan0
auto wlan0
iface wlan0 inet
dhcp
wpa-ssid ###########
wpa-psk ########## (actual codes are
hidden here)
2. profile
I
added, at the last line of this (quite long) file,
xinit
./autowindguru
to
run the autowindguru
script (see below) which I wrote to run the web page.
3. inittab
The
following link was where I got the instructions to modify the inittab file:
4. autowindguru
I
created a script which I named autowindguru as follows:
#!/bin/sh
xset –dpms
xset s off
#unclutter &
matchbox-window-manager
&
while true; do
midori –e
Fullscreen –a http://www.clyc.info/wp-content/uploads/windguruPageLarge.htm
done
The url included above points to the web page windguruPageLarge.htm which I developed and uploaded to the www.clyc.info server.
The xset lines invoke the x11-xserver-utils utility which was downloaded and installed earlier. They prevent screen blanking due to
inactivity.
unclutter has been commented
out, but could be used to remove the mouse cursor if it became a nuisance.
The while true; do………done
code opens the browser in a loop, so that “it will re-start itself if
something crashes”.
Some of these tips came from the
following link:
The Web Page
The
web page to be displayed consists of a 2 x 2 table, with the top row containing
the basic windguru web page on the
left, and the specific windguru
8-day forecast on the right.
The
bottom row includes Javascript for current moon phase (from MoonConnection) on the left and local
tide times from tidetimes on the
right.
There are 2 versions of the web page:
1.
one
for 1366 x 768 pixel screens (windguruPage.htm), and
2.
one
for 1920 x 1080 screens (windguruPageLarge.htm) – shown below:
The panels on the
left hand side of this page are dynamic (live), while those on the right need to
be refreshed daily. Daily refreshing can
be done by switching the TV off and on, to re-boot the Pi.