Network File Access

Look here to see if your question has already been answered.
Post Reply
missionarymike
Posts: 15
Joined: Mon Mar 29, 2021 6:46 pm

Network File Access

Post by missionarymike » Tue Apr 05, 2022 6:27 pm

Hello all!

I wanted to share how I linked my file server (NAS) to the BuildBotics controller.

First off, I know there are two ways in-built to the controller to manage file transfers. The first is by using a USB thumb drive, and the second is by using another computer to remote into the controller's local IP address. Both of these work fine, but I wanted it to be even easier.

So my solution links the controllers upload folder to my projects folder on the server. This way, when you click the "open" button, it opens the folder directly on the server and there is no need to actually do an upload. This is also beneficial when you have to make file changes or small tweaks to the program. I initially did NOT use the actual uploads folder but a separate folder on the controller, but it created an additional step during the file open process, and for some reason when you loaded a file that had been changed, the controllers web interface wouldn't recognize the new file until the browser was refreshed.

Please note that I am not a super techy computer nerd, and although this might work on other over-the-shelf home servers, if there are issues, I most likely won't be able to help you troubleshoot them. These steps can give you the foundation, and GOOGLE can probably help you make it work on other systems using the same theory.

** The uploads folder on the controller needs to be empty. The mapping doesn't actually delete the existing files, as the mapping is virtual, but they do become inaccessible and I had small issues if it wasn't empty. Make sure you have a backup of all your files before deleting them off of the controller.

Here you go!
1. Login to your file server and modify the permissions on the folder you will share with the BuildBotics controller. Make sure you whitelist the local IP address of the controller so that it has access to the shared folder.

2. Login to the BuildBotics controller using SSH and the default username is "bbmc" and the default password is "buildbotics". You can change this using the GUI interface on the controller via the "Settings -> Admin" tab. The code you will enter is below the description line. make sure to go slow and not include any extra spaces or characters.

3. Make sure file locking is on to prevent conflicts while saving.
sudo update-rc.d rpcbind enable

4. Edit the FS tab file to provide instructions to automatically map the drive on controller startup. You will need to create a new line on this file with the appropriate information. You only change the first segment with your servers ip address and folder path.
file.server.ip.address:/path/to/projects/folder /var/lib/bbctrl/upload nfs defaults 0 0
ctrl+x to close and save

5. Intially mount the folder on the controller. Due to the FS tab file modification above, each time the controller is started, it will automatically map in the future.
sudo mount -a

It actually is a very quick and simple modification, but makes a huge difference when running files. The majority of my time doing this was actually not on the controller buy getting the permissions right on my home server.


This information is based on an article (below) on how to mount a network share to a Raspberry Pi.
https://thepihut.com/blogs/raspberry-pi ... ge-at-boot
http://cagewebdev.com/raspberry-pi-conn ... ork-drive/


Good luck!

Post Reply