Exactly. But Bluetooth access on the MC3000 (like, alas, its USB “PC Link” access) seems “bolted on”, not engineered-in as it should: it’s just sits there “open to the world”, doesn’t use any pairing or encryption.
I have the impression the BT module was just connected to one of the central MCU serial ports, and the person responsible for that integration just programmed the BT module in the simplest possible way, as a “pass-through” from the app to that serial port.
That (and more) would OFC be trivial to fix if we just had the source code for the MC3000 firmware… which unfortunately SkyRC doesn’t publish.
Among other reasons, that’s why I started an attempt to reverse engineer the MC3000 firmware… but being more of a “direct” than a “reverse” programmer myself, and after some initial success, it’s being a lot harder than I expected, and currently stumped: SkyRC MC3000: reverse-engineering the firmware update program, and extracting the firmware embedded in it
Totally! I couldn’t agree with you more!
Nice. Put it on github when you’re done
Thanks! the only reason I didn’t put it up yet (nor sent a PR to its author) it’s because it’s a real mess right now – I’ve been reverse-engineering the app (more successfully than the firmware, fortunately) to try and incorporate more functionality into mc3000ble.py than simple monitoring, so the program is full of debugging code, “dead” commented-out blocks that didn’t work out (the charger refusing commands that from my reverse engineering it ought to have accepted), etc.
If you want to take a peek and promise not to curse me too much I can put the current WIP somewhere and PM you a link.
Maybe I’d get one, put it on a smart socket, then if something else grabs the bluetooth connection, I could have the monitoring program cut the power to it.
That’s a great idea! I use a couple of these guys for a lot of stuff here, with the tasmota firmware it’s just about perfect: Sonoff Pow R2 - Tasmota, the plug can be turned off with just a simple curl
And it would be trivial to incorporate a “call this external command when you loose the Bluetooth link”.
Will incorporate that idea as soon as I finish my current mod (which is to incorporate sending an entire program to each slot, and the webserver to monitor the operation without having to depend on the app).