Lab 2 - How to login to a SeaBeaver II AUV


1  Overview and Objectives
2  Computers
     2.1 Embedded computers inside SeaBeaver II
          2.1.1 Raspberry Pi 4 single board computer
          2.1.2 PocketBeagle single board computer
     2.2 Topside computer
     2.3 Self checkoff assessment
3  How to login to SeaBeaver II -- Wired
     3.1 Connect the Ethernet cable between the Raspberry Pi and Topside computer
     3.2 Share your internet connection with the Raspberry Pi (Linux Computers)
     3.3 SSH to the Raspberry Pi
     3.4 Ensure that the Raspberry Pi has internet
     3.5 SSH to the PocketBeagle
     3.6 Ensure that the PocketBeagle has internet
     3.7 Self checkoff assessment
4  How to login to SeaBeaver II -- Wireless
     4.1 Connect to the SeaBeaverNetwork WiFi router
     4.2 SSH to the Raspberry Pi
     4.3 Ensure that the Raspberry Pi has internet
     4.4 SSH to the PocketBeagle
     4.5 Ensure that the PocketBeagle has internet
     4.6 Self checkoff assessment
5  Shutting down embedded computers
6  Assessment


1   Overview and Objectives

  • Students learning about the two embedded computers onboard the SeaBeaver II class AUVs
  • Students being able to login to both embedded computers using a wired connection
  • Students being able to login to both embedded computers using a wireless connection
  • Making sure that both embedded computers have internet access
  • Students being able to shutdown both embedded computers safely

2   Computers

2.1   Embedded computers inside SeaBeaver II    [top]

There are two embedded single board computers inside SeaBeaver II class AUVs: (1) a Raspberry Pi 4 single board computer, and (2) a Beagleboard PocketBeagle single board computer. A single board computer is a complete, functioning computer in which the microprocessor, input/output functions, memory, and other features are all built on a singe circuit board.

2.1.1   Raspberry Pi 4 single board computer    [top]

The Raspberry Pi single board computer (see Figure 2.1) serves as the main compute unit of the AUV. This embedded computer is dedicated for higher level processes that requires more compute power. The Raspberry Pi has an inbuilt WiFi module. This wifi interface is configured to connect to the SeaBeaverNetwork WiFi router with a static IP address. Every vehicle and training-kit will have a unique static IP.

Figure 2.1: Raspberry Pi single board computer of the SeaBeaver II

2.1.2   PocketBeagle single board computer    [top]

The PocketBeagle single board computer (see Figure 2.2) serves as a hub for sensors and actuators. That is, all sensors and actuators are directly connected to the PocketBeagle via its various interfaces (you will learn more about this in future labs). The PocketBeagle is networked with the Raspberry Pi via Ethernet (via Ethernet over USB to be precise). When the Raspberry Pi and the PocketBeagle are connected, the PocketBeagle will have the static IP address of: 192.168.7.2. Currently, all PocketBeagles will have the same IP address from the perspective of each Raspberry Pi.

Figure 2.2: PocketBeagle single board computer of the SeaBeaver II

2.2   Topside computer    [top]

The laptop computer that you use to connect to the AUV is referred to as the Topside computer. This could be either your personal laptop (Linux or Mac preferred), or a class laptop that was loaned to you. You will use the topside computer to connect to the AUV via the Secure Shell Protocol (SSH).

2.3   Self checkoff assessment    [top]

Ensure that you:

  • Are you able to recognize the two computers inside SeaBeaver II AUVs?

3   How to login to SeaBeaver II -- Wired

Currently, there are two methods to connect to SeaBeaver II AUVs.

  1. When the vehicle is opened; for example, when you are using the training-kit, you can use a direct Ethernet cable to connect.
  2. When the vehicle and you are both in proximity to the SeaBeaverNetwork WiFi router, you can WiFi to connect.

3.1   Connect the Ethernet cable between the Raspberry Pi and Topside computer    [top]

As shown in Figure 3.1, plug an Ethernet between Raspberry Pi and Topside computer.

Figure 3.1: Wired Ethernet connection between the topside computer and SeaBeaver Raspberry Pi.

3.2   Share your internet connection with the Raspberry Pi (Linux Computers)    [top]

On your topside laptop:

  1. Go to settings
  2. Go to network
  3. Under wired tab, click the gear wheel icon:

Figure 3.2: Settings -> Network -> Wired

Figure 3.3: Settings -> Network -> Wired -> IPv4 -> Shared to other computers

Figure 3.4: Settings -> Network -> Wired -> Restart Interface

