I just ordered an imp dev kit and have a few questions before it arrives. My big question is that I don’t understand what is the imp cloud? It sounds like it’s a way to allow you to store your code and firmware updates to the Imp itself but it also seems like all TCP/IP has to flow through it as well? Is that the case? For example if I make an http request to an API endpoint, does that traffic flow through the imp cloud?
If so how is the imp cloud implemented. lets say for example I’d like to build a large scale sensor network on top of the Imp technology with each device streaming at 10hz with various sensor data (i.e. 10 times per second) with tens of thousands of Imps, how is that traffic handled if it has to go through the imp cloud. How does Electric Imp (the company) provision it’s cloud to support something like that?
I apologize if these questions are answered in the forums but I didn’t see any scenarios where there would be significant traffic flowing through the imp cloud (i’m actually hoping things like that don’t have to go through the imp cloud as that seems like a very arbitrary mechanism - i totally get the code lives there, etc but why all traffic would need to go through doesn’t make sense to me).
Thanks for any help! really looking forward to learning to program squirrel!
Correct, everything flows through the cloud service. The HTTP APIs are all implemented cloud-side, not device-side.
There are many reasons for this that have been gone into in many posts. For one, this gives every device a unique URL accessible from anywhere on the internet even if the device itself is behind a firewall - something not possible with local networking and possibly multiple levels of NAT/CNAT. If you’re looking for a “bare” wifi module, there are plenty of other modules that will give you what you want - but they can’t provide the seamless cloud integration that the imp can.
Our service is designed to handle large amounts of data throughput, and we have sold many hundreds of thousands of them to date. In a commercial application, you’d likely run into our data limits sending data at 10Hz continuously, but could pay for the extra data provisioning if this is what you required.
Thanks Hugo - that’s exactly what I was wondering about. Interesting point about the url to the device. I see how that definitely makes sense.
I figured the data limits would apply but I guess I was wondering more about the ability of your company to scale if the appropriate business relationship was in place. The news that you’re moving to Erlang for the cloud infrastructure seems like IMHO you’re working hard to have a production cloud environment that scales. I guess once I get past prototyping and can determine whether the IMP solves the pain I’m trying to solve I can reach out to sales to discuss the implementation idea i have in mind?
Pretty sure we can deal with your needs; the things we tend to avoid are streaming video feeds
When you’ve worked out your requirements, please do reach out to us!