Network Share as an option

It would be great if there was an option in the config to create a network share so the GCODE could be uploaded there from other computers on the home network.

Implementing a version of this:

I just use a folder in Dropbox as a network share. I can access it from all my computers.
Pony

1 Like

masso link is a windows, mac or linux program that does file transfer to the masso controller, and a few other things, so remote access is definitely doable, maybe massolink is all you need?

https://docs.masso.com.au/getting-started-guides/machining-with-masso/wi-fi-connectivity/masso_link

Understood, but that is not what the request is asking. I am suggesting an out of the box capability (that if effectively already do-able but you have to make a small configuration change). This could easily be incorporated into the base config and avoid having to use cloud based file shares.

Sorry, I dont have a Masso controller. The suggestion was targeted at the Buildbotics controller for the “classic” machines.

@Tas

I found this set of ssh instructions listed on the BuildBotics forum. The original poster of the ssh message cautioned the novice against corrupting the SD card by mistake; however, he was clear that SSH access was achievable.

Once you’re SSH’d, I’m guessing that you can SCP your files to your heart’s desire. or even make some network mountable share through the CLI.

On some of the other posts I discovered that the BuildBotics innards run from a raspberry pi 3. For anybody wanting to be cautious, It might be handy to clone the OS onto a couple of spare SD cards just for an “oops” moment.

Anyway, maybe this is a start?

1 Like

Masso link software is just a one time send and forget file transfer. It won’t act as a network storage solution that @Tas is requesting.

Here are the steps I took to get my 1F to be able to browse to my Windows computer. I could technically go the other direction and get my home computer to be able to see the 1F internal storage, but either way, you can access files remotely.

1 Like

Thanks Timbely, I know how to do this, and have done so previously. The idea posting here (Under Feature requests) is to suggest this as an out of the box, ready to use option for all users to make life easy. :slight_smile:

Yeah, I understand. I can offer a developer perspective and also a potentially better solution for you if you’re willing to read. No sass is intended here, I promise (In case Aiph5u reads this, SaSS :smirk:).

The issue is that there has to be some worthy ROI from a business model perspective. BuildBotics could let a community member push a pull request to the code base, but who supports it if there are bugs that pop-up in the system? Because it would be dealing with the actual BuildBotics system disk, it could be severe. Try to not take offense, but I’m going to give you some example of how developers have to think about feature requests in order to keep a healthy system and user-experience.

Example, Somebody accidentally transfers a file that’s too large and now the operating system is out of disk space; the system is writing over itself and the performance of the machine is degraded or fails? The thing to do there is to use a larger disk. Okay well that requires re-installing the OS on the PI’s SD card and configuring the controller.

  • What are the hardware limitations between the PI and the SD card?
  • What if the end-user users a low-quality / faulty SD card?
  • What if the end-user doesn’t have the know-how (this won’t stop them from getting into trouble)?
  • What if the end-user breaks part or all of the system with a bad shell command (documentation)?
  • How does BuildBotics effectively support this (More docs, more staff, trial and error first)?

What if on the native side something happens and the file-share cannot mount because either the partition is damaged (physical failure or corrupted data)? Who troubleshoots and how? What if a genius developer does all of this for them and get’s the PR approved but is unavailable from this time forward? Who helps with what is now future technical debt?

Here’s why:
From a software development lifecycle, this adds more code to maintain if it’s housed by BuildBotics. They have to figure out what the return on investment is and the adoption percentage. The time spent coding features and maintenance is a loss to other areas of the project that need active support. If I recall it was a one-man job that built the service? Everyone has bills to pay so there has to be some type of a financial upside. And from a business point of view, even if a feature is a money maker, it’s not worth implementing if the adoption rate is either too low or if the profit turn around is negligible.

I like your idea. but those things above :point_up_2: are why features take so long, Just a heads up. This is probably better resolved by existing solutions that more easily support all three operating systems: Linux, Mac, Windows. While technically other systems could read SAMBA like you initially asked, it’s a Windows implementation of a file-share. You could Use CIFS life mentioned above, but I would strongly encourage you to mount a USB drive, make that your share, then smylink that drive and your directory where you normally copy/paste the CNC files to prevent from an oops.


On the contrary, there are projects that have already solved this for BuildBotics. Since BB is running on a linux based PI, an open source hosting solution can offer significantly more robust file sharing that you desire and BB doesn’t have to support it. Additionally, you can put your data on an external USB drive that’s left plugged into the PI and have that specified as the mountable disk. Then you can symlink the CNC’s file storage location to the actual cloud hosting disk (the USB drive) and technically you’ll never accidentally overwrite your system’s disk. More safe with greater control.

(I hope you see I’m trying to help) :grinning:

Think in the terms of Google Drive: Why not use FOSS like owncloud or nextcloud ?

  • You can look at the source on GitHub
  • They’re encrypted
  • They can be hosted on one of your machines for free.
  • They support desktop clients for Linux, Mac, & Windows.
  • They support mobile apps
  • You own the data.

Using either OwnCloud or NextCloud (a fork from OwnCloud in 2016), you can specificy the community version and download an installation file for free.

I’m even willing to go as far as propose a reverse solution where you make an entirely different PC in your home the server, set up a desktop client on each machine and make sure that active sync is enabled, so that files just automatically appear on the BB controller (the BB controller is a client, not the fire-share server). You’d still want to set up a USB drive and symlink for the reasons I mentioned above.

Good luck

1 Like

Hey Tas, hey all,

since the Onefinity Controller User Interface is a web page that can be used from a remote computer, I would always say it’s more safe to upload the g-code files this way. On a 3D-acceleration-capable remote computer, you also see the 3D toolpath simulation that is not shown on a monitor attached to the controller due to software limitations on the controller (although it is installed on the controller).

Note that you can have this remote computer beside the machine instead of a monitor, and fulfill the feature request this way: Being able to upload files from wherever you want (LAN, WWW, etc.) while standing directly at the machine.

If someone nonetheless wants to implement a SMB share on the controller, how to install a samba server on a Debian-derived system like the Raspberry Pi OS in order to provide the Onefinity Controller with a SMB share that is open to the local network is taught in many howtos in the WWW and more than one people in this forum did exactly this. However configuring a Samba server means having to make a lot of decisions, especially on security. There are a lot of options and I am not sure if it would be the best solution to add the most simple configuration as this can introduce security problems.

I don’t think Onefinity will see a high priority in fiddling and making security decisions with this.

1 Like

@Aiph5u
I had a feeling you’d find this thread. I’m tempted to call you Sauron.

Meanwhile:

Sounds like an average Tuesday for me o_O

1 Like

@SurfinGump
Hahaha. Plan, pull backlog, pull tech-debt, sprint sprint sprint…
Then…

project-ship-it

2 Likes