Getting a xenon to communicate to blynk app directly, works with argon but not xenon

Have a question regarding xenon interface to a Blynk, I can not get the xenon to communicate with blynk, thru the argon, Yet I can flash the same program to the argon and it will work, is there a trick or way to be able to program directly to the xenon to interface with Blynk, can you please have someone on your team let me know how to interface a xenon to communicate directly to the Blynk app. it works for the Argon but does not work on the xenon. Help me understand why please thanks Mike

Hey Mike!
I read this post the other day. There are some limitations that might get in the way:

From what I understand, getting things worked out between Particle and Blynk where the Xenon will be able to communicate directly with Blynk is something on the radar but is on the back burner at the moment. The engineers have their hands full with ironing out the stability with the mesh devices. The work-around to use publish/subscribe seems to be the only good way that I have found thus far to make it work. So far, for me, it seems to be working quite well. Essentially, the Xenon does not end up communicating with Blynk at all and only with the Particle Cloud. The Argon (or Boron) as the gateway is the only thing communicating with Blynk. With the exception of using the Xenon with an Ethernet Featherwing with will allow TCP traffic to and from the device.

2 Likes

thanks very helpful, I was thinking just a mesh publish subscribe and use the argon as the main interface, but wanted to leave that argon with not to much programming on its end want it to mainly just be the gateway to the outside world. oh well guess my options are limited either use the argon and program some of the code there, or I could use publish subscribe type events to directly interface with the xenon sounds like thru a webhook of sorts. thanks for the response and article reference very helpful. It least I wont keep trying things that will ultimately not work. :slight_smile:

thanks for the insight, you using mesh publish and subscribe and bringing in the blynk info into the argon , if so how are you pub sub in with a mesh pub sub or a particle pub sub. just wondering whats working best for someone who is already ran into this issue and resolved it somewhat.

@fisvii

I posted demo code here for using a Xenon with Blynk in a mesh network using Publish/Subscribe.
https://community.particle.io/t/using-blynk-with-particle-mesh-devices/49775

@TimGTech, with the latest update to Device OS, is there an updated solution for Xenon to communicate directly with Blynk?

Only if you are using an ethernet featherwing on the Xenon board.

@TimGTech, Thanks. I thought of two possible scenarios:

  1. Argon is acting as an edge router communicating on BLE with Xenon and communicating on WiFi with(and cellular or Internet router) with Blynk Cloud
  2. Xenon is communicating with my phone running Blynk and my phone communicates with Blynk Cloud.

Can you confirm/deny if it’s possible (without going through Particle Cloud)? Using only one cloud service?

In any case, communication with the Blynk cloud (or a personally hosted Blynk server) happens via an HTTP call, which by nature happens over TCP. Unless the Xenon is used with the Ethernet Featherwing shield, it is not currently capable of TCP networking, only UDP.

One thing to consider would be doing the translation of your data on the Argon, which is capable of both TCP and UDP. The Argon can then send what it received over UDP from the Xenon, to the Blynk cloud over TCP. I haven’t personally done this but I imagine it would be possible.

@addisonwk Thanks. I need to study more how Particle system works. I had an impression that BLE is not an IP protocol (except 6LoWPAN over BLE, which is probably not used by Particle). What version of BLE is used on Particle devices?
I saw some examples of using Xenon to communicate with smartphone using some BLE profiles (serial port profile). So if I don’t use mesh, it can be possible to talk to Blynk on my phone, right?

@janek 6LoWPAN is exactly what Particle Mesh uses because that is what Thread is based on, luckily.

From the particle mesh product page:

What is Thread®?

Thread® is an open mesh networking protocol released by the [Thread Group}(https://www.threadgroup.org/). Particle Mesh uses OpenThread, an open source implementation of Thread® released by Nest, as the foundation of Particle Mesh, our mesh networking technology.

Check out the solid BLE documentation over at Particle Reference Documentation:

The mesh networking in Gen 3 devices is Thread Mesh (6LoWPAN over 802.15.4).

3 Likes

The Xenon will not connect directly with your phone using BLE like many other Arduino type devices using BLE. Using Particle’s Tinker app as an example: Your phone and the Argon or Xenon do not communicate with your phone (only during initial setup process). The app on the phone and the devices communicate with the Particle Cloud. The Particle Cloud is like the broker for the platform. The Xenon will only communicate with the cloud and other devices part of the mesh network. Blynk requiring UPD will only work on a Xenon with the Ethernet shield for a direct connection to the internet. Somewhere down the road there may be firmware updates to allow this hopefully but so far it look like not for some time.

The prerequisites have been made available with 1.3.0-rc.1 and just recently 1.3.1-rc.1 has expanded on that.
So direct BLE communication between your phone and any of the Gen3 devices should be possible already.
However, in order to have the device talk to Blynk the Blynk team would need to add that feature to their library or provide a dedicated library for BLE communication.

Wow, thats cool. Thanks for the heads up on that. Hopefully Bynk will jump on board soon with a library update. Progress is good news!