Blynk

Blynk is just awesome. I wanted an app in my phone which would present some basic metrics to me, like unread e-mail, starred e-mails (follow-up this week) etc. I don’t really want to build a full Android app for this, but just pull some basic widgets in there and ideally connect it to my HostedGraphite.com metrics. Well, Blynk with a data publisher should do the trick.

Plan:

  • Publish one metric
  • Setup one widget
  • Update metric’s value
  • See that the loop is there
  • Build software to push many metricses
  • Setup own Blynk server
  • Champagne and present on “Bring your project” Meetup perhaps

Publish one metric

Really simple GET HTTP request:

http://blynk-cloud.com/**auth_token**/update/**pin**?**property**=**value**

You can see how the hardware project thinking shines through here: the pin part must be present and should be a pin on some hardware that you tinker with. Also, there’s no transport security here: raw HTTP.

Then my plan more or less broke down. The Blynk Server expected a client, typically running on some hardware device, to be connected. If a client’s not connected, you can’t push value updates. So I used one of my Raspberry Pi (3) currently connected to a power switch, enabling me to remotely kill the power to my 3D printer (in the event of it starting a fire). While doing all of this, I discovered that the Android App didn’t pull the data as often as I expected. After changing a value on the hardware device, the app didn’t update. For minutes - I never saw an update. :-(

I may read up on the source of the Blynk server (and it’s protocol) in my next life. This ends here tonight.

References

  • https://play.google.com/store/apps/details?id=cc.blynk&rdid=cc.blynk - the android app
  • http://docs.blynk.cc/ - official docs
  • https://github.com/blynkkk/blynk-server - setting up your own server
  • http://docs.blynkapi.apiary.io/ - the HTTP based API between devices and the Blynk server
  • http://www.raspberry-pi-geek.com/Archive/2015/12/Blynk-for-Raspberry-Pi
This work by Fredrik Wendt is licensed under CC by-sa.