You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/hardware/02.uno/boards/uno-q/tutorials/05.ssh/ssh.md
+30-32Lines changed: 30 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,37 +7,36 @@ author: Karl Söderby
7
7
8
8
The [Arduino® UNO Q](https://store.arduino.cc/products/uno-q) can be programmed via the [Arduino App Lab](/software/app-lab/), a desktop application supporting code editing and running [Apps](/software/app-lab/tutorials/getting-started/#create--run-apps) on the board without any external tools.
9
9
10
-
The board's microprocessor (running Debian OS) can also be accessed using Secure Shell (SSH), a method that allows remote connection to your board over a local network. This allows you to among other things:
10
+
The board's microprocessor (running Debian OS) can also be accessed using Secure Shell (SSH), a method that allows remote connection to your board over a local network. This allows you to, among other things:
11
11
- Access the board's shell and perform operations on the board remotely.
12
-
- Transfer files from your local computer to the board remotely (using SCP)
12
+
- Transfer files from your local computer to the board remotely (using SCP).
13
13
14
-
The UNO Q board comes pre-packaged with the Arduino App Lab, which is based on the `arduino-app-cli` tool<sup>1</sup> This allows you among other things, to **launch Apps through the command line**, instead of using the desktop App.
14
+
The UNO Q board comes pre-packaged with the Arduino App Lab, which is based on the `arduino-app-cli` tool<sup>1</sup>. This allows you, among other things, to **launch Apps through the command line**, instead of using the desktop App.
15
15
16
-
<sup>1</sup> Read more about the `arduino-app-cli` in the [Arduino App CLI guide](/software/app-lab/tutorials/cli/)
16
+
<sup>1</sup> Read more about the `arduino-app-cli` in the [Arduino App CLI guide](/software/app-lab/tutorials/cli/).
17
17
18
18
## Requirements
19
19
20
20
### Hardware Requirements
21
21
22
22
-[Arduino® UNO Q](https://store.arduino.cc/products/uno-q)
23
-
- 5 VDC 3 A power supply (e.g. a phone charger or USB port from computer)
23
+
- 5 VDC 3 A power supply (e.g., a phone charger or USB port from a computer)
24
24
25
25
### Software Requirements
26
26
27
27
-[First setup](/software/app-lab/tutorials/getting-started/#install--set-up-arduino-app-lab) of board completed\*
28
-
- A SSH client tool installed on computer (MacOS, Windows 10+, Ubuntu has built-in SSH client tools)
29
-
- Access to local Wi-Fi® network (both computer & board needs to be on the same network)
30
-
31
-
***During the first setup, Wi-Fi® credentials are entered, and the board will automatically enable SSH - without completing it, it is not possible to access the board via SSH unless activated manually.***
28
+
- An SSH client tool installed on the computer (macOS, Windows 10+, Ubuntu has built-in SSH client tools)
29
+
- Access to a local Wi-Fi® network (both computer & board need to be on the same network)
32
30
31
+
***During the first setup, Wi-Fi® credentials are entered, and the board will automatically enable SSH. Without completing it, it is not possible to access the board via SSH unless activated manually.***
33
32
34
33
## Installing SSH (Local Computer)
35
34
36
-
SSH is a network protocol, and not a tool itself. There are many different SSH tools to choose from, and most operating systems has a built-in tool. In this section, we will cover how to set it up on some common operating systems (MacOS, Windows, Ubuntu).
35
+
SSH is a network protocol, not a tool itself. There are many different SSH tools to choose from, and most operating systems have a built-in tool. In this section, we will cover how to set it up on some common operating systems (macOS, Windows, Ubuntu).
37
36
38
-
### MacOS
37
+
### macOS
39
38
40
-
MacOS features a built-in `ssh` tool based on [OpenSSH](https://www.openssh.com/), and **should work out of the box**. Check if the tool is present on your machine by running the following in a terminal:
39
+
macOS features a built-in `ssh` tool based on [OpenSSH](https://www.openssh.com/), and **should work out of the box**. Check if the tool is present on your machine by running the following in a terminal:
41
40
42
41
```sh
43
42
ssh -V
@@ -51,7 +50,7 @@ OpenSSH_9.9p2, LibreSSL 3.3.6
51
50
52
51
Which means it is working properly. ✅
53
52
54
-
***If you are running an outdated/custom system that for some reason does not feature SSH, you can look into installing [OpenSSH](https://formulae.brew.sh/formula/openssh) and [LibreSSL](https://formulae.brew.sh/formula/libressl) manually via e.g. Brew.***
53
+
***If you are running an outdated/custom system that for some reason does not feature SSH, you can look into installing [OpenSSH](https://formulae.brew.sh/formula/openssh) and [LibreSSL](https://formulae.brew.sh/formula/libressl) manually via, e.g., Brew.***
***For older Windows machines, use a package manager such as [Chocolatey](https://chocolatey.org/) to install the OpenSSH / LibreSSL.***
71
+
***For older Windows machines, use a package manager such as [Chocolatey](https://chocolatey.org/) to install OpenSSH / LibreSSL.***
73
72
74
73
### Linux (Ubuntu)
75
74
76
-
Many Linux OS include SSH clients, with no requirement to install additional tools. To verify tools are installed, open a terminal on your Windows machine, and type:
75
+
Many Linux OS include SSH clients, with no requirement to install additional tools. To verify tools are installed, open a terminal on your Ubuntu machine, and type:
77
76
78
77
```sh
79
78
ssh -V
@@ -91,25 +90,25 @@ This means it is working properly. ✅
91
90
92
91
## Connecting via SSH
93
92
94
-
To connect to an UNO Q board via SSH, we only need to know the **board name and password**. This is setup during the first setup.
93
+
To connect to an UNO Q board via SSH, we only need to know the **board name and password**. This is set up during the first setup.
95
94
96
-
1. Open a terminal
95
+
1. Open a terminal.
97
96
2. Run the following command:
98
97
99
98
```sh
100
-
ssh arduino@<boardname>.local #replace <boardname> with your boardname
99
+
ssh arduino@<boardname>.local #replace <boardname> with your board name
101
100
```
102
101
103
102
3. Type `yes` when asked to connect.
104
103
4. Enter the password for the board.
105
104
106
-
After entering the password, we should be entering the board's shell, and we can now perform operations!
105
+
After entering the password, you should enter the board's shell, and you can now perform operations!
107
106
108
-
See below how it should look like when we have successfully accessed the board's shell.
107
+
See below how it should look when you have successfully accessed the board's shell.
109
108
110
-
### MacOS Confirmation
109
+
### macOS Confirmation
111
110
112
-

111
+

113
112
114
113
### Windows Confirmation
115
114
@@ -121,15 +120,15 @@ See below how it should look like when we have successfully accessed the board's
121
120
122
121
## Arduino App CLI
123
122
124
-
The `arduino-app-cli` can be used to start & stop Apps on the board from the terminal. When accessing the board via SSH, we can run commands such as `arduino-app-cli app start <app>`.
123
+
The `arduino-app-cli` can be used to start & stop Apps on the board from the terminal. When accessing the board via SSH, you can run commands such as `arduino-app-cli app start <app>`.
125
124
126
125
More details on the `arduino-app-cli` tool can be found in the [Arduino App CLI guide](/software/app-lab/tutorials/cli/).
127
126
128
127
## File Transfer
129
128
130
129
To transfer files from your computer to the board, use the `scp` tool. The tool can be used to either **push** or **pull** files to and from the board.
131
130
132
-
This is done by specifying a local path on your computer (e.g. `/User/documents/file.xx`), and a path on the board (e.g. `/home/arduino/`).
131
+
This is done by specifying a local path on your computer (e.g.,`/User/documents/file.xx`), and a path on the board (e.g.,`/home/arduino/`).
133
132
134
133
### Push Files
135
134
@@ -149,17 +148,16 @@ To **pull** a file, use the command below:
This will pull the file to the directory where you run the command. `./` can be replaced by specifying a path (e.g. `/User/documents/`).
153
-
151
+
This will pull the file to the directory where you run the command. `./` can be replaced by specifying a path (e.g., `/User/documents/`).
154
152
155
153
## Troubleshooting
156
154
157
-
If the SSH connection fails, there are some common things to check out:
158
-
- Has the first setup been completed? If not, follow the instructions at [here](/software/app-lab/tutorials/getting-started/#install--set-up-arduino-app-lab) and see the instructions. The first setup will enable SSH on the board which is required to connect.
159
-
- If the SSH connection gets stuck even though first setup has been completed, it may be a local network issue. Check that the board is connected to the same network as our computer.
155
+
If the SSH connection fails, there are some common things to check:
156
+
- Has the first setup been completed? If not, follow the instructions [here](/software/app-lab/tutorials/getting-started/#install--set-up-arduino-app-lab) and see the instructions. The first setup will enable SSH on the board, which is required to connect.
157
+
- If the SSH connection gets stuck even though the first setup has been completed, it may be a local network issue. Check that the board is connected to the same network as your computer.
160
158
161
-
### Issues with MDNS
159
+
### Issues with MDNS
162
160
163
161
Some networks may block using mDNS, which allows us to use a "friendly" name (`arduino@<boardname>.local`), instead of using the actual IP address of the board. There are two ways to work around this:
164
-
1. Instead of using `arduino@<boardname>.local`, use the board's IP address directly. The IP address can be accessed by either launching board in SBC mode, and typing `hostname -I` in a terminal. This will reveal the IP address of your board.
165
-
2. (advanced) Edit the `/etc/hosts` on your local computer by running `sudo nano /etc/hosts`. In the bottom of the file, add `<boardipaddress> <boardname>.local`. This will allow you to connect using `ssh arduino@<boardname>.local`.
162
+
1. Instead of using `arduino@<boardname>.local`, use the board's IP address directly. The IP address can be accessed by either launching the board in SBC mode and typing `hostname -I` in a terminal. This will reveal the IP address of your board.
163
+
2. (advanced) Edit the `/etc/hosts` on your local computer by running `sudo nano /etc/hosts`. At the bottom of the file, add `<boardipaddress> <boardname>.local`. This will allow you to connect using `ssh arduino@<boardname>.local`.
0 commit comments