Skip to Content

As described in the master document for this blog post series, in the first blog post we’ll prepare a RaspberryPi so that we can run our next exercises on it.

Table of Contents

Get a Raspberry Pi

So the first thing to do is to get hold of a Raspberry Pi (or Pi as I’ll call it from now on). The Pi I’m using is a so called Raspberry Pi revision B with 2 USB ports. The blog post series might also work with the revision A and the revision B+, but I can’t test it for now.

I got my Raspberry Pi for Christmas last year so it was an easy experience for me :-).

But you can get Pi’s from many vendors.

In addition to the Pi you also need to get

  • a power supply with micro USB (5V, minimum of 700mA)
  • an SD memory card (8GB, class 4 or higher)
  • an ethernet network cable
  • an HDMI cable to connect your Pi to a TV
  • ideally also a case so your Pi doesn’t look too scary for non-techies 🙂
  • an USB keyboard, at least for the beginning 🙂
  • a digital temperature sensor DS18B20

IMG_0640.jpg

Get an image

The next thing you need to do is to get an image for your Pi. On the Pi we’ll use the Linux OS called Raspian which is in essence a Debian OS which was adapted to run properly fast on a Pi.

I’ve take the current Raspian image ( Release date 2014-09-09) from the Raspberry Pi download area and downloaded it.

Install the image on your Pi

To install the image just follow the instructions on the corresponding pages from the Raspberry Pi foundation.

Once you have the image on the SD card we go for the next step.

Connecting your Pi

To make it run for the first time go through the following steps

  • insert the imaged SD card into your Pi
  • connect the ethernet cable with your Pi and your network
  • connect the HDMI cable to your Pi and your TV
  • connect the USB keyboard to your Pi
  • switch on your TV
  • as a last step plug in the power supply to your Pi

As a next step you’ll watch how the Raspian OS boots-up your Pi and start the configuration tool for Raspian.

The default user is Pi. The default password for that user is raspberry.

Configure your Pi

Follow the instructions provided at the Pi documentation for configuring your Pi.

IMG_0641.jpg

I’ve changed my Pi setting for

  • Expand filesystem (using the full memory size of my SD card)
  • Change password
  • Change timezone (adapted to my timezone)
  • Change keyboard layout (adapted to the keyboard layout I have on my USB keyboard)
  • Hostname (I’ve set it to rasppirui)

After changing the settings I’ve clicked on the “Finish” button so that the Pi reboots with the new settings.

You should see also your IP-address (I’ve masked mine below).

IMG_0642.jpg

Switching to an SSH connection (optional)

Once you know the IP-address that your Pi fetched from the DHCP server there is no need to use the keyboard and the separate monitor.

Instead you can connect to your Pi via a so called SSH connection. On windows machines you can install tools like putty to get an SSH client.

Linux or Mac systems already have everything in place.

In case you have a Linux or May system (like I do) simply open the terminal application and type-in the following command where aaa.bbb.ccc.ddd is the IP-address that has been assigned to your Pi:

ssh pi@aaa.bbb.ccc.ddd

Confirm the upcoming message by typing the word yes and you are remotely connected to your Pi via an SSH connection.

TEST.png

Setup the proxy (optional)

In case your Pi works behind a proxy you need to configure your Pi accordingly. To setup the proxy for the duration of a session just enter the following commands on your Pi

sudo export http_proxy=http://proxy:8080

sudo export https_proxy=http://proxy:8080

sudo export no_proxy=”localhost”

The commands are just an example. In case your proxy is called differently and another port is used you need to adapt the lines above to make it match to your network setup.

Updating the OS

Now we should update the OS to the most current version. To do that you login to your Pi again and enter the following commands:

sudo apt-get update

sudo apt-get upgrade

Depending on the internet bandwith your have this may take a while. Whenever the update asks you if you really want to update just press the y key.

Making your Pi Multi-Location Ready

Once you start working with your Pi and turn it off an on again on various locations you always get into trouble to find out the PIs IP address in the network you are using. To avoid this you can make your Pi send you an email whenever it boots up. With that you can always use an SSH shell to access it remotely without having to connect a keyboard and monitor to it.

There is a nice tutorial at http://elinux.org/RPi_Email_IP_On_Boot_Debian that I’ve used to accomplish that.

Just follow the steps there and you get an email with the IP address whenever you switch on your Pi and connect it to a network.

Please check if you need to setup the proxy before. Just in case the location you are in is working behind a proxy!

I’ve created a subfolder called myscripts in the Pi’s home folder and stored the file startup_mailer.py in that folder. After that I’ve adapted the file /etc/rc.local as described in the tutorial and it worked perfectly.

Screen Shot 2014-10-15 at 10.15.17.png

Enable Modules for Sensors

At a later point in time in this blog post series we’ll connect an external temperature sensor to our Pi. To be able to use them you need to add 2 modules that are loaded to your Raspberry Pi at boot time. To do that proceed as follows.

Type in

sudo nano /etc/modules

to open the /etc/modules file to edit it.

Now add the following two lines to the file and after that save the file (ctrl + X key and confirm with y)

w1-gpio

w1-therm

Screen Shot 2014-10-15 at 10.26.05.png

You can find out if that worked out fine by rebooting your Pi with

sudo shutdown -r now

and by typing the command

lsmod

to see the list of loaded modules after the reboot. You should see in the output the 2 newly added modules.

Screen Shot 2014-10-15 at 10.32.41.png

Java

We’ll also use Java on our Pi in the next blog posts. If you took the Raspian release that I took, Java is already pre-installed on your Pi. You can check it with the following command that should output the installed Java version on your Pi

