Recent Changes - Search:

edit SideBar

Edison

Notes about getting Accessors running on the Intel Edison.

Summary

The Signposts Platform uses the Intel Edison. We would like to run accessors on this.

One idea is to get a better idea of the memory size issues.

Hardware

Initial Setup

  1. Attach the brass post bases to the Edison
  2. Connect it to the the Base Kit
  3. Put the screens in to the brass post bases connected to the Edison
  4. Put the brass post bases on to the Base Kit
  5. Go to https://software.intel.com/en-us/get-started-edison-osx
  6. Plug in to the OTG micro-usb connector and in to the host
    1. Mac: If you have problems with the serial port, see Mac OS Missing TTY Port
  7. Download the Signpost image from https://github.com/lab11/signpost/tree/master/software/edison
    1. Install git-lfs:
      sudo port install git-lfs
    2. Clone the repository:
      git clone https://github.com/lab11/signpost.git
    3. Track the image (see git-lfs for details about tracking):
      bash-3.2$ cd signpost/software/edison                                                                                    
      bash-3.2$ ls                                                                                                              
      README.md       toFlash.tar.gz                                                                                            
      bash-3.2$ git lfs track toFlash.tar.gz                                                                                    
      Tracking toFlash.tar.gz                                                                                                  
      bash-3.2$ git checkout toFlash.tar.gz                                                                                              
      Downloading software/edison/toFlash.tar.gz (151.00 MB)
  8. We don't use the Intel Edison Setup App, see Edison Signpost Firmware Failed To Update
  9. Untar toFlash.tar.gz and run ./flashall.sh:
    #Assuming brew is already installed
    brew install dfu-util coreutils gnu-getopt
    tar -zxf toFlash.tar.gz
    cd toFlash
    ./flashall.sh
  10. In the Finder, unmount the Edison partition
  11. Be sure to be plugged in to the otg port, not the console port of the SparkFun Base Kit for Intel® Edison KIT-14105

Signpost Edison Image

After installing the Signpost Edison Image, the Intel Edison Setup Application was not able to set the name or change the password or adjust the Wi-Fi.

I was not able to use wpa_cli to setup Wi-Fi with the Signpost Edison Image, but I was able to do so with the default latest image.

However, using nmcli works with Signpost Edison Image:

  1. Connect the Edison's screen port to the host
  2. Use ls -ltr /dev/ | tail to find the tty. For example:
    bash-3.2$ ls -ltr /dev/ | tail
    crw-------  1 root  wheel           23,   2 Feb 23 14:27 bpf2
    crw-rw-rw-  1 root  wheel           14,   0 Feb 23 14:44 random
    crw-rw-rw-  1 root  wheel            3,   2 Feb 23 14:51 null
    crw-rw-rw-  1 root  wheel           18,  17 Feb 23 14:51 io8logtemp
    crw-rw-rw-  1 root  wheel           20,  10 Feb 23 14:52 tty.usbserial-DN02BIYU
    crw-rw-rw-  1 root  wheel           20,  11 Feb 23 14:52 cu.usbserial-DN02BIYU
    crw--w----  1 cxh   tty             16,   1 Feb 23 14:52 ttys001
    crw-rw-rw-  1 root  wheel            2,   0 Feb 23 14:52 tty
    crw-rw-rw-  1 root  tty             15,   4 Feb 23 14:52 ptmx
    crw--w----  1 cxh   tty             16,   0 Feb 23 14:52 ttys000
    bash-3.2$
  3. On the host, run screen /dev/tty.usbserial-DN02BIYU 115200
  4. Become root: sudo -i
  5. Run nmcli dev wifi con "EECS-PSK" password "xxxx"

Update Node

Node is installed on the default image but not on the Signpost image.

On the default image, even thought it is an older version, it seems to work OK with accessors:

root@edison:/etc/opkg# node --version
v4.4.3

  • Edison Node Notes - how to install Node (Also: how to fix certificate problems by setting the date)

Cape Code SSH Deployment

Below, we use Cape Code to generate a composite accessor and then deploy it to the Edison.

Set up the sbuser account on the Edison

  1. Get access to the swarmboxadmin git repo
  2. If you have not yet done so, add your public key to sbuser_authorized_keys:
    1. Check to see if your key is present:
      bash-3.2$ cd swarmboxadmin/ansible/keys
      bash-3.2$ cat ~/.ssh/id_rsa.pub
      cat ~/.ssh/id_rsa.pub
      ssh-rsa xxxxxxx cxh@carson.EECS.Berkeley.EDU
      bash-3.2$ grep cxh@carson sbuser_authorized_keys
      grep cxh@carson sbuser_authorized_keys
      ssh-rsa xxxxxxx cxh@carson.EECS.Berkeley.EDU
      bash-3.2$
    2. If your key is not present, try
      cat ~/.ssh/id_rsa.pub >> sbuser_authorized_keys
      git commit -a -m "Added my public key." sbuser_authorized_keys
      git push
  3. Create a tar file of the keys:
    tar -cf /tmp/keys.tar sbuser_*
    scp /tmp/keys.tar user@128.32.39.207:/tmp
    rm /tmp/keys.tar
    In the above, 128.32.39.207 is the IP address of the Edison box.
  4. On the edison, as root
    adduser sbuser
    cd ~sbuser
    mkdir .ssh
    chmod 0700 .ssh
    cd .ssh
    tar -xf /tmp/keys.tar
    rm /tmp/keys.tar
    mv sbuser_authorized_keys authorized_keys
    mv sbuser_id_rsa id_rsa
    mv sbuser_id_rsa.pub id_rsa.pub
    chmod 0600 id_rsa
    cd ..
    chown -R sbuser .ssh
  5. On the machine where you will be running Cape Code, test ssh:
    bash-3.2$ ssh sbuser@128.32.39.207 date
    Thu Feb 16 23:23:05 UTC 2017
    bash-3.2$
  6. If necessary, Install Ptolemy II on your machine (Ptolemy II is installed on a machine with a graphical display not on the Edison)
  7. Start up Cape Code
    $PTII/bin/vergil $PTII//ptolemy/cg/kernel/generic/accessor/test/auto/RampJSTestDisplay.xml
  8. Double click on the AccessorSSHCodeGenerator and change the userHost to sbuser@hostNameOrIP. For example sbuser@128.32.39.207
  9. Click Generate. The first run will take a few minutes because various Node Package Manager (npm) modules are downloaded.

System Update

  • System Update (Yocto Wiki) - outlines a number of possibilities
  • Ansible Pull - this is what we use for the SwarmBoxes. We might want to use a different system that will survive power outages etc.

However, as the Signpost-specifc Edison image is available via GitHub, maybe this does not make sense.

See Also

Edit - History - Print - Recent Changes - Search
Page last modified on February 23, 2017, at 10:53 pm