Intel Edison


Repository| Issues

The Intel Edison is a wifi and Bluetooth® enabled development platform for the Internet of Things. It packs a robust set of features into its small size and supports a broad spectrum of I/O and software support.

For more info about the Edison platform click here.

How to Install

Setting up your Intel Edison

Everything you need to get started with the Edison is in the Intel Getting Started Guide located here. Don't forget to configure your Edison's wifi connection and flash your Edison with the latest firmware image!

In order to enable Ethernet over USB on your Edison, follow the appropriate guide for your OS

Windows
  • Go to control panel -> network and sharing center -> change adaptor settings
  • When you plug both usb cables into your computer, you should see a new network device show up
  • Right click on the new device and select properties
  • Scroll down to IPv4 and select properties
  • Select "Use the following IP address"
  • Set the IP information to:
    • IP address: 192.168.2.1
    • Subnet mask: 255.255.255.0
    • Default gateway: 192.168.2.255
    • Preferred DNS server: 8.8.8.8
  • Save the changes
  • open putty
  • ssh to 192.168.2.15
  • The user is 'root' and the password is what you configured during the getting started guide
OS X
  • Install the usb tethering driver http://joshuawise.com/horndis#available_versions
  • Open network preferences
  • Plug your Edison into your computer
  • Find the device Edison
  • Configure IPv4: Using DHCP with manual address
    • 192.168.2.1
  • Open a terminal
  • $ ssh [email protected]
Linux
  • Examine your /etc/network/interfaces file, if you do not have this line, you must add it and then restart your computer iface usb0 inet dhcp
  • Plug your Edison into your computer
  • $ sudo ifconfig usb0 192.168.2.1 255.255.255.0
  • $ ssh [email protected]

The Edison is now able to use it's wifi connection to reach the internet and your local USB to Ethernet connection for local ssh access and programming. If you have problems reaching the internet, you may need to setup the DNS on your Edison.

Execute the following command on the Edison itself

# cat "nameserver 8.8.8.8 > /etc/resolv.conf"

If you have a valid wifi connection, you should be able to reach out of your network!

Ethernet over USB internet sharing

If you are using ethernet over USB then you can enable internet sharing on your Edison by executing this command on the Edison itself :::bash /sbin/route add default gw 192.168.2.1

Now you're ready to install MRAA and Cylon.

Install MRAA

After you have flashed your Intel board and connected it to a network, you must now install the latest version of the Intel MRAA library. In order to update MRAA you simply log into your Intel board, through ssh or the uart serial connection, and follow the steps here.

Install Cylon.js

Once you have flashed your Intel board with the latest firmware as well as updated MRAA, you will now install cylon-intel-iot. To do this you must be logged into the board, through ssh or the uart serial connection, and execute the following command

$ npm install cylon cylon-intel-iot

Once cylon-intel-iot has been installed , you're ready to start programming!

How to Use

Blinking the built in LED

var Cylon = require('cylon');

Cylon.robot({
  connections: {
    edison: { adaptor: 'intel-iot' }
  },

  devices: {
    led: { driver: 'led', pin: 13 }
  },

  work: function(my) {
    every((1).second(), my.led.toggle);
  }
}).start();

Bluetooth Programming on the Intel Edison featuring Sphero

The Edison includes a bluetooth radio right on the board itself, so it's easy to get started programming bluetooth devices out of the box. First we need to enable bluetooth on the Edison. - ssh into your Edison - # rfkill unblock bluetooth - # bluetoothctl - [bluetooth]# scan on - Find your Sphero and take note of the MAC address - [bluetooth]# scan off - [bluetooth]# pair [MAC address of Sphero] - [bluetooth]# exit - # rfcomm bind 0 [MAC address of Sphero] 1 - This will create a sphero connection bound to /dev/rfcomm0 - # npm install cylon cylon-intel-iot cylon-sphero

This example will flash the built in LED whenever the Sphero detects a collision

var Cylon = require('cylon');

Cylon.robot({
  connections: {
    edison: { adaptor: 'intel-iot'},
    sphero: { adaptor: 'sphero', port: '/dev/rfcomm0' }
  },

  devices: {
    led: { driver: 'led', pin: 13, connection: 'edison' },
    sphero: { driver: 'sphero', connection: 'sphero' }
  },

  work: function(my) {
    console.log("Setting up Collision Detection...");
    my.sphero.stop();
    my.sphero.detectCollisions();

    my.sphero.on('collision', function() {
      console.log("Collision");
      my.led.toggle();
    });
  }
}).start();

How to Connect

The Intel Edison Getting Started Guide details connection instructions for Windows, Mac and Linux.

Drivers

Available drivers for the Edison platform are listed below.