# Posts Tagged Raspberry Pi

### Weather Underground forecast data in text display

One of the uses I found for my Raspberry Pi was using it to display weather data. I retrieved the weather data from Weather Underground using their API, parsed it, and displayed it on my RPi’s small LCD. This gave me an always-on view of the weather, which was nifty, and it was done all in bash scripting with a few external programs to parse the data.

This script is very customizable and extensible. You could use it to do any number of weather-related tasks.

I reduced the font size on the LCD to Terminus 6×12 using the following command:

sudo dpkg-reconfigure console-setup

This helped make room for all the forecast data on the tiny LCD. If you are running this on a PC, it’s not necessary.

For the smoothest updates, I have found it ideal to run the script under ‘watch’, as so:

watch ./weather.sh

I tired doing a ‘while true; do… clear… done’ loop, but the refresh rate was too low and the updates were not smooth.

Here is the script:

UPDATE : This has moved to github, here.

Last updated: 11-21-2015

### Installing and configuring Samba on Raspberry Pi

If you want your Raspberry Pi to share its files and folders over the network, you want to install and configure Samba.

Start off by installing the basic Samba requirements:

sudo apt-get install samba samba-common-bin

Edit the samba config file

sudo nano /etc/samba/smb.conf

edit the workgroup= line to match your network. workgroup=WORKGROUP is the default and usually fine. It needs to match what your Windows PCs are set to.

[pi]
path=/home/pi
browseable=Yes
writeable=Yes
only guest=no
public=no

Add the pi user to samba. Use the same password for the pi user:

sudo smbpasswd -a pi

It takes about 2 minutes for the changes to take effect, but after this you should have no problem exploring files over the network. Note that some may be owned by root and you may have an issue writing to them.

If you have trouble logging in under Windows (password errors), try using “raspberrypi\pi” (raspberrypi-backslash-pi) as your username (without the quotes)

### Setting up the SainSmart WaveShare SpotPear 3.2 inch Raspberry Pi LCD (V3)

I picked this inexpensive LCD up at MicroCenter for my Raspberry Pi, but getting it to work was a bit of a chore.

I wanted to install it onto a Raspberry Pi 2 which is already set up and running some software of mine. Therefore, I wanted to install it in as few steps as possible. Fortunately, WaveShare provides some drivers (but they don’t clearly document the setup process).

Here’s now to set it up:

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

Download the correct “LCD-show-*” driver for your version of Raspbian Jessie from the Drivers section of the product page on WaveShare, and transfer it to your Pi, or use the following example commands from your Pi to download it directly:

wget http://www.waveshare.com/w/upload/9/9d/LCD-show-151020.tar.gz
tar xvzf LCD-show-151020.tar.gz
cd LCD-show/

and run this command to set up the 3.2″ screen. :

./LCD32-show

Note: You may need to have the SPI interface already turned up via raspi-config before this will work.

Important note: The LCD32-show and LCD-hdmi scripts will overwrite several system files. If you have customized them, or have concerns, you are strongly advised to read through the scripts before running, and consider merging the changes in manually. Here is the list of touched files:

• /boot/overlays/waveshare*-overlay.dtb
• /etc/X11/xorg.conf.d/99-calibration.conf
• /usr/share/X11/xorg.conf.d/99-fbturbo.conf
• /boot/cmdline.txt
• /etc/inittab
• /boot/config.txt

After a few seconds, you Pi will reboot, and the screen should be active. You can refer back to the WaveShare page to see documentation on how to switch to HDMI and back to the LCD.

Follow these steps to download and install xinput_calibrator to calibrate the touchscreen. I noticed that on my panel, the touchscreen does not respond well to input; I suspect I have a defective panel.

sudo apt-get install libx11-dev libxext-dev libxi-dev x11proto-input-dev
./configure
make
sudo make install

Now, following the directions from WaveShare, you can run this command to calibrate the touchscreen:

DISPLAY=:0.0 xinput_calibrator

Refer to WaveShare’s page on how to edit 99-calibration.conf to save the calibration data so it persists over reboots.

### Raspberry Pi heartbeat LED

The Raspberry Pi has two LEDs on the front: One hardwired as a power indicator, and the other is (by default) an SD card activity indicator. This second LED can be changed via software to anything (even a GPIO), but for this, I’m going to show you how to set it as a heartbeat indicator.

sudo su
modprobe ledtrig_heartbeat
echo heartbeat > /sys/class/leds/led0/trigger

The Pi’s led should now start blinking as a heartbeat indicator. If you want to restore the default behavior, you can do so:

echo mmc0 > /sys/class/leds/led0/trigger

That’s all there is to it.