3.3   SSH to the Raspberry Pi    [top]

On ubuntu topside laptops, you will receive a static IP address of 10.42.0.1 when you select the wired network IPv4 option: ``shared to other computers''. You can Ensure this by:

 $ ifconfig

 enx68da73a0ce6f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 10.42.0.1  netmask 255.255.255.0  broadcast 10.42.0.255
         inet6 fe80::2b2e:b50a:c6c7:518e  prefixlen 64  scopeid 0x20<link>
         ether 68:da:73:a4:ce:6f  txqueuelen 1000  (Ethernet)
         RX packets 2833  bytes 164703 (164.7 KB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 7373  bytes 9918932 (9.9 MB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

As you see from the output, your Ethernet IP address is 10.42.0.1. If your IP address is not in the range 10.42.0.ABC, you will not be able to log into the SeaBeaver Raspberry Pi. You might need to set up a static IP address for the topside laptop at this range.

    The Ethernet interface of every Raspberry Pi is configured to have the same static IP address of 10.42.0.5. Now connect to the Raspberry Pi via SSH:

 $ ssh seabeaver-raspi@10.42.0.5

Now you will be asked to enter the password:

 seabeaver-raspi@10.42.0.5's password: 

Enter the password (password will be provided to you by the instructors). Once you are logged in, you will see the below screen:

 Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-1105-raspi aarch64)

  * Documentation:  https://help.ubuntu.com
  * Management:     https://landscape.canonical.com
  * Support:        https://ubuntu.com/advantage

   System information as of Fri Mar 29 18:43:14 UTC 2024

   System load:  0.0                Processes:             145
   Usage of /:   10.1% of 58.23GB   Users logged in:       0
   Memory usage: 2%                 IPv4 address for eth0: 10.42.0.5
   Swap usage:   0%                 IPv4 address for eth1: 192.168.6.1
   Temperature:  47.2 C             IPv4 address for eth2: 192.168.7.1

  * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
    just raised the bar for easy, resilient and secure K8s cluster deployment.

    https://ubuntu.com/engage/secure-kubernetes-at-the-edge

 62 updates can be applied immediately.
 To see these additional updates run: apt list --upgradable


 Last login: Wed Mar 27 23:10:02 2024 from 192.168.0.101
 seabeaver-raspi@seabeaver-raspi:~$ 

    Now you are successfully logged into the SeaBeaver's Raspberry Pi.

3.4   Ensure that the Raspberry Pi has internet    [top]

You can check if the Raspberry Pi has internet access via the topside computer by pinging google.com:

 $ ping google.com 

If you have internet access, you will see an output similar to this.

 PING google.com (142.251.40.142) 56(84) bytes of data.
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=1 ttl=55 time=8.96 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=2 ttl=55 time=11.5 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=3 ttl=55 time=11.1 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=4 ttl=55 time=11.7 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=5 ttl=55 time=10.2 ms

To exit from pinging, press ctrl+c.

3.5   SSH to the PocketBeagle    [top]

Once you logged in to the RasPi, you can SSH into the PocketBeagle:

 $ ssh debian@192.168.7.2

Now you will be asked to enter the password:

 Debian GNU/Linux 10

 BeagleBoard.org Debian Buster IoT Image 2020-04-06

 Support: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

 default username:password is [debian:temppwd]

 debian@192.168.7.2's password:

Enter the password (password will be provided to you by the instructors). Once you are logged in, you will see the below screen:

 The programs included with the Debian GNU/Linux system are free software;
 the exact distribution terms for each program are described in the
 individual files in /usr/share/doc/*/copyright.

 Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
 permitted by applicable law.
 Last login: Wed Mar 27 17:07:57 2024 from 192.168.7.1
 debian@beaglebone:~$ 

3.6   Ensure that the PocketBeagle has internet    [top]

Similar to the RasPi, you can ensure that the PocketBeagle has internet access via the RasPi by pinging google.com:

 $ ping google.com 

If you have internet access, you will see an output similar to this.

 PING google.com (142.251.40.142) 56(84) bytes of data.
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=1 ttl=55 time=8.96 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=2 ttl=55 time=11.5 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=3 ttl=55 time=11.1 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=4 ttl=55 time=11.7 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=5 ttl=55 time=10.2 ms

To exit from pinging, press ctrl+c.

3.7   Self checkoff assessment    [top]

Ensure that you:

  • Are you able to log-in to Raspberry via Ethernet.
  • Are you able to log-in to the PocketBeagle via Ethernet.
  • Have you confirmed that both computers have internet access through the topside laptop.

4   How to login to SeaBeaver II -- Wireless

You can only use the wireless approach when the vehicle and you are both in proximity to the SeaBeaverNetwork WiFi router. That is, you can only complete this section when you are in the classroom or at the MIT Sailing Pavilion. If you are doing this lab at home, please skip this section to the next.

4.1   Connect to the SeaBeaverNetwork WiFi router    [top]

Connect your topside laptop to the SeaBeaverNetwork WiFi access-point. The DHCP server in the router will assign you an IP address in the range 192.168.0.100-200. If you like, you can check your IP address by using ifconfig command:

 $ ifconfig


4.2   SSH to the Raspberry Pi    [top]

The wireless interface of Seabeaver II Raspberry Pi computers are configured with a unique static IP address in the range 192.168.0.50-80. The static IP address assigned for your training-kit will be clearly labeled. If otherwise, please ask the instructors. Now connect to the Raspberry Pi via SSH:

 $ ssh seabeaver-raspi@192.168.0.50

Now you will be asked to enter the password:

 seabeaver-raspi@10.42.0.5's password: 

Enter the password (password will be provided to you by the instructors). Now you are successfully logged into the SeaBeaver's Raspberry Pi.

4.3   Ensure that the Raspberry Pi has internet    [top]

You can check if the Raspberry Pi has internet access via the router by pinging google.com:

 $ ping google.com 

If you have internet access, you will see an output similar to this.

 PING google.com (142.251.40.142) 56(84) bytes of data.
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=1 ttl=55 time=8.96 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=2 ttl=55 time=11.5 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=3 ttl=55 time=11.1 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=4 ttl=55 time=11.7 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=5 ttl=55 time=10.2 ms

To exit from pinging, press ctrl+c.

4.4   SSH to the PocketBeagle    [top]

Once you logged in to the RasPi, you can SSH into the PocketBeagle:

 $ ssh debian@192.168.7.2

Now you will be asked to enter the password:

 Debian GNU/Linux 10

 BeagleBoard.org Debian Buster IoT Image 2020-04-06

 Support: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

 default username:password is [debian:temppwd]

 debian@192.168.7.2's password:

Enter the password (password will be provided to you by the instructors).

4.5   Ensure that the PocketBeagle has internet    [top]

Similar to the RasPi, you can ensure that the PocketBeagle has internet access via the RasPi by pinging google.com:

 $ ping google.com 

If you have internet access, you will see an output similar to this.

 PING google.com (142.251.40.142) 56(84) bytes of data.
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=1 ttl=55 time=8.96 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=2 ttl=55 time=11.5 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=3 ttl=55 time=11.1 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=4 ttl=55 time=11.7 ms
 64 bytes from lga25s80-in-f14.1e100.net (142.251.40.142): icmp_seq=5 ttl=55 time=10.2 ms

To exit from pinging, press ctrl+c.

4.6   Self checkoff assessment    [top]

Ensure that you:

  • Are you able to log-in to Raspberry via wifi.
  • Are you able to log-in to the PocketBeagle via wifi.
  • Have you confirmed that both computers have internet access through the wifi router.

5   Shutting down embedded computers

You need to shutdown the PocketBeagle first, and then the RasPi. When you are logged into the PocketBeagle, you can use the halt command to safely shutdown the computer:

 debian@beaglebone:~$ sudo halt

Enter the password when you are asked to do so. Then you will be bounced back to the RasPi:

 [sudo] password for debian: 
 Connection to 192.168.7.2 closed by remote host.
 Connection to 192.168.7.2 closed.
 seabeaver-raspi@seabeaver-raspi:~$

You can now use the halt command on the RasPi to shut it down safely:

 seabeaver-raspi@seabeaver-raspi:~$ sudo halt

Enter the password when you are asked to do so. Then you will be bounced back to your topside computer:

 [sudo] password for seabeaver-raspi: 
 Connection to 10.42.0.5 closed by remote host.
 Connection to 10.42.0.5 closed.

Now you have shut now both embedded computers.

6   Assessment

The lab assessments are structured to ensure that you stay on track to complete your AUV by the end of the semester for in-water trials. You are expected to demonstrate to one of the instructors that you can complete the following tasks. More importantly, please don't hesitate to communicate with the instructors if you encounter any issues.

  1. Log into the PocketBeagle using either wired or wireless approach.
  2. Ping google.com to confirm that the PocketBeagle has internet access, and show the response to one of the instructors.

Document Maintained by: supun@mit.edu        
Page built from LaTeX source using texwiki, developed at MIT. Errata to issues@moos-ivp.org. Get PDF