Blynk.Inject Board Updates MKR1000

I’m trying to connect to the dashboard using MKR1000 tp register it. There’s a note in the docs that say that BLYNK.Inject works for MKR1010 but doesn’t mention MKR1000.

Under >Examples > Blynk > Blynk Edgent> ESP32

I can’t compile without a bunch of error messages. One is that the example sketch requires an ESP32 board. The MKR1000 is. I have the board identified as MKR1000 on its comm port.

So I assume that the MKR1000 is not suitable?

The MKR1000 uses a ATSAMW25 CPU, not ESP32.

If you have the latest pre-release version of the Blynk library installed from here:

then there is an MKR1000 Edgent example sketch.

Pete.

1 Like

Although, keep in mind that OTA on MKR1000 is not fully supported.
During OTA, the new firmware resets the configuration (credentials, etc).
This is a known issue, and cannot be fixed without some hacks.

Currently there’s not enough incentive to release a fix (an support it) for this board, but feel free to contact us directly, if needed.

Hello Peter… we meet again.

My apologies for the identification of the ESP32 and MKR1000 with ATSAMW25 CPU. I was thinking 32 bits. Before leaving the US for Canada last month, I was building an 8088 computer and 8/16 bit suddenly became very important.

Let me explain what is happening. I’m following the documentation for a quick startup on Blynk’s Dashboard and Arduino’s MKR1000. Which happens to have a SAMW25 chip installed. But before I even did this, I started off with Arduino’s dashboard and the MKR1000 installed and ran right away with three elements wired in.

Going back to the Blynk quickie setup documentation, I immediately ran into troubles with registering the microcontroller at the WiFi provisioning using Blynk.Edgent. The instructions directs you to use ESP32 for the board when selecting the example. Also, the documentation point to a library download that is not what you suggested.

In either case, when compiling, one is presented with a number or errors. After the ESP32 error is solved, header files aren’t found.

I’ve just reverted to a fresh installation of Arduino IDE and will try it again. If at all possible, would you do the same? I shall also install blynk-library-master.zip libraries. I discovered a number of headers reside there.

One last note… I need to know if the quick installation document limits the controllers to MKR1010. It does not include MRK1000. If so, I will purchase a MRK1010.

Thank you for your time.

I think it’s just an example, which assumes that you’ll adjust that to the relevant board type.

There is a new release pending, which has some improvements in the Edgent functionality and more MKR boards covered, so you could either wait until version 1.0.1 is released, or use the latest files from the GitHub site.

I don’t quite understand what you’re saying here.
If you download the zip file from the link above, open it and copy the contents over to your Blynk library folder used by the IDE then you’ll have the latest library in place.

Once again, I’m not following your question. The latest library has an MKR1000 Edhent example, which you should use.

Pete.

Moving right along… we are now addressing your first quote of me in your latest communique to me. As you move along the instructions to set up and register your first device, you will come to WiFi Provisioning. Use this link to get there. WiFi provisioning - Blynk Documentation. The discussion starts off with the ESP32 and leaves out ESP8266. It forces the reader to assume that it also applies to the ESP8266. You don’t want the reader to assume anything. Reading further you will have a warning box

> Currently, WiFi provisioning with Blynk.Inject only works on ESP32, ESP8266, WiO Terminal by Seeed, Arduino MKR1010, Arduino Nano 33IoT, and Texas Instruments CC3220.
> 
> Raspberry Pi will be supported soon.

Here we do mention ESP8266, however, we go on to mention specific boards and leave out MKR1000. The wording of this sentence is ambiguous. What is it saying? Do only those boards work? Or, it’s an example list? Lastly, Raspberry Pi is not supported but will be soon. That was a quasi explicit statement. When it comes to soon for Blynk, it could be years or never.

The art of writing clear and explicit instructions isn’t for the faint of heart.

Moving along we come to this heading WiFi provisioning - Blynk Documentation Setting up your sketch to Enable WiFi Provisionings.

This is an instruction to download the “latest” file.

Download the latest release of Blynk.Edgent as a Source code .zip file

It is [v1.0.0-beta.3]

What you pointed me to earlier was this: GitHub - blynkkk/blynk-library: Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc. It downloads this file, blynk-library-master.zip.

These are two different files. The file that the instruction docs points to doesn’t have ESP6288 examples. Yours does. But when you have both installed in Arduino IDE, it seems to conflict and you don’t see ESP6288 unless you delete the V1.0.0 Beta 3 library.

OK… The experience that I have just written addresses points 1, 2 and 3 in your communique. You should see it. But remember, I am not the Blynk technical writer. I’m the guy he’s writing to. And this guy, who isn’t a novice, is having problems. If I’m experiencing problems, believe that others are too.

Now for the last point. I’m not interested in waiting for anything. I want to get a device loaded and running. If the present instructions work for a particular device, and I assume MRK1010 because it was identified and probably tested, then that’s what I will purchase. I’m trying to avoid purchasing devices that will not work. To address this, the instructions must explicitly list boards that did work using these instructions.

But clearly, the instructions are not working. Blynk is trying to win over new customers with this quick, out-of-the box, experience, and for me, a seasoned engineer, that is not working. I can make it work, eventually, just like everyone else, but that is absolutely not what Blynk wants its first-time clients (commercial) to experience (hobbyists are a different lot.). It takes a great deal of effort to get someone to visit Blynk store. It takes very little to drive them off. Blynk wants to project a professional approach… not half-baked. The original Blynk experience did work. And I used a discreet ESP-1 to connect with a NANO. But this dashboard experience has been anything but pleasant. And that’s what we’re discussing for the benefit of other souls who are experiencing the same issues but are too shy or inexperienced to “put their foot down”. Hence the title of this thread.

