Installation - GerardT/Arro GitHub Wiki

Welcome to the Arro wiki!

Installation

Create a directory where all Git clones will go, e.g. 'git' in the home directory (/home/pi/git).

For all commands that should be typed on the command line, I put "$ " in front.

For my convenience, I started making the RPI zero-conf so I can ssh after reboot.

Setup zero-conf IP installation

  • $ sudo apt-get install avahi-daemon
  • $ sudo insserv avahi-daemon
  • then using 'vi' or any other editor:
    • $ sudo vi /etc/avahi/services/multiple.service

The contents of this file should be something like the following, courtesy of aXon on the Rasperry Pi forums:

<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
        <name replace-wildcards="yes">%h</name>
        <service>
                <type>_device-info._tcp</type>
                <port>0</port>
                <txt-record>model=RackMac</txt-record>
        </service>
        <service>
                <type>_ssh._tcp</type>
                <port>22</port>
        </service>
</service-group>

From now on:

Install other packages

'Arro' library itself

Google protobuf

  • $ git clone https://github.com/google/protobuf
  • Install tools as listed in protobuf/src/README.md (using apt-get).
  • Inside protobuf:
  • $ run ./autogen.sh
  • then enter commands as described in protobuf/src/README.md (./configure, make, ...)

Python libraries

  • $ sudo apt-get install python-setuptools
  • $ sudo apt-get install python-dev
  • enter commands as described in python/README.md

For managing web sockets:

Autobahn.twisted python libraries

  • $ sudo pip install --upgrade pip
  • $ sudo pip install Twisted==16.0.0
  • $ sudo pip install autobahn

For web components

First install npm and bower (not sure update and upgrade are needed):

  • $ sudo apt-get update

  • $ sudo apt-get upgrade

  • $ sudo apt-get install nodejs npm

  • $ sudo npm install -g bower

  • In directory pi/git:

    • $ bower install --save PolymerElements/paper-elements#1.0.7
  • In directory pi/git/Arro/WebServer:

    • $ ln -s ../../bower_components/ .

Make everything start at boot

  • in /etc/init.d create a symbolic link:

    • $ sudo ln -n /home/pi/git/Arro/Launch/arrowebserver .
    • $ sudo ln -n /home/pi/git/Arro/Launch/arroruntime .
  • start manually:

    • $ sudo /etc/init.d/arrowebserver start
    • $ sudo /etc/init.d/arroruntime start
  • or (even better) auto-start both upon system boot:

    • $ sudo update-rc.d arrowebserver defaults
    • $ sudo update-rc.d arroruntime defaults
⚠️ **GitHub.com Fallback** ⚠️