With all the talk of Blynk.Inject, WifiManager and more recently AutoConnect, it’s time to revisit my Blynk Project / App Sharing and Dynamic Provisioning strategy. Here are my requirements …
I’d prefer a native Blynk solution. I’d prefer not to introduce something like WifiManager or AutoConnect. Or even the Arduino IDE for that matter. The solution should be simple and foolproof. The user shouldn’t know anything about auth tokens or Arduino libraries (or Arduino for that matter).
The solution must use the Blynk cloud (no local server).
I’d like to share my Blynk app, however, this isn’t an option unless I spend $249 on the Blynk Startup package. I’m willing to settle on sharing my Blynk project.
I need to share my NodeMCU 1.0 / ESP-12E compiled binary. I’m looking for the most simple and straightforward way of uploading a binary to a virgin NodeMCU. Downloading the Arduino IDE is not an option. I’m assuming the binary must be uploaded via USB (i.e., no OTA). Any suggestions? In the past, I’ve written a simple Windows program to upload a binary. You select a USB port and click “Go”. Nothing to configure. No upload speeds, flash sizes, CPU frequencies, board managers, … Any other ideas? Arduino has a Web Editor. However, even that requires you to install a browser plug-in.
I need to dynamically provision the NodeMCU with a SSID / password and Blynk auth token. I really like Blynk.Inject. The need for an auth token is hidden from the user. However, the dynamically-assigned auth token seems to be tied to the Blynk app preview. Is my understanding correct? If I need to modify the project and re-generate the app preview, previously assigned auth tokens are invalid. In this situation, I’ve hacked BlynkProtocol and BlynkProvisioning to automatically reset the SSID / password. The NodeMCU reverts to wi-fi Access Point (AP) mode. However, I must then manually re-add all of the devices using the Blynk Connection Wizard. Each device is dynamically assigned a new auth token. Has anyone figured out how to seamlessly re-associate an existing device (previously provisioned using Blynk.Inject) with a new Blynk app preview? How does Blynk.Faces work as part of the app preview? You can add multiple projects to the same app preview. However, does Blynk.Faces deliver on the marketing pitch?
Blynk.Faces™ is a powerful feature of Blynk that allows you to have a Master Project which controls all the changes in the published app. Any UI updates made in a Master Project are instantly reflected for all users.
- Would Blynk.Faces allow me to update a project, re-generate the app preview and maintain the association with existing devices?
I’d greatly appreciate any help you can offer. I’ll continue to dig into the Blynk protocol and provisioning firmware and test different hacks, however, there’s no sense in reinventing the wheel if someone else has already developed a solution that satisfies these requirements.
Thank you in advance,