Maybe you should be the Blynk Tech Writer?

@TorontoFred I’m simply trying to help you get up and running with your existing hardware, and I’m not looking for a lecture on the shortfalls of the Blynk documentation.
Those shortfalls are best addressed via the Blynk GitHub issue reporting system, via the link on the web dashboard.

No thanks! I’ve done my share of that s**t in the past, now I’m (mostly) enjoying early retirement.

Pete.

Sorry my man, I decided to stick with you. I have good news. I managed to find the missing headers and the device is connected to Blynk. However, developing the phone app dashboard failed. There have been changes made on the app after the documentation was completed that jumbles things up. Also, the various plans structure placed two widgets out of reach for the quicky startup. Switch and Chart requires an upgrade. PushButton was substituted for switch. And label doesn’t exit at all. Also, the instruction flow and the screen shots in the documentation was difficult to follow. English may not be the tech writers forte and the community criticized terminology used by Blynk in the past is still in full force. So, I shall chase this another day. I would like to post my experience in dealing with the initial device registration process below. Maybe someone will find it useful.

fresh installation of Arduino IDE
Fire-up Arduino IDE
Set comm port and board SAMD MKR1000
installed blynk-library-master.zip

File > Exmples> Blynk> BlynkEdgent> Edgent_MRK1000

Copy Template ID and Device name from Dashboard Template and verify sketch.

WIFI101.h missing
installed Arduino-master.zip

WIFI101.h missing

Windows 10 search for WIFI101.h
failed

Restart Arduino IDE and verify.
Still missing file

Search Manage Libraries for WIFI101.h
Selected WIFI101 Library
restart Arduino.ide
Solved.
However, FlashStorage.h missing

Search Manage Libraries for flashstorage.h
Selected Blynk ESP8266AT_WM
dependencies installed including SlashStorage_STMd/32
restart Arduino.ide
flashstorage.h still missing.
search directory Doc/Arduino/library for file.
flashstorage.h does not exist/other variations do.

Search github for flashstorage.h.
3 disqualified results with no direct hits.

Search internet “flashstorage.h arduino missing header file”
various disqualified results

Search internet “flashstorage.h arduino download”
qualified hit on Arduino.cc / flashstorage 1.0.0.zip
solved
Timer5.h missing

Timer5.h missing
internet search for “Timer5 download”
Timer5-master.zip downloaded
solved

ArduinoOTA.h missing
Assume MRK1000 OTA not available
nevertheless… search “arduino.cc:arduinoota.h”
downloaded arduinoOTA-1.0.6.zip
solved

During verification following warnings observed

In file included from C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\BlynkEdgent.h:14:0,
from C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\Edgent_MKR1000.ino:13:
C:\Users\fred2\Documents\Arduino\libraries\blynk-library-master\src/Blynk.h:15:2: warning: #warning “Please include a board-specific header file, instead of Blynk.h (see examples)” [-Wcpp]
#warning “Please include a board-specific header file, instead of Blynk.h (see examples)”
^~~~~~~
In file included from C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\BlynkEdgent.h:39:0,
from C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\Edgent_MKR1000.ino:13:
C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\Console.h: In lambda function:
C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\Console.h:30:5: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
);
^
C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\Console.h: In lambda function:
C:\Users\fred2\Desktop\blynk MKR1000\Edgent_MKR1000\Console.h:45:5: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
);

Compiling done.

Sketch uses 72780 bytes (27%) of program storage space. Maximum is 262144 bytes.
Global variables use 9872 bytes (30%) of dynamic memory, leaving 22896 bytes for local variables. Maximum is 32768 bytes.

Uploaded.

Monitor does not reboot the device when fired-up. Used line commands to verify connection to Blynk.

help
Available commands: help, ?, reboot, config, devinfo, netinfo

config
{“status”:“OK”,“msg”:“entering configuration mode”}
exit
Command not found.
help
Available commands: help, ?, reboot, config, devinfo, netinfo
devinfo
{“board”:“Basic Control”,“tmpl_id”:“TMPLWdn6wInD”,“fw_type”:“TMPLWdn6wInD”,“fw_ver”:“0.1.0”}
netinfo
{“ssid”:“Blynk Basic Control-4D5DF”,“bssid”:“f8:f0:05:f5:f5:e1”,“rssi”:-100}

Open iPhone New Blynk App and added device.

This is the device response on Arduino monitor. Sensitive info x’d out.

Device connected to AP
[1148525] Sending board info…
[1148634] Sending networks…
[1171470] Applying configuration…
[1171474] WiFi SSID: Lab Pass: 303XXXXXX
[1171478] Blynk cloud: wj-KIFuJ7NGEGz3qWe9Cn1SZyp7Qlk4k @ blynk.cloud:443
[1171483] WAIT_CONFIG => SWITCH_TO_STA
[1171493] Switching to STA…
[1172495] SWITCH_TO_STA => CONNECTING_NET
[1172500] Connecting to WiFi: XXX
[1173917] Using Dynamic IP: 192.168.0.112
[1173928] CONNECTING_NET => CONNECTING_CLOUD
[1173942] Connecting to blynk.cloud:443
[1181959] Ready (ping: 2891ms).
[1182026] CONNECTING_CLOUD => RUNNING
[1182031] Configuration stored to flash

At this point the Blynk dashboard shows the new device.