|
|
|
|
|
by sushant2mainali
3730 days ago
|
|
As of now we here is our plan:
1. Devices can either be always connected ( using websockets / ajax / any other technology) or
2. Devices can define what is the maximum time before which a device is deemed as disconnected ( could be secs / hours / days). If they don't send data in a certain period of time or if they don't respond in a certain period of time.
2.a. For devices following this - the time will depend on internal memory and how much they can store and process, as whenever they have connection, they can send time stamped data in bulk. We need a way to determine how to acknowledge since we may lose connection after getting the data but before sending ack. At that point, we may just discard the data ( but there might be a better solution ) and device can send data ( not very effective).
2.b. The developers can determine the timeout in sending commands and also do they want to queue up all pending commands or just send the latest one.For instance, if I want to turn on something, and I send 100 'on' commands; do we have to send 100 of them or just the last one and for how long is the command effective before it is determined a timeout and we can flag a connection lost. The developer will be able to define all of that and for starters with simple application, they can just leave all that to default as most of the times it will just work. How the h/w implements it, is up to the hardware developers ( we plan on developing some ourselves using different technologies and hardware ( raspberry PI, Intel Edison, some using sim cards, etc and using different protocols) and others can leverage off of that).
The server side: receiving data, sending data, analyzing data, displaying data and detecting disconnection is what we will handle and the phone app / website for all of that. |
|