I am building a sketch that will be deployed on multiple GIGA R1 WiFi boards (with a GIGA Display Shield) which will be installed at multiple locations around the US. The end users don't have any coding experience but will need to specify credentials for connecting to WiFi at their site.
For the purposes of this ask, let's assume installing Arduino IDE is not an option.
The two options that come to mind are:
Store a text file in flash that they can somehow edit from their local PC via a USB cable.
Save the variables to flash and build an interface inside the sketch where they can connect a keyboard & type new values that update the variables in flash.
The first one seems easiest, but I'm not even sure it's possible. I would love some help if it is.
The second one seems like it might be more feasible, but it looks like the keyboard library is still in alpha testing state, and I'm not sure if I should trust it.
If there is a third option I'm missing, please set me straight.
Hi @bradm124
The GIGA has 2MB of flash that can be partitioned and, by default, has partitions for WiFi firmware and for OTA / user data. The partitioning can be recut using the QSPIformat sketch in the examples. You could use this for option 1. If you add this to your sketch
Then the partitions will be visible when you connect to PC with USB.
The same flash could be recut to have a partition for use by the TDBStore class. It saves key/value pairs. The touch screen could be used to enter the details but you'd need to create a touch keyboard.
A real KB could be connected and the screen show keystrokes. The GIGA doco has details for usb KB and there's been some work done by others to improve.
You could also use a USB thumb drive with a text file that they update on PC then insert into GIGA (probably the easiest but not exactly secure)
Hello and thanks for your suggestions! This sounded very promising:
Then the partitions will be visible when you connect to PC with USB.
Unfortunately, it doesn't compile. It doesn't recognize "QSPIFBlockDevice". It says "QSPIFBlockDevice does not name a type, did you mean 'USBDevice'?"
I think the end users would be competent enough to modify a text file if I gave them a sample file to start from. Please let me know if you have any thoughts on this error.
You could also use a USB thumb drive with a text file that they update on PC then insert into GIGA (probably the easiest but not exactly secure)
For this one, there will be no way to leave the drive in the USB port, so I would still need to store the values to flash somehow.
Hi @steve9
I just chased down that library from the include statement and found an example. I needed an include statement for QSPIFBlockDevice.h as well, but now it works! I'll chase down some code on how to read a file from there next. Wish me luck!