Basic setup

First of all, you should go with Debian. Mono doesn't run well or sometimes not at all on Raspbian (as of end 2012) so just download Debian from the official Raspberry Pi page. I won't go into detail here, there's a tutorial already.

After launching, you'll see the Raspi-config utility. Do the usual steps, expand the root file system to fill your SD card, turn off overscan, configure your keyboard layout, set, this is very important, your locale and timezone, make sure the ssh server is on and tell it to boot into the desktop. Reboot afterwards.

Welcome to the desktop! Not much to do here, except for some cosmetical changes. Remember that the desktop is the first thing you see when the system boots up so make it look like a good weather gadget. Set the taskbar to automatically disappear, remove all desktop icons and give it a nice desktop background. Wetter.com offers not only the API I'm using, but also matching images.

Getting started

While you can do the rest on the RPi itself, I recommend doing that on your PC. So here, you can unplug all input from the RPi and download PuTTY. Connect to the IP of your RPi (ask your router for that) using the user name "pi" and the password "raspberry" (unless you've changed it). Welcome to Command Line Fu!

The text editor of choice is nano. Type
sudo nano /path/to/file

to create or edit that file. Press Ctrl+X to close the editor and you'll get asked if you want to save whatever you've changed. Easy.

Before doing all the fun rest, start with
apt-get update
apt-get upgrade

to get the most recent everything to work with.

WLAN

I almost followed some guides I found, at the end, here's what worked for me.

The WLAN adaptor I used was already supported. So I'd scrap the usual stuff most tutorials start with when rebuilding the system:
lsusb
apt-cache search WhateverTheVendorOfTheActualChipIs
sudo apt-get install NameOfTheFirmwarePackage


Installing or not, we have to connect. The command's
iwlist wlan0 scan

and look for your WLAN. Mine is
          Cell 05 - Address: 50:7E:5D:07:A7:A6
                    ESSID:"Nerfpole"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.462 GHz (Channel 11)
                    Encryption key:on
                    Bit Rates:144 Mb/s
                    Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    IE: Unknown: DD910050F204104A00011010440001021041000100103B0001031047001000000000000000030000507E5D07A7A61021000B436F72706F726174696F6E10230009564756383533394A5710240008312E32372E3030301042000A4A3233313231313838331054000800060050F204000110110014576972656C65737320526F757465722857464129100800020084103C000103
                    Quality=100/100  Signal level=79/100

This output is important so copypaste it somewhere. Now we just need to connect. Start with
sudo nano /etc/wpa.conf

and input your configuration:
network={
ssid="Nerdpole"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk="WontTellYou"
}

Needless to say, that hat to fit the network configuration. Mine's WPA2 with AES. In case of doubt, the settings have to match the output of iwlist wlan0 scan.

Now we need to tell it to connect. Open
sudo nano /etc/network/Interfaces

and append
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf

I am using the DHCP server of my router, if you don't, then this has to be changed.

At the end, reboot the RPi with
sudo reboot

It will have to work out-of-the-boot later afterall, so making sure it does doesn't harm!

Now you can pull the Ethernet cable from the RPi. We have WLAN afterall! So reconnect PuTTY using the new IP address and go on.

Display configuration

Linux will turn the display off after a while. Not cool. So open
sudo nano /etc/lightdm/lightdm.conf

Look for the section
[SeatDefaults]

and add the line
xserver-command=X -s 0 -dpms

That being sorted out, the desktop looks crappy on the small display. Resolution issues FTW! Open
sudo nano /boot/config.txt

look for the lines
#framebuffer_width=SomeNumber
#framebuffer_height=SomeNumber

and change them to
framebuffer_width=320
framebuffer_height=240

320x240 is, by pure chance, exactly the native resolution of that cute display.

Setting up the app

The plan is for that thing to display a weather forecast, so let's get it on!

The app is written in C#. I love that language and Visual Studio is powerful and comfortable. To make it run on Linux, you need Mono. Install it with
sudo apt-get install mono-complete --fix-missing

After Mono is installed, you need to install the actual app. To get it on the RPi, use WinSCP. I've put the app in /home/pi/App.

Like I said, this thing has to display the weather upon boot. Run
mkdir /home/pi/.config/autostart

open a new file
nano /home/pi/.config/autostart/App.deskop

and fill it with
[Desktop Entry] 
Type=Application
Exec=mono /home/pi/App/Weather\ Slice.exe

Now you're done installing! Another reboot and... It doesn't work. Yet.

Last edited Sep 5, 2013 at 12:55 PM by ReBoot, version 17

Comments

No comments yet.