Raspberry Pi

From YobiWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Links

Hardware:

Startup

Remotely: provide DHCP over Ethernet
Access via ssh, Username: pi Password: raspberry
First time, the device propose to run raspi-config

sudo raspi-config


Then, better to renew SSH server keys, see RPi remote access

sudo rm /etc/ssh/ssh_host_* && sudo dpkg-reconfigure openssh-server
sudo apt-get update

Wi-Fi

Using Wi-Pi
See user manual for Raspbian.
Edit /etc/network/interfaces and add wlan0 section similar to:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid <name of your WiFi network>
wpa-psk <password of your WiFi network>

Then

sudo /etc/init.d/networking restart

NFC

apt-get install git autoconf libtool gcc libusb-dev
apt-get install dpkg-dev debhelper dh-autoreconf
git clone https://code.google.com/p/libnfc/
cd libnfc
dpkg-buildpackage -b -uc -us
cd ..
dpkg -i *deb

For a SCL3711:

modprobe -r pn533
echo blacklist pn533 > /etc/modprobe.d/pn533-blacklist.conf

GPIO

RPi-GPIO is already pre-installed on Raspbian

dpkg -l|grep gpio
ii  python-rpi.gpio                       0.4.1a-1                   armhf        Python GPIO module for Raspberry Pi
ii  python3-rpi.gpio                      0.4.1a-1                   armhf        Python 3 GPIO module for Raspberry Pi

Usage: https://code.google.com/p/raspberry-gpio-python/wiki/BasicUsage

Refs:

SPI

See http://elinux.org/RPi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29 for pinout

Enable

Edit /etc/modprobe.d/raspi-blacklist.conf and comment:

#blacklist spi-bcm2708

Reboot
There should now be some /dev/spi*

$ ls /dev/spi*
/dev/spidev0.0 /dev/spidev0.1

Test

wget "http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/spi/spidev_test.c" -O spidev_test.c
gcc -o spidev_test spidev_test.c
sudo ./spidev_test -D /dev/spidev0.0

We should get a bunch of zeroes.
Now, be very careful!!
Shortcut GPIO9(MISO)(pin21) and GPIO10(MOSI)(pin19).
Check on a pinout diagram first...
And run again the command, now we should get some hex dump about dead beef and bad food ;-)

sudo ./spidev_test -D /dev/spidev0.0

If test fails, see here for updating stuffs:

SPI-Python

Warning: at time of writing, functions described in the wiki didn't match code anymore.

wget https://raw.github.com/lthiery/SPI-Py/master/spi.c
wget https://raw.github.com/lthiery/SPI-Py/master/setup.py
apt-get install python2.7-dev
python setup.py build

Result spi.so is in build/lib.linux-armv6l-2.7/spi.so to be dropped in python path

SPI-NFC

tests...

max speed achieved with debug on: 7.8MHz (PN532 spec says 5MHz)

LIBNFC_DEFAULT_DEVICE=pn532_spi:/dev/spidev0.0:7800000 LIBNFC_LOG_LEVEL=3 utils/nfc-list

max speed achieved without debug: 480kHz

LIBNFC_DEFAULT_DEVICE=pn532_spi:/dev/spidev0.0:480000 LIBNFC_LOG_LEVEL=2 utils/nfc-list

Raspdancer

See Raspdancer

Untested

modprobe spidev??