Intel Edison Tutorial: Introduction, Linux Operating

Intel® Edison Tutorial:
Introduction, Linux Operating System
Shell Access and SFTP
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
1
Table of Contents
Introduction......................................................................... Error! Bookmark not defined.
List of Required Equipment and Materials................................................................... 3
Intel Edison Overview .................................................................................................... 4
Key Features ........................................................................................................................... 4
Assembly ........................................................................................................................ 5
Linux Operating System Shell Access – Serial Terminal Connection ...................... 8
Hardware Setup ...................................................................................................................... 8
Windows Operating System ................................................................................................ 10
Apple Mac OS-X Operating System .................................................................................... 13
Linux Operating System ...................................................................................................... 13
Login and Setup ................................................................................................................... 14
Enabling SSH Access to the Intel Edison .................................................................. 16
Establishing Wireless Network Access – Wi-Fi ......................................................... 17
Verification ............................................................................................................................ 19
Shell Access – SSH Connection ................................................................................. 20
Windows Operating System ................................................................................................ 22
Mac OS-X and Linux Operating Systems ........................................................................... 25
SFTP Access – Cyberduck .................................................................................................. 26
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
2
Introduction
This tutorial will guide users through the following tasks:
1. Examination of an overview of the Intel Edison Compute Module
2. Assembling an Intel Edison kit
3. Learning how to access the Linux Operating System Shell of an Intel Edison through a:
1. Wireline USB serial connection
2. Wireless Wi-Fi SSH connection
4. Transferring files between an Intel Edison and a personal computer using a graphical SFTP
application
List of Required Equipment and Materials
1x Intel Edison Compute Module
1x Edison Board for Arduino
2x USB 2.0 A-Male to Micro B Cable (micro USB cable)
1x powered USB hub OR an external power supply
1x Personal Computer with
1. At least 1x USB 2.0 port
2. Windows (Windows 8 or newer) OR
3. Mac OS X (Mountain Lion or newer) OR
4. Linux
6. Access to a network with an internet connection
1.
2.
3.
4.
5.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
3
Intel Edison Overview
The Intel Edison development platform is designed to lower the barriers to entry for a range of
inventors, entrepreneurs, and consumer product designers to rapidly prototype and produce
“Internet of Things” (IoT) and wearable computing products.
Figure 1. Intel Edison Compute Module attached to Edison Board for Arduino
Key Features
•
•
•
•
•
•
•
•
•
•
Integrated CPU and MCU
o CPU: Dual-core, dual-threaded Intel Atom 22nm CPU at 500MHz
o MCU: 32-bit Intel Quark microcontroller at 100MHz
Yocto Embedded Linux
Integrated Wi-Fi (on board the Intel Edison Compute Module)
o Dual-band (2.4 and 5 GHz)
Integrated Bluetooth (BT 4.0) (on board the Intel Edison Compute Module)
40 external interfaces
o SD Card
o UART, I2C, SPI, I2S
o GPIO, PWM
o USB 2.0
o Clock output (32KHz, 19.2MHz)
Memory
o 1GB RAM (2 channel 32-bits at 800MT/sec)
o 4GB Flash Storage (4GB eMMC, v4.51 spec)
Managed online community for project ideas and engagement with other product users
Intel product expert support and open source community software tools
Access to device-to-device and device-to-cloud connectivity framework to enable cross
device communication and a cloud based, multi-tenant, time-series analytics service
For additional information, please refer to the below link
http://www.intel.com/content/www/us/en/do-it-yourself/edison.html
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
4
Assembly
1. Watch the following video and then complete the steps below.
https://software.intel.com/en-us/videos/intel-edison-kit-for-arduino-unboxing-and-assembly
2. The kit should contain the following items:
1x Intel Edison Compute Module
1x Edison Board for Arduino
4x Screws
4x Corner Spacers
2x Nuts
3. Place the Intel Edison Compute Module on the bottom left corner of the Edison board for
Arduino.
4. Press on the Intel Edison Compute Module just below the label: “What will you make?” .
Press until the connectors engage with a snap. Please note that the module must be securely
attached to the Edison Board for Arduino.
Figure 2. Contents of the Intel Edison kit
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
5
5. Use the nuts to secure the Intel Edison Compute Module to the Edison Board for Arduino.
Figure 3. Close-up view of Intel Edison Compute Module
6. Attach the corner placers with the screws on the four corners of the Edison Board for
Arduino.
Figure 4: Close-up view of screws
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
6
Figure 5. How the screws should be placed on the Edison Board for Arduino
7. The board is now assembled! Examine the critical ports and switch on the right side of the
breakout board as indicated in the figure below.
Figure 6. Details of interfaces on the Edison Board for Arduino
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
7
Linux Operating System Shell Access – Serial Terminal
Connection
It is necessary to access the Linux Operating System through the shell program on the Intel
Edison Compute Module to begin developing an IoT project. For more information about Linux,
refer to the document labelled Intel Edison Tutorial – Introduction to Linux after completing
this tutorial.
This tutorial will provide documentation on two methods of communication with your Intel
Edison. These methods are listed below.
1. Serial terminal for communication over a USB wireline connection.
2. SSH communication over a wireless Wi-Fi network.
In order for the Intel Edison to service incoming SSH connections, it must first be configured to
accept SSH connections. This can be done by accessing the shell program via a serial terminal
session. Follow the below steps to access the shell program via a serial terminal session.
NOTE: When instructed to issue a command, type the bolded text into the shell prompt, and
press [Enter].
Hardware Setup
1. Ensure the board in “device mode” by lowering the position of the switch highlighted
below.
Figure 7. Switching the Edison board for Arduino to “device mode”
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
8
2. Plug the power supply into the wall. Connect the power supply to the indicated interface.
OR
Connect the USB A-male side (regular USB) to your personal computer. Connect the
USB micro-B (micro USB) side to the indicated interface.
Figure 8. Highlighting the interfaces that provide power to the Intel Edison
3. Connect the USB micro-B side of the cable to the indicated serial interface.
Figure 9. Highlighting the interface that provides wireline serial access
4. Follow the steps below for your computer’s operating system.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
9
Windows Operating System
1. This section applies only to Windows operating system computers. Please skip this
section if your personal computer does not use the Windows operating system.
2. Carefully watch, prior to performing any steps, the below two videos:
https://software.intel.com/en-us/videos/intel-edison-set-up-your-computer-windows
https://software.intel.com/en-us/videos/shell-access-windows
3. Download and install the PuTTY program on your personal computer.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
4. Execute the PuTTY program.
Select Session from the category on the left and select Serial as the connection type.
Figure 10. The window that should appear after starting PuTTY
5. Open the device manager. (see: http://www.computerhope.com/issues/ch000833.htm)
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
10
6. Expand the Ports (COMS & LPT) section and record the COM value in the brackets
next to the device listed as USB Serial Port.
If there is no category that matches Ports (COMS & LPT) or if there are no devices
listed under this category, reboot your personal computer, and repeat the steps above.
Figure 11. Discovering the port number from the Device Manager
In this case, the COM port is COM12.
7. Type the COM that recorded in step 6 into the line labelled “Serial line”. Refer to Figure
12 for clarification.
8. Enter 115200 in the line labelled “Speed”.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
11
9. The PuTTY Configuration window should match the below screenshot.
Figure 12. What the PuTTY window should resemble after correctly configuring PuTTY
The “Serial line” field will differ as per Step 6.
10. Click Open then a blank screen will appear.
11. Proceed to the section labelled Login and Setup.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
12
Apple Mac OS-X Operating System
1. Carefully watch, prior to performing any steps, the below video:
https://software.intel.com/en-us/videos/shell-access-mac
2. Open the Terminal utility.
Terminal is a built-in application for Mac OS-X.
3. Find the Intel Edison device by issuing the below command:
ls /dev/cu.usbserial-*
Note that there is a space between “ls” and “/dev/”.
Figure 13. Discovering your Intel Edison device using the command line interface
4. Unplug the USB micro-B cable from the UART serial USB interface (the interface
closest to the corner of the board).
5. Re-issue the command from Step 3. The device that is no longer listed is the Intel Edison.
6. Plug the USB micro-B cable back into the UART serial USB interface.
7. Issue the below command:
screen /dev/cu.usbserial-XXXXXXXX 115200
Note that there is a space between “screen” and “/dev/”.
Replace XXXXXXXX with what you found in the previous steps. (in this example,
A502OP7S)
If this command does not function as expected, please disconnect then reconnect the USB
cables to the board. If the issue is not resolved, reboot your personal computer and repeat
the above steps.
8. A blank screen will appear.
9. Proceed to the section labelled “Login and Setup”.
Linux Operating System
Refer to https://software.intel.com/en-us/setting-up-serial-terminal-on-system-with-linux.
Proceed to the section labelled “Login and Setup”.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
13
Login and Setup
The below section is intended for all users.
1. At the blank screen, press [Enter].
2. The login screen is displayed. If not, press [Enter] again.
If this screen does not appear after pressing [Enter], unplug the USB cable from the
UART serial interface and repeat the above steps to access the shell program on the Intel
Edison.
If the issue persists, power cycle the Intel Edison by removing all USB and power cables
from the Edison Board for Arduino. Wait about 10 seconds, then reconfigure the cables
to match the arrangement described in the section labelled Hardware Setup. Once the
Intel Edison has successfully completed the boot process, repeat the steps in the section
labelled Linux Operating System Shell Access – Serial Terminal Connection.
Please contact the course instructor if the Intel Edison remains undiscoverable.
Figure 14. Login screen, seeing this indicates all previous steps are successfully completed
3. When prompted for a username, type
root
Press [Enter].
If the Intel Edison requests user input for a password, please see the course instructor. An
alternative strategy includes flashing the latest Linux Yocto Embedded image onto the
Intel Edison Compute Module. This will remove all passwords from the device. For
detailed instructions, refer to the document labelled Troubleshooting Guide.
4. You have logged into the Yocto Embedded Linux Operating System on the Intel Edison.
On successful login, a command line interface for interacting with the Linux Operating System
through the shell program will appear. Similar to a personal computer, the Intel Edison has its
own operating system called Yocto Embedded Linux. It is a light-weight version of Linux that
includes preinstalled tools for IoT development. This custom Linux image is created with the
Yocto project, which is an open source project that provides templates, tools, metadata, recipes,
and documentation to assist development of custom Linux for any embedded computing device.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
14
To learn more about the Yocto Embedded Linux Operating System, refer to document labelled
Intel Edison Tutorial – Introduction to Linux.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
15
Enabling SSH Access to the Intel Edison
Follow the below steps to enable SSH access after successfully accessing the shell program on
the Intel Edison via a serial terminal connection.
1. Read the suggestions below and proceed to issue the following command:
configure_edison --setup
Note that there are two ‘–’s in front of the “setup”. There is also a space between
configure_edison and the first ‘–’.
After issuing the above command and reading the below suggestions, follow the
onscreen instructions and prompts as required.
2. Pick a unique name for the Intel Edison. This will be useful to identify different Intel
Edison boards when building more complex projects. Follow the suggested naming
convention.
JoeBruin_Edison
JenBruin_Edison
3. Pick a simple password (such as “password123”) that can be shared with group members
or course instructors. Record this password in a secure location.
If the password for the root account is lost, the user will be required to reinstall the latest
Yocto Embedded Linux Operating System. This process requires writing digital contents
to the nonvolatile (flash) memory of a computing device. It is a is time consuming
process that will result in the loss of all files and data present in the flash memory of the
Intel Edison. If this is necessary, refer to the document labelled Troubleshooting Guide
to reinstall Yocto Embedded Linux on the Intel Edison.
4. Once the onscreen instructions request user input for Wi-Fi network access, proceed to
step 3 in the below section labelled Establishing Wireless Network Access – Wi-Fi.
5. To change the password at a later date, issue the command below, and follow the
onscreen instructions.
configure_edison --password
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
16
Establishing Wireless Network Access – Wi-Fi
Most modern operating systems, such as Windows or Mac, provide some graphical method to
configure Wi-Fi network access. However a graphical tool may not be easily accessible on some
popular Linux distributions such as Ubuntu, or Debian. On some of these systems, the Wi-Fi
configuration can be changed by editing a file labelled “interfaces”. This file can be found in the
directory labelled /etc/network/.
However, the Yocto Embedded Linux Operating System for the Intel Edison provides a
convenient command-line tool to configure network access over Wi-Fi. Follow the below steps
to establish a data transport channel between your Intel Edison board and a Wi-Fi network.
1. Access the shell using a serial terminal connection as described in the section labelled
Linux Operating System Shell Access – Serial Terminal Connection.
2. Issue the following command:
configure_edison --wifi
Note: there are two ‘-‘s in front of “wifi”.
3. A Wi-Fi configuration screen is displayed and it starts scanning for available networks.
Figure 15: Sample output from configure_edison --wifi
4. Follow the onscreen instructions.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
17
5. For operation on the UCLA campus, select the eduroam network. Read step 6 and enter
your network credentials.
NO OTHER NETWORKS AT UCLA WILL FUNCTION
If the Intel Edison appears to establish a connection to UCLA_SECURE_RES,
UCLA_WEB, UCLA_WIFI, UCLA_SECURE_RES, or UCLA_WIFI_RES and all
tests return successful, it may still not have unrestricted network access.
6. If your email address is joebruin@g.ucla.edu, omit the ‘.g’ such that your username is as
follows
username: joebruin@ucla.edu
password: Bruins1919 (the same password used for your my.ucla.edu account)
Figure 16 Screenshot outlining how to input your login credentials for the eduroam network
7. On Wi-Fi connection success, proceed to step 9 below. On Wi-Fi connection error, press
ctrl-C to issue an interrupt which will terminate the Wi-Fi configuration tool process.
Then proceed to step 8 below.
8. Issue the following commands in the given order. Then, repeat steps 2-6.
1.
2.
3.
4.
ifconfig usb0 down
ifconfig wlan0 down
ifconfig usb0 up
ifconfig wlan0 up
If the error persists, refer to the link below or consult the course instructor.
http://www.intel.com/support/edison/sb/CS-035234.htm
9. Proceed to the Verification section below.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
18
Verification
1. Verify that your personal computer and the Intel Edison are connected to the same
network. For instance, if the Intel Edison is connected to eduroam, your personal
computer must also be connected to eduroam.
2. Issue the following command:
configure_edison --showWiFiIP
3. If an IP address is returned, record it and proceed to step 4. If no IP address is returned,
attempt to re-establish network access. Follow the steps from the section labelled
Establishing Wireless Network Access – Wi-Fi.
4. Issue the following command in order to verify that the Intel Edison has internet access:
ping google.com
Figure 17: Sample output for when google.com is online and your Intel Edison has internet access
5. If the ping command is successful, proceed to the next section labelled Shell Access –
SSH Connection. If the ping google.com command returns an error such as
ping: bad address 'google.com'
Verify that Google is accessible by visiting www.google.com on a web browser on your
personal computer. If www.google.com is not accessible, attempt to access another
website on your web browser. If no websites are loading on your personal browser,
please contact the course instructor or IT system administrator.
If a website is through a web browser on your personal computer, attempt to ping it from
the Intel Edison by issuing the following command:
ping <other_website>
If this command returns the same error as above (bad address), please attempt to reestablish network access by following the steps in the section labelled Establishing
Wireless Network Access – Wi-Fi.
6. Press ctrl-C to quit.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
19
Shell Access – SSH Connection
SSH stands for “Secure SHell”. It is used to communicate in a secure manner over an unsecure
network.
If the SSH connection is established over a wireless Wi-Fi network, it can provide many
advantages over a serial terminal connection.
• The communication is encrypted, and is therefore more secure.
• A communication channel can be maintained between your personal computer and
multiple Intel Edison’s without the use of wireline USB cables. However, to function
correctly, the Intel Edison Compute Module requires a power supply, such as a battery or
AC-DC wall adapter.
• The steps to establish an SSH connection between your personal computer and the Intel
Edison also enables the transfer of files.
However, SSH connections also have disadvantages. These disadvantages stem mainly from
relying on a Wi-Fi network to establish an SSH connection. Some of these disadvantages are
listed below.
• Wi-Fi connections may have network latencies. These latencies may cause large delays
between performing an action (such as issuing a keystroke) and the consequential
reaction (such as executing a process or displaying the keystroke).
• Each time the Intel Edison board completes the boot process, the user must access the
shell program via a wireline serial connection. This is to verify that the Intel Edison has
network access, and to obtain the IP address assigned to the Intel Edison.
The eduroam network utilizes the Dynamic Host Configuration Protocol (DHCP) to
assign IP addresses; as it must service users connecting and disconnecting at unknown
time intervals. DHCP allows devices to request an IP address on connection initialization.
Devices may be assigned a static IP address, or have one automatically assigned to them
by DHCP. As such, devices that are not assigned a static IP address may not rely upon
having the same IP address on initialization of a connection with the Wi-Fi network
utilizing DHCP.
Follow the steps below to use SSH to access the shell program on your Intel Edison.
1. Establish a serial terminal connection with the Intel Edison.
2. Discover the IP address assigned to the Intel Edison by issuing the following command:
configure_edison --showWiFiIP
Figure 18. Discovering the IP address of your Intel Edison
The IP address assigned to the Intel Edison board is 131.179.12.118 in this scenario.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
20
3. Proceed to the instructions corresponding to the operating system of your personal
computer below.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
21
Windows Operating System
1. This section applies only to Windows operating system computers. Please skip this
section if your personal computer does not use the Windows operating system.
2. Download and install the MobaXTerm program on your personal computer. It provides a
graphical interface for SFTP and a method for establishing SSH connections.
http://mobaxterm.mobatek.net/MobaXterm_Setup_9.0.msi
3. Execute the MobaXTerm program.
4. Click the “session” button in the top left of the window.
Figure 19. Screenshot of the MobaXterm GUI
5. Click the “SSH” button in the top left of the new window.
Figure 20. Selecting the correct session for MobaXterm
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
22
6. Type in the IP address assigned to the Intel Edison into the dialog box labelled Remote
host *.
Figure 21. Entering the IP address of your Intel Edison into the MobaXterm prompt
7. Click ok.
When the shell requests login credentials by displaying the string “login as:” on standard
output, type root and press [Enter].
Figure 22. Providing the SSH client with the correct credentials to enable an SSH connection
8. Enter the password for the root account on the Intel Edison as assigned in the section
labelled Shell Access – SSH Connection.
The password field will not change as you enter the password.
A new dialog box will pop up, click “yes”.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
23
Figure 23. Prompt regarding login credential storage
9. You now have access to the shell program on the Intel Edison through an SSH
connection.
10. Another key feature that MobaXTerm provides is a GUI based SFTP client. To access
this feature, open the file explorer and attempt to drag and drop a file into the pane as
shown in the figure below.
Issue the command ls to show the contents of your current working directory. Notice how
the file is now listed in the current directory.
Transfer the file back onto your windows desktop by dragging it from the pane and onto
your desktop. Notice how you can interact with the newly transferred file.
Figure 24. SSH Client
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
24
Mac OS-X and Linux Operating Systems
Most Mac OS-X and Linux Operating Systems come preconfigured with command line utilities
to initiate SSH connections. Follow the below steps to learn the syntax of the ssh command.
1. This section applies only to Mac OS-X and Linux Operating System users. Please skip
this section if your personal computer does not use one of these operating systems.
2. Open a terminal window.
3. Issue the below command:
ssh root@<ip_address>
Note: Ensure that the command contains root@, if this is not provided, the SSH
connection be misconfigured and your login attempt will be denied.
Figure 25. Issuing the command to access the shell on the Intel Edison through an SSH connection
The IP address is 131.179.12.143.
4. If prompted to continue connecting, type yes and press [Enter].
Figure 26. Example SSH authentication prompt
5. Enter the password assigned to the root account when prompted and press [Enter]. The
password field will remain blank as you are inputting characters. This is a security
feature.
Figure 27. Intel Edison prompt for user to input password
6. You have successfully established an SSH connection with the Intel Edison.
Figure 28. Screen after successfully logging into your Intel Edison
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
25
SFTP Access – Cyberduck
SFTP stands for “SSH File Transfer Protocol”. It is a network protocol that provides file
access, file transfer, and file management over a potentially insecure network. This section
describes how to use a GUI to transfer files between your Intel Edison and your personal
computer utilizing SFTP.
1. This section pertains to personal computers with Mac OS-X. If your personal computer
has the Windows Operating System and you would like to learn about using Cyberduck,
proceed with the below section.Download and install the Cyberduck from the following
link. (https://cyberduck.io/?l=en)
2. Execute the Cyberduck app.
3. Click “open connection” in the top left corner.
Figure 29. Opening a new connection using the Cyberduck application
4. A dialog box will appear.
Figure 30. Dialog box that prompts user to input the relevant connection information
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
26
5. Change the protocol to SFTP.
Figure 31. Selecting SFTP for the file transfer protocol
6. Enter root in the Username field, the password assigned to the root account in the
Password field, and the IP address assigned to the Intel Edison in the Server field.
Figure 32. Example login prompt screen
7. An SFTP connection has been successfully established between the Intel Edison and your
personal computer.
8. To transfer a file using SFTP, open the file explorer (Finder on Mac OS-X). Next, drag
and drop a file into the Cyberduck application. The window should also display a current
list of files onboard the Intel Edison.
9. Issue the command ls to the shell program. This will display the contents of the current
working directory. Notice how the transferred file is now listed in the current directory.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
27
10. Transfer the file back to your personal computer by dragging it from the Cyberduck
application and onto your personal computer’s desktop. Notice how you can interact with
the file transferred from the Intel Edison.
Intel® Edison Tutorial: Introduction, Linux Operating System Shell Access and SFTP
28
Download PDF