NAzT
11/15/2013 - 9:22 AM

Notes.md

  • Get Node directly from the originating source at NodeJs.org (Joyent). They have a RPi binary distribution. Review the latest node distro directory, and then download the appropriate file name. To automate downloading the latest version, first curl the directory, and grep to find the only "arm-pi" HREF for the wget command:
mkdir -p ~/tmp
cd ~/tmp

# Download and unzip the latest Node.js for ARM-Pi which was built and distributed by NodeJs.org
wget -N http://nodejs.org/dist/latest/`curl http://nodejs.org/dist/latest/ | grep arm-pi | grep -o -E 'href="([^"#]+)"' | cut -d'"' -f2`
tar -zxvf node-v*arm-pi*.tar.gz
  • Move the node binaries and docs
# Remove any old node version. Create the dir again
sudo rm -r -f /opt/node
sudo mkdir /opt/node

# Move the expanded files
sudo mv node-v*arm-pi*/* /opt/node

# Symlink node and npm to somewhere already in the path. Debate where... 
sudo ln -s -f /opt/node/bin/node /usr/bin/node
sudo ln -s -f /opt/node/bin/npm /usr/bin/npm

# test
which node && node --version
which npm && npm --version

# Cleanup [optional]
rm -r node-v*
# 
# /etc/wpa_supplicant/wpa_supplicant.conf
# config will connect to either WPA1 or WPA2
#
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={
  ssid="__SSID__"
  psk="__PSK__"

  # Protocol type can be: RSN (for WP2) and WPA (for WPA1)
  proto=WPA RSN
  group=CCMP TKIP

  # Pairwise can be CCMP or TKIP (for WPA2 or WPA1)
  pairwise=CCMP TKIP

  # Key management type can be: WPA-PSK or WPA-EAP (Pre-Shared or
  # Enterprise)
  key_mgmt=WPA-PSK

  #Authorization option should be OPEN for both WPA1/WPA2 (in less
  #commonly used are SHARED and LEAP)
  auth_alg=OPEN
}
#
# /etc/network/interfaces
#
auto lo

iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
  wpa_roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

Notes

Install of Wheezy-Raspbian v2013-09-25

Configure Raspberry Pi from Mac OS X

  • Download Raspbian Raw image

  • From the OS X command line. Following these eLinux SD Card Setup. To summarize:

    • diskutil list
      • identify the disk (not partition) of your SD card. e.g. disk4 (not disk4s1)
    • diskutil unmountDisk /dev/<disk# from diskutil>
      • e.g. diskutil unmountDisk /dev/disk3
    • sudo dd bs=1m if=<your image file>.img of=/dev/<disk# from diskutil>
      • e.g. sudo dd bs=1m if=2013-09-25-wheezy-raspbian.img of=/dev/disk4
      • (This will take some time)
  • Start-up the Raspberry Pi

    • Insert the SD Card
    • Setup I/O access, using either of two possible options:
      1. External display
        • Connect a keyboard to the RPi USB port
        • Plug NTSC/PAL TV into RPi composite port or HDMI monitor to the HDMI Port.
        • Turn on when connected with RPi Micro USB port cable. Powered via a computer USB port, or a USB wall charger.
      2. Terminal Emulator with USB to TTL Serial Cable console cable connected to the RPi GPIO
  • Follow these Adafruit instructions for post boot setup using Raspi_Config. To summarize:

    • Expand the SD card partition to it's full size. (e.g. 16GB)
    • Using the Whole Screen
    • Changing Timezone
    • [optional] Booting into Desktop when using external monitor
    • [optional] Change password
    • Choose menu item "Advanced Options"
      • Change Hostname e.g. hostname_pi
      • Enable the SSH server
      • Update Raspi_Config
  • Start with any linux (raspbian) updates

sudo apt-get update
sudo apt-get upgrade
  • I have a few old USB Belkin F5D8053.v4 WiFi which work even if not on the list

  • If Wifi, do WiFi management using WpaSupplicant.

    sudo apt-get install wpasupplicant
    
    • Generate a WPA PSK from an ASCII passphrase. Put output into wpasupplicant CONF file
    wpa_passphrase "__SSID__"
    
    • Create the etc/network/interfaces file (shown below).
    • Create the /etc/wpa_supplicant/wpa_supplicant.conf file (shown below).
  • Avahi implements the Apple Zeroconf specification, (like bonjour) after this it is easy to ping hostname_pi.local from OS X or other Zeroconf configured machine

sudo apt-get install avahi-daemon
  • Connect using SSH over wifi.

    • Disconnect console cable which is connected to the RPi GPIO.
    • Disconnect external monitor and keyboard.
    • Power with the Micro USB cable.
    ssh pi@hostname_pi.local
    
  • [Optional] Follow the Adafruit instructions to setup and control with desktop UI using VNC.