java -version

In case you are using an older Raspian release just install it with the following command

sudo apt-get update && sudo apt-get install oracle-java7-jdk

Ready to go

Now that we have prepared our Raspberry Pi we can tackle our next challenge to actually send sensor data from our Raspberry Pi to your free developer account on SAP HANA Cloud Platform.

Stay tuned and check out the master document listing all blogs posts of this series around the Raspberry Pi and the SAP HANA Cloud Platform. In the next blog post we’ll build an app on your developer account to receive and persist the sensor data.

Best,

Rui

To report this post you need to login first.

26 Comments

You must be Logged on to comment or reply to a post.

  1. John Astill

    Very nice intro blog to Pi.

    I am using Webiopi for access to my Pi GPIO, it has a very nice rest interface with simple mappings e.g. /bedroom/temperature .

    Looking forward to seeing your Java for pushing data. I currently use shell scripts to push to my HANA system on AWS.

    Cheers

    John

    (0) 
    1. John Astill

      I also use SSH when possible, but there are times when I need to see the console running (when I have broken something) and also do not want to plug in a monitor, keyboard etc… I use one of these serial cables USB to TTL Serial Cable – Debug / Console Cable for Raspberry Pi ID: 954 – $9.95 : Adafruit Industries, Unique &… .

      I use it on the Mac which requires that I install a serial driver first. This is the one I used Products , there are others out there.

      With that install I use the screen program in terminal:

      screen /dev/tty.usbserial  115200

      JohnA

      (0) 
    2. Rui Nogueira Post author

      Thanks John!

      With my next blog post you’ll get that. Let’s meet at Hacker’s night at TechEd in Las Vegas and I’ll show you a sneak peek 🙂

      Best,

      Rui

      (0) 
      1. Marek Kowalkiewicz

        Rui, John – I blocked a networking session for “SAP and Robotics” next week – would be fantastic if you could come over. I will bring some toys (robots!!!) and my past projects – including Arduino – HANA communication that I described in a blog a few months ago.

        Wed 1pm and Thu 2:30pm (Lounge 1)

        (0) 
  2. Somnath Manna

    Rui,

    Cool blog – I was waiting to see this kind of hacking after Marek Kowalkiewicz blogged on his Arduino exploration Let’s build a robot! Part 3: Shake it!

    Now its really interesting to see world’s one of the smallest single chip computing system RPi pairing up with Enterprise SAP HANA Platform. This is like a David with (not vs) Goliath scenario – need to wait and watch.

    Time has come now to grow up from using RPi for hobby / exploring SonicPi and Scratch with my kids to professional work through possible Enterprise class applications.

    Best regards,

    Somnath

    (0) 
    1. Rui Nogueira Post author

      Thanks Somnath. With the series I simply want to raise awareness around the fact that the SAP HANA Cloud Platform is very versatile and actually try to motivate people to thing about new scenarios that the platform could support.

      If you’re in Vegas come to the SAP HANA Cloud Platform booth and ask for the demo from “Rui’s Import/Export Inc.” 🙂

      Best,

      Rui

      (0) 
      1. Marek Kowalkiewicz

        Rui – I am publicly issuing a challenge – let’s try to run SAP HCP on Arduino Yun! I’ll come over (with a Yun in my pocket) and let’s see if we could do it – would be totally awesome!

        Great post by the way! Thanks for writing it!

        (0) 
  3. Tsvetan Stoyanov

    Rui, I believe bringing together different people and ideas inspires many innovative solutions – just like Raspberry Pi and SAP HCP.

    Actually I made some experiments with RPi including lights, buttons and a DHT22 sensor. To ease my life as a java developer I developed an Eclipse plug-in for running and debugging java projects on a remote RPi system. It integrates seamlessly with the java tooling in Eclipse and allows developers to build RPi applications without installing ssh clients, copying files between systems or struggling how to debug their applications. If you want to give it a try, you can find an update site and the source code here – http://tsvetan-stoyanov.github.io/launchpi/

    Best Regards,

    Tsvetan

    (0) 
  4. Gabriel Onifade

    Unfornately for me, I cannot see the “My IP Address is…” But I borrowed time on a friends TV to do the setup. I wish to continue on my PC via the putty.

    Kindly assist on how I can obtain my IP address to do SSH connection with the putty.

    Thanks a lot!

    IMG_20141202_200354.jpg

    (0) 
  5. Robert Eijpe

    Hi Rui,

    You mentioned: The blog post series might also work with the revision A and the revision B+, but I can’t test it for now.


    I can confirm you that you post series is also running on (my) revision B+.


    Kinds,


    Robert

    (0) 
  6. Frank Meertens

    Hi Rui:

    Great blog and initiative!  Set-up worked like a charm. I used the hardware that came with my son’s Kano (Raspberry Pi with Kano OS to teach kids how to program) and plugged in SD card with Raspian. Following the instructions, I had no problems getting it to work.

    I might try to go back and get it working as well for the Kano OS.

    Looking forward to the next posts.

    Thanks,

    Frank.

    (0) 
  7. Alejandro Kinsbrunner

    Hi Rui,

    Wonderfull series of posts! I am a newbie and I am thinking of buying the Raspberry Pi 2 + Sense Hat sensors. Do you believe this is a good way of starting?

    Also, I wanted to check about which programming language I should use… I’ve seen that some people use Python, others Java and others XSODATA. Which one is the standard one? I know some of Java so from my perspective it could be the easier to use for ramping up. What do you think?

    Thanks and regards.

    Alejandro.

    (0) 

Leave a Reply