Skip to main content

Access and Develop on the Brain

Users can remotely access and start developing on the brain via SSH access.

Sign up for a farm-ng-user account

1. Request device access via email

Email Customer Support (support@farm-ng.com) with subject line "Request device access". Include your name and robot information on the email to expedite the process.

2. Wait for a sign-up email

Customer Support will reply with a sign-up link to our Fleet Manager website.

At this time, Fleet Manager only supports SSO login for Google accounts. While not required, we highly encourage you to sign up using your institutional email. If your institution does not use Google accounts, you may be able to create a Google account using your existing institutional email address.

3. On our Fleet Manager website, click on login

Screenshot from 2023-10-05 11-37-02

4. Select a Google account and proceed to the next page

Screenshot from 2023-10-05 11-38-29

5. Follow the instructions to create a valid username

Screenshot from 2023-10-05 11-39-25 Please note that once set, this username cannot be changed.

6. Click on "Set Name"

7. Now you will need to register an SSH key

An SSH key is like a secret handshake that lets your computer talk safely to another computer without using a password.

8. Open a terminal window on your computer and type

cd ~ # This will take you to your home directory
ssh-keygen # This creates an ssh key
TIP

You can skip this step if you already have a ~/.ssh/id_rsa.pub public key on your computer that you'd like to use.

9. When prompted, press Enter twice to use a blank passphrase

10. Display your public SSH key

cat ~/.ssh/id_rsa.pub # Copy it with Shift + Ctrl + C

11. Copy your SSH key (including ssh-rsa) to the Fleet Manager website (New SSH Key)

12. Assign a name to that key (e.g., my-lenovo-pc)

13. Click on Add SSH Key

Screenshot from 2023-10-05 11-44-09

INFO

Each SSH key corresponds to a single PC. If you need to access the Amiga from multiple PCs, you will need to repeat steps 7-13 for each PC.

14. Inform Customer Support that you have signed up successfully

Reply on the "Request device access" email thread. Provide the Google account email you used to sign up in Fleet Manager.

Customer Support will grant you access to your robot and reply with additional instructions for remote access (see next section).

You should now be able to SSH into the Amiga as described in the next sections, but only if your PC is connected to the same Wifi network as your Amiga. With a small amount of additional setup, you can use Tailscale for secure remote access to your Amiga from any network.

1. Create a Tailscale network with your development machines

INFO

For simplicity, we describe here how an individual user can create their own private Tailscale network (tailnet). If your development machines are already on a tailnet, or if you prefer to set up a larger tailnet for your team, you are free to do so.

Follow the Tailscale quickstart guide. Note:

  • Sign up using the same Google account you use to login to Fleet Manager.
  • You can use Tailscale's free plan to provide remote access to up to three of your machines, for example: a laptop, a workstation, and a mobile phone/tablet. The Amiga will not count against your limit.

2. Add the Amiga to your Tailscale network

In your access confirmation email from Customer Support, you should have received an invite link to share the Amiga with you via your Tailscale network. Click the link and sign in to your Tailscale account to accept the invite. In the Machines page of the Tailscale admin console, you should see a new machine listed with hostname of the form [element]-[fruit]. That's your Amiga!

The invite link works for a limited amount of time. If you need a new one, contact support@farm-ng.com.

3. Connect your development machine

In a terminal window, run the following commands:

sudo tailscale up
tailscale status

This will output a list of machines on your Tailscale network, similar to:

100.95.129.75   my-laptop            my-username@ linux   -
100.77.194.143 my-phone my-username@ android -
100.127.188.107 [element-fruit].[tailnet-name].ts.net support-username@ linux -

In this example, the bottom row represents your Amiga. You will access it via either:

  • IP address: a stable IP of the form 100.x.y.z assigned on your Tailscale network.
  • Fully qualified domain name (FQDN): of the form [element-fruit].[tailnet-name].ts.net.

Now that you have an SSH key and remote connectivity to your Amiga, let's configure your SSH connections.

This can be done via the terminal or VS Code.

Open a terminal window and type the following command:

gedit ~/.ssh/config # This will open your .ssh/config
# Here we're using gedit as our text manager, feel free to choose another one (e.g., vi, nano)

Add the following lines to your file:

Host <robot-name>
HostName <ip-address>
User farm-ng-user-<username>

Replace:

  • <robot-name> with your robot name (of the form element-vegetable).
  • <ip-address> with the robot's Tailscale FQDN (or IP address) reported by tailscale status in the previous section. If you have not set up remote access via Tailscale, and your PC and Amiga are connected to the same Wifi network, you may use the Amiga's local IP address instead.
  • <username> with the username you chose on your first login to Fleet Manager (e.g., john-doe).

Make sure to save the file before you close it!

TIP

You can download Fing to scan all devices connected to your network and figure out your robot's local IP address.

Accessing the brain

You can access the brain via a terminal (Linux, Windows or MacOS) or VS Code.

Connecting to your robot via the terminal is simple. Open a terminal window and type:

ssh farm-ng-user-<your-farm-ng-username>@<ip-address>
# e.g., farm-ng-user-john-doe@10.0.4.116
TIP

If you have configured your SSH Connections (.ssh/config) you can connect to the robot by simply typing:

ssh <robot-name>
# Make sure to replace <robot-name> (including the < >) with your actual robot name

You should now be connected to your robot!

Check out our Examples

Now that you know how to connect to your Amiga, start developing your own applications!

We have plenty of examples to help you understand how to communicate with our services, access data, and submit requests (e.g., commanding your Amiga to follow a path). Make sure to check the examples here.