Install Raspbian on the Raspberry Pi (by using a Linux laptop)¶
Download the Raspbian image from https://www.raspberrypi.org/downloads/raspbian/ Use the full version with “recommended software”. Follow the instructions on the page to burn a SD-card.
Unplug, and reinsert your SD-card to mount it. To enable SSH logging in on the
Raspberry Pi, create an empty file on the named
ssh in the boot partition:
If you would like to change hostname from “raspberrypi” to “pndevice-pi”, change
the texts in the files
etc/hosts in the rootfs
To make sure that you subsequently are logging in to the correct Raspberry Pi, you can create a file in the home directory in the rootfs partition. Change name to something informative, for example:
Unmount the SD-card, and plug it in into your Raspberry Pi. Power up the Raspberry Pi.
Find the IP address of it by running this on a Linux machine on the network (replace the hostname if you have changed it):
Verify that it is the correct machine by checking that is disappears when the power is disconnected.
Log in to it:
The default password is “raspberry”.
Install cmake on Raspberry Pi¶
In order to compile p-net on Raspberry Pi, you need a recent version of cmake.
In Raspbian the cmake is recent enough. Install it:
sudo apt-get update sudo apt-get install cmake cmake-curses-gui
Verify the installed version:
Compare the installed version with the minimum version required for p-net (see first page).
Connect a serial cable to Raspberry Pi¶
The p-net Profinet stack will change the IP-address of the Raspberry Pi when running it as an IO-Device (as requested by the PLC), why it can be inconvenient to connect to it via ssh. Using a serial cable to connect it to your laptop can then be helpful.
Use a USB-to-serial adapter cable with 3.3 V logic levels. For example Adafruit sells a popular version of those cables.
To enable the serial port console write the line
enable_uart=1 in the
/boot/config.txt. The serial port within the Raspberry Pi will be
Terminal on cable
Adafruit cable color
Use a communication program with a baudrate of 115200.
Before connecting the serial cable to your Raspberry Pi you can verify the functionality of the cable by connecting the USB connector to your Laptop, and connect the RX-terminal to the TX terminal of the cable. Use a communication program to verify that text that you enter is echoed back. When removing the RX-to-TX connection the echo should stop.
Control of built-in LEDs¶
The Raspberry Pi board has LEDs on the board, typically a red PWR LED and a green ACT (activity) LED.
Manually control the green (ACT) LED on Raspberry Pi 3:
echo none > /sys/class/leds/led0/trigger echo 1 > /sys/class/leds/led0/brightness
And to turn it off:
echo 0 > /sys/class/leds/led0/brightness
Note that you need root privileges to control the LEDs.
Similarly for the red (power) LED, which is called
Set static IP address permanently¶
In order to use a static IP address instead of DHCP, modify the file
/etc/dhcpcd.conf in the root file system. Insert these lines:
interface eth0 static ip_address=192.168.137.4/24
You can still ping the <hostname>.local address to find it on the network.
To re-enable HDCP, remove the lines again from
Autostart of sample application¶
Use systemd to automatically start the p-net sample application on startup.
Place a systemd unit file here:
An example file is available in the
sample_app/ directory of this
repository. It assumes that the code is checked out into
/home/pi/profinet/p-net/ on your Raspberry Pi.
Install the file:
sudo cp /home/pi/profinet/p-net/sample_app/pnet-sampleapp.service /lib/systemd/system/
Adapt the contents to your paths and hardware.
Enable automatic startup:
sudo systemctl daemon-reload sudo systemctl enable pnet-sampleapp.service
To see the status of the process, and the log output:
systemctl status pnet-sampleapp.service journalctl -u pnet-sampleapp -b
If using a serial cable, you might need to adjust the number of visible columns:
stty cols 150 rows 40