Photon - pointing to own servers


#1

I am building a product based on the Photon. I like Particle and the platform they’ve built. I’ve enjoyed every interaction I’ve had with them so far. However, I also see the perils of being tied to the platform as discussed here. The only option for smaller outfits will be to simply shut down if the pricing does not work out. While building a version 1.0 on the Particle platform, I would like to mitigate this risk for a future version of the product. One option is to build an alternate endpoint for the Photon to communicate with, so that hosting costs are more predictable - i.e., you control costs yourself instead of Particle. To this end, I have the following questions:

  • Once a product is out in the field, is it possible to flash the device with firmware that there on out communicates with your own servers without the Particle platform in between? Assuming the new server handles the calls appropriately, it should all work, right? I understand this would be a considerable amount of server side work that needs to be done.

  • Are the calls made between the Photon and Particle documented somewhere (events, variables, OTA, etc.)?

  • Has any one done this or is this even feasible?


#2

Particle has started a standalone server which was greatly reworked by @Brewskey.


But the question about ability to OTA flash a product after the Particle Console would be gone (hope that’ll never happen) I’d have to defer to @rickkas7.


#3

Thank you! The local cloud seems like a great place to start. Assuming the “local” cloud is deployed out on a server reachable to the device, can you push out OTA updates from the local cloud to the device?


#4

@ruku, yes the local cloud supports OTA but I believe it does not support devices assigned to Products.


#5

OK. I will get the source and fiddle around with it some more and post back here if there are any more questions. Thanks, @peekay123 and @ScruffR


#6

Hey @ruku, we should handle most things you’d need from the cloud. The only thing that’s flaky at the moment is using the local cloud to compile. Particle has added a few APIs that we don’t support. A workaround is to compile on the Particle cloud and then flash on the local cloud.

@ScruffR , products do work somewhat but have a few caveats. You can see them here

There are a few companies using our fork in production. I think the largest has a few thousand devices connected.

If you run into any problems, feel free to file bugs at github.


#7

Perfect. Thanks, @Brewskey