Another Crazy Idea - Remote Proffie Access for Installer Upgrades...?

OK, let me preface this by saying I know almost nothing about computer networking, remote access or anything like that. I’m not an Arduino expert either.

But it occurred to me to ask, suppose a customer has a hilt I built for him, but after a while he decides he wants to add some different blade styles. This means even if I were to send him a new config, he still has to jump through a few hoops to download Arduino, sort out plugins, do the upload etc. And as we’ve seen from this forum, for newbies it can be quite a challenge to get to grips with it all. I know it took me a while to figure it all out at first.

But what if he could simply connect his Proffieboard to his computer via USB and then visit a special website through which I could access his Proffieboard and do the upload remotely?

Is this even a thing?

What I’m trying to avoid is the end user having to download applications, dive into network or sharing settings, create accounts and passwords and all the rest of it. If it all ends up more complicated than getting to grips with Arduino then it’s pointless. From the end user’s perspective, I’m thinking just plug in, enter the webpage address in a browser window and then sit back and wait while it all happens.

So is this a potential fact or a total fantasy? I suspect the latter as I’m guessing it’s riddled with security issues, but like I say, I don’t really know what I’m talking about when it comes to this stuff, so I just thought I’d throw it out there.

All thoughts and observations welcome.

:slight_smile:

i think this is an amazing idea.

one small problem: some installers (not u :P) don’t even know how to setup proffie

2 Likes

Well, this kinda already exists. (Not how you describe but a solution that should function similarly in practice)

Assuming you enabled WebUSB for them, they can go to the WebDFU website:
https://profezzorn.github.io/webdfu/dfu-util/

Now, all they need is a binary file from you. This part is semi tricky, but can be sleuthed out. Whenever you compile ProffieOS it has to go somewhere. On windows it goes in your Users’ temp folder:
C:\\Users\[username]\Temp\arduino\sketches\

Inside you’ll find (a) folder(s) with names that are randomly generated unique IDs, if you clear this folder out before you compile (or there’s only one), you know it’s the one you want. You can open it up, and inside you’ll find ProffieOS.ino.elf, that’s the file you need.

You can send that file to your client, tell them to connect to their proffieboard, select the file you gave them and upload.


I’ll also mention that if you provide your client with a working config, ProffieConfig’s automatic installation and setup means to a user it should be as simple as downloading ProffieConfig, running it, letting it do its thing, dropping in their file, and being good to go, able to upload from there or poke around and make changes.

That shouldn’t be much more complicated (if at all) than using WebDFU, and it gives the user the ability to easily customize things if they want to poke around, removing such a strong dependence on you as the installer to make all their changes.

2 Likes

All of this is completely doable.
I think the piece that’s missing is a way to upload fonts through webusb. Everything else exists in some way, so it’s just a matter of putting them together to make it work.

Putting it together to make it work will take some effort though, and I’m not particularly interested in putting in that effort right now. However, if someone else is doing it, I’d help and support them.

3 Likes

This is all encouraging stuff, and it sounds like this is much more viable than I thought. :smiley: :+1:

Ryryog,
Thanks for the link to the DFU page. I had no idea this existed, and it sounds like this is already three-quarters of what I was suggesting. So I just tried it, using the .ino.elf file you suggested (found by doing a system-wide search)…

…The bad news is I got this error:
Address 8a3164b outside of memory map

So it seems like that solution needs a little work, which is unfortunate. But it kind of shows that it should be possible.

Profezzorn,
Yeh, I kind of assumed that if it were possible at all, it would represent an awful lot of work to make it work correctly and reliably, so completely understand where you’re coming from. Although I think the font folders and other SD card contents are actually the easy bit, as the whole SD card contents can just be sent via email/Dropbox/GDrive link. All the end user would need to do is drag and drop all the folders from DropBox onto their SD card and they’re good to go. And if people are ultra-non-tech, they can put their SD card in the post and the installer can send it back fully loaded. (Much cheaper and easier to send SD cards than high-value hilts).

If I had even the faintest idea where to start, I would take it on, but I’m 55 now and I don’t think I’ll be alive for the number of years required for me to learn everything that would need to be learned to make this work. LOL! But it’s heartening to know that the idea isn’t completely outlandish, so thank you all for the positive sentiment. :pray: :+1: :smiley:

Admittedly the specifics of how the WebDFU works is something of an enigma to me, so it’s possible I’ve got things wrong.

I’m realizing my elf file is pretty large, larger than it should be, so I think that file might not be stripped or something?

I forget the exact files available. Is there a .bin in that Arduino folder? Try using that instead. (Unless @profezzorn gets here and explains something else sooner)

1 Like

I’ve “remoted in” many times, Zoom is one option. Aside from things being different between a Mac and a PC it’s pretty simple. Obviously you don’t have total control at times and need the user on the opposite side to do specific steps but yeah, pretty straightforward. Have screen-sharing active and direct the user through the steps needing to be done on the other side verbally. Same as you might do with an Apple or PC provider tech remote in to fix things. It’s how I was taught Proffie and a few other steps and it’s a great way for a new user to learn.

I think you’re aiming for something “bigger” though, correct?

MTFBWY

1 Like

I think it’s the ProffieOS.ino.dfu file that can be uploaded this way.

2 Likes

I just tried that ProffieOS.ino.dfu file and it works a treat! :smiley: I’ve also been playing around with that webpage and tried creating and reloading the backup.bin file and that also does the job! :smiley:

This is amazing stuff! Thank you so much guys! And it actually gets pretty close to a workable means of being able to re-programme people’s Proffies remotely - or at least very easily by anyone who knows how to use a web browser. All they need is the weblink and the dfu file which can easily be emailed. If they want changes, I can make them and email them a new dfu. No need for them to have Arduino or even the OS folder.

The only niggle really is needing to do the Zadig thing with Windows which is a nuisance, but didn’t I read somewhere that on the latest Windows even that isn’t necessary?

So I’m now thinking along the lines of writing up a simple user guide and including it on the SD card along with the dfu or .bin file for each saber when I send it out. I keep backups of the complete SD contents for all my installs, so if people want changes, I can simply make those changes and send them a new dfu. :smiley:

The only hassle is finding the dfu file once Arduino has created it, and making sure it’s the correct one. But that’s only a small thing that’s easily worked around.

But other than that this is a great solution. Thanks so much guys! I’m in your debt as always. :slight_smile:

Driver installation is still necessary, however you shouldn’t use zadig anymore, just direct your clients to use proffie-dfu-setup.exe and that’ll do it automatically.

EDIT: POD page for the executable (at bottom, Windows only as per usual)

2 Likes

Update to this:
I tested it for real with a customer last week. I did the install and sent it out with a mix of different blade styles across different fonts. He tried them all and then asked for a few small changes.

So with the above system, I was able to edit his config to how he wanted it, load it onto a new loose board, then create the .bin file and email it over to him along with instructions for how to upload it using the webdfu page linked to above.

I’m pleased to report that even with his having no experience with Proffies or uploading or anything, he was able to upload his new config just using his browser. :smiley:

Thanks so much for the help guys - this a great little extra to be able to offer people who need it. :slight_smile: Thanks again.

3 Likes