Access from PC

From Rsewiki

Back to Robobot

From a linux PC

Get filesystem on normal Linux PC

From another (Linux) PC, mount the raspberry filesystem

mkdir rpi  (where the filesystem will be mounted)
sshfs local@10.59.8.141: rpi    (replace IP number with inet address from above, or use sshfs local@hostnale.local: rpi)

Then in directory rpi the user files on the raspberry can be manipulated.

Before you reboot the Raspberry you should unmount:

umount rpi

for other access, use (with IP address as found above, or IP replaced with hostname.local)

ssh -X local@10.59.8.141

Using Samba

This allows a Windows PC to see the Raspberry files as a network drive

On the Raspberry with internet access

install Samba

sudo apt install samba
say YES to WINS access

Edit configuration

 sudo nano /etc/samba/smb.conf

Change workgroup to the workgroup of your windows Find your workgroup in "properties" for "my PC"

Change in [global] group:

[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
  workgroup = workgroup
  wins support = yes

At the end of the share directory

[robobot]
       comment = Pi Shared home Folder for user local
       path = /home/local
       browsable = yes
       guest ok = yes
       writable = yes

This adds the share with no security - which is much the easiest way But it requires that all files need to be writeable by all!

Then allow the home directory to be modified from the share (a+w is "all allowed to write")

sudo chmod a+w -R /home/local   # all files recursively (-R)

New files created will not give write access until the command above is executed again!

Reboot to activate the share

sudo reboot

Once it is back online, then from your windows (or Linux and maybe Apple) go to the file browser and networks, after an update the Raspberry should appear, and all the files in the home directory of user "local" should be visible and editable.

Something like

Samba share from Windows to the left and from Linux (Dolphin) to the right.

Cable connect to laptop

NB! on most modern computers DNSMASQ is not needed, as IP will default to a range that can communicate (either IP4 or IP6)

Test before installing DNSMASQ

Connect with cable, wait a bit for them to negotiate (ca. 20 seconds at most)

try ping

ping zephyr.local

where 'zephyr' is the hostname in this case. There should be a reply within ca. 1ms

DNSMASQ

To enable the ROBOBOT to be connected directly to a PC, then it is easier if the ROBOBOT provides an IP for the PC.

Install DNSMASQ

sudo apt install dnsmasq

allow dnsmasq to provide IP to pear-to-pear networks Edit the /etc/dnsmasq.conf (nano is a small text editor, fine for editing configuration files owned by Linux root)

sudo nano /etc/dnsmasq.conf
find and change/add the following line (a bit down, eg to serch use: ctrl-W dhcp-range)
dhcp-range=192.168.17.100,192.168.17.150,12h

To work, the eth0 must have an IP, if noone provides one, change /etc/dhcpcd.conf (dhcp client deamon) to have a default IP, if no DHCP server is available

Edit of /etc/dhcpcd.conf to have a fall back behaviour for eth0 and eth1.

sudo nano /etc/dhcpcd.conf
Add the following lines at the end (uncomment and modify):
# define static profile
profile static_eth0
static ip_address=192.168.17.1/24
# static routers=192.168.0.1
# static domain_name_servers=192.168.0.1

# fallback to static profile on eth0
interface eth0
fallback static_eth0 

This will also give a default IP for an eventual second network (usb-to-cable) if needed

Now, after a reboot, you should be able to connect a PC directly with at network cable to a PC, and the PC should get an IP from the raspberry, so now

ssh local@192.168.17.1