RPi Peripherals

=Setup examples for various peripherals=

GPIO wiring
On earlier model Bs some of the pins were different as follows You can confirm you have a Revision 2 board by the presence of a hole at the west of the USB connector.

Serial Port
Uses GIO pins 8 and 10 as TxD and RxD respectively which can then be accessed through serial port software such as Putty or the Java RXTX package. See RPi_Serial_Connection for details.

Wireless: TP-Link TL-WN722N USB wireless adapter (Debian 6)
See also:

http://www.element14.com/community/docs/DOC-44703/l/raspberry-pi-wifi-adapter-testing

http://omer.me/2012/04/setting-up-wireless-networks-under-debian-on-raspberry-pi/

This will serve as a general guide for USB wireless devices but may need modifying for your specific one.


 * Edit /etc/apt/sources.list to add the non-free archive and backports (eg: sudo vi /etc/apt/sources.list):

deb http://ftp.us.debian.org/debian/ squeeze main non-free deb http://security.debian.org/ squeeze/updates main non-free deb http://ftp.us.debian.org/debian/ squeeze-updates main non-free deb http://backports.debian.org/debian-backports squeeze-backports main non-free


 * Update the package cache:

sudo apt-get update


 * Download the wifi utils:

sudo apt-get install wireless-tools usbutils


 * Download the required firmware and put it in the correct location - you may not need to do this for your adapter or you may need different firmware - see below.

sudo apt-get install firmware-atheros sudo wget http://linuxwireless.org/download/htc_fw/1.3/htc_9271.fw sudo cp htc_9271.fw /lib/firmware


 * Add adapter definition to network config - eg: sudo vi /etc/network/interfaces - add the wlan0 section:


 * 1) Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
 * 2) /usr/share/doc/ifupdown/examples for more information.

auto lo

iface lo inet loopback iface eth0 inet dhcp

auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa.conf
 * 1) The wireless interface


 * Plug in adapter


 * Confirm adapter is present:

root@raspberrypi:~# sudo iwconfig lo       no wireless extensions.

eth0     no wireless extensions.

wlan0    IEEE 802.11bgn  ESSID:off/any Mode:Managed Access Point: Not-Associated   Tx-Power=20 dBm Retry long limit:7   RTS thr:off   Fragment thr:off Encryption key:off Power Management:off


 * Scan your network to see what wireless access points can be seen. You may need to do this to identify your network's SSID (name), but it also confirms that the wifi dongle is doing something. The first command just lists the SSIDs found, the second tells you probably more than you ever want to know:

sudo iwlist wlan0 scan | grep ESSID or sudo iwlist wlan0 scan


 * Create the wpa.conf file - eg: sudo vi /etc/wpa.conf:

Note: The ssid is case sensitive - if your WLAN's SSID is MYLAN, using "mylan" will not work - you won't connect!

network={ ssid="NETWORK-SSID" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="YOUR-WLAN-PASSWORD" }


 * Start the adapter

sudo ifup wlan0


 * Double-check whether you are connected - below the WLAN interface has been given an IP address - looks good!

root@raspberrypi:~# ifconfig eth0     Link encap:Ethernet  HWaddr b8:27:eb:76:7e:2e inet addr:192.168.202.75 Bcast:192.168.202.255  Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1488  Metric:1 RX packets:1060 errors:0 dropped:0 overruns:0 frame:0 TX packets:146 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:95749 (93.5 KiB) TX bytes:48493 (47.3 KiB)

lo       Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436  Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)

wlan0    Link encap:Ethernet  HWaddr b0:48:7a:91:5c:f4 inet addr:192.168.222.161 Bcast:192.168.222.255  Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1 RX packets:31 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2260 (2.2 KiB) TX bytes:1542 (1.5 KiB)

If you are now connected, well done! If not, check your editing and also have a look at the output of dmesg to see if you have any error messages. You can also view the system log for messages - for example: sudo cat /var/log/messages | more

You are connected, you can ping and be pinged, hovewer to add network connectivity you may want to specify define default gateway: sudo route add default gw 192.168.1.254 wlan0

Using an Android display device and router

 * How to use an Android tablet as a Raspberry Pi console terminal and internet router
 * Display a Raspbian desktop on Android using VNC
 * X Window System