asterics / addon-bluetooth-webgui Goto Github PK
View Code? Open in Web Editor NEWESP32 Addon for FABI & FLipMouse, adding Bluetooth and WiFi/WebGUI support
License: GNU General Public License v3.0
ESP32 Addon for FABI & FLipMouse, adding Bluetooth and WiFi/WebGUI support
License: GNU General Public License v3.0
is there a way to get data from a new release (firmware files, settings files, setting descriptions) into the WebGUI without clearing the whole browser cache/cookies in the browser settings (which might be complicated for users) ?
multiple page reloads did not work.
it would be nice to have a button (e.g. in the genereal tab) like "get latest firmware and settings".
And now the same example for the Teensy based FLipMouse:
https://github.com/benjaminaigner/halfkay-webusb
It is a little bit different, but due to the fact that there is WebHID as well, it was easier than the AVR109 uploader ๐
Hi @ all,
I've experimented with WebSerial and the AVR109 bootloader protocol for the Arduino Micro (ProMicro) updater.
With my limited JS skills, I've implemented a proof-of-concept:
https://github.com/benjaminaigner/avr109-webserial
It would be really cool if we could implement an updater for the ProMicro as it is for the ESP32 ๐
@klues Hopefully it doesn't hurt your eyes to see all of the functionality squeezed in the index.html :-)
On the FM3 board with the Arduino RP2040 Connect, the Bluetooth update process fails sometimes,
because the receiving of "OTA:ready" is mixed up with esp-idf console output.
Because we are limited to the pins connected by the Arduino board, we are using UART0
for transmitting our data (HID, commands,...) as well as the esp-idf logging output.
Especially when using the OTA firmware to write a new BT firmware, the outputs get mixed up.
Not really mixed up, but there is a newline missing after the logging output.
And if the "OTA:ready" is not at the beginning of a line, the detection fails in the webgui.
Suggestion:
Change the waitForReceiving
function from a complete comparison to a "contains" like check.
Or an additional function just for "OTA:ready" which checks if this string is contained in the received string.
It should not be able to select the "update firmware" button during an ongoing BT firmware update, otherwise both might fail (the BT update will fail definitely).
On some of the ~25 upgraded FABI modules with the ESP32 addon, the update didn't work as expected from the WebGUI:
BT addon update failed because: OTA:$FIN not received.
I think the problem might be a too tight timeout for receiving "OTA:$FIN". Normally, this wouldn't be the problem, but
AT SR
is sent immediately after the timeout, which might break the ESP32 update procedure.
@klues I will give you that exact FABI next time.
Dear @klues
when I use the upload and replace all slots functionality to reset the FABI to a known state. following problem occurs:
If there is an existing slot with the name from the selected file, the slot name is changed by adding a trailing "(1)".
The old slot is deleted though, so there is only one slot as intended, but with a different name.
Reproduce:
download all your current slots and upload the same file. If you do that once, slots are with a different name, if you do it twice, original names are restored.
First issue here :-).
No hurry, but a small improvement:
if there is no BLE module installed, it would be better to see something like "not available" instead
of "undefined.undefined.undefined".
Dear all,
we have finished FABI3 hardware & case (v3.1, with RJ25 as extension connector; v3.0 is with a jack plug, but is testing only).
As this version uses a RPi PicoW with an RP2040 core, this hardware is more similar to the FLipMouse instead of FABI2.
Following changes are necessary in the webgui:
AT BM
assignment can be seen here:
https://github.com/asterics/FABI/blob/SRC_v3.0/FabiWare/modes.h
These points need further discussion (for WebGUI AND the firmware itself):
In the slots tab, a pop-up window displays the content of an .md file for a particular settings file (if the .md file exists).
This does only work for the first settings file which is selected from the combo box - for all subsequent selections only the title is changed in the pop-up window, the explaination text remains the same.
(BTW: changing the tab enables a new selection - but only once).
For users who are depending on FABI/FLipMouse as primary input device there should be a safe experimental mode where they can adjust settings without the risk of lock themselves out. This is how it could work:
When using "device initialisation" in the FLipPad GUI, it redirects to the FLipMouse GUI.
Web Bluetooth is implemented for many browsers and OSs including iOS and Android.
So adding support for Web Bluetooth would enable to configure the devices (FABI, FlipMouse,...) from within a smart phone without having to connect it via a cable.
There is a library developed by Espruino which supports both Web Serial and Web Bluetooth connections. So this way we could consistently support both.
So on the client side it is probably not a big change, but I guess we would have to implement a Serial connection over Bluetooth in the firmware of our devices.
See more at:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.