Excited to introduce a new feature - Blueprints (Beta)
Now, you can have not only a device connected but a fully functional project built in no time! Yep, that includes firmware code, configured datastreams and beautiful dashboards.
What is a Blueprint?
A Blueprint is basically a pre-built template and a detailed step-by-step guide on how to make the project work.
Each Blueprint includes:
List of hardware and software required
Pre-built web and mobile dashboard
Pre-configured datastreams
Working firmware created specifically for the project
Step-by-step tutorial on how to run the project
Everything starts with finding a relevant Blueprint - in the future, it will be anything from an air quality monitor, a hydroponics IoT solution to an asset tracker, or a simple garage door opener.
Once youâve copied a Blueprint to your templates, you can easily customize the project by adding more widgets and modifying the code to add new functions on top. Lots of time saved!
Whatâs available now?
As with any new functionality, it will be a gradual rollout. You can already find the first 5 Blueprints in the Template section of Blynk.Console and many more are coming soon.
Blueprints can only be accessed via Console, but the template itself will include a pre-set mobile app dashboard for your project
Enough talking - go ahead and try Blueprints to see for yourself! And donât forget to update your app and library to the latest version.
@Pavlo Iâm travelling in Europe for the next month or so, but Iâll look in to it when I get back home.
Is there some guidance about how to create blueprints?
Hi Maryna, congrats on the new Blueprints, excellent idea and well executed! Quick question regarding the Blueprint âAsset Trackerâ. I have followed successfully (I hope) all of the steps and have the Particle code working and sending WebHooks to Blynk. So far, Blynk has displayed connectivity (via Console) so I know I am reaching Blynk server (NY3). But I am receiving an error status 400 from ny3.blynk.cloud with both WebHooks.
The Particle Log is telling me
HTTP/1.1 400 Bad Request
connection: keep-alive
content-type: application/json;charset=utf-8
access-control-allow-origin: *
content-length: 68
{"error":{"message":"Value doesn't match the Datastream data type"}}
This is the HTTP request sent to the webhook url:
GET /external/api/batch/update?token=xxxxxxxxxxxxxxxxxxxxxxxxx&V3=%2C&V4=&V5=&V6=2023-06-22T04%3A26%3A40.240Z&V10=no%20battery&V11=47.5&V12=25.0 HTTP/1.1
User-Agent: ParticleBot/1.1 (https://docs.particle.io/webhooks)
host: ny3.blynk.cloud
Connection: keep-alive
I havenât changed any of the datatypes or valuesâŚ
Any ideas?
Thanks!
Have you modified the firmware or device template at all, or is everything straight from what the blueprint generated? Did you change the data passed in the Particle.publish()? If so, please share.
The âHTTP request sent to the webhook urlâ you shared of âGET /external/api/batch/update?token=xxxxxxxxxxxxxxxxxxxxxxxxx&V3=%2C&V4=&V5=&V6=2023-06-22T04%3A26%3A40.240Z&V10=no%20battery&V11=47.5&V12=25.0â is invalid.
The â%2Câ for V3 is a problem. V3 should only be GPS coordinates as the longitude and latitude. Ex: V3=-76.2,23.1
Only V6 and V10 should have %20 for a space in it since they are the only datastreams of data type string.
Confirm the server âny3.blynk.cloudâ is correct. In the Blynk Console at the lower right is the server you should be connecting to.
Use your browser to test a Blynk HTTP API GET. Revise the following, replacing the BLYNK_AUTH_TOKEN from your sketch (.ino file) with {token} below, and {server_address} with your server address. Include the brackets in the replacement. Then put that URL into a browser at the address input at the top and see what response you get. If no error, then check your web dashboard or mobile app to see that the datastream values changed.
Looks like the data stream mismatch is for V10, Battery Level. The template shows type âDoubleâ which should work if indeed the level is sent as a number. But since I am using the Particle plugged into the USB, there is no battery and apparently the script sends âNo Batteryâ as a String type, causing the datatype issue. When I replace the âNo Batteryâ with, say, 4.2, naturally it works correctly.
Here is the code segment for this variable:
// Battery and cellular signal variables (and default values)
String batt_chg = "no battery"; // battery charge
String cell_str = "N/A"; // cellular signal strength
String cell_qual = "N/A"; // cellular signal quality
So, I guess either the datatype for V10 should be changed to âStringâ in the template, or the demo Blynk script should be changed to not send character-type data in the case of âno batteryâ present.