devicehive / devicehive-cpp

* DEPRECATED *
Other
4 stars 6 forks source link

Devicehive Scalability #3

Open prafullsm opened 9 years ago

prafullsm commented 9 years ago

Hi, I have been working on device hive framework recently.since I am trying to extend the current functionality to full fledged IoT framework. Our sensor device will not be having OS and hence C code would be used while Gateway will be having OS and hence we are using C++ framework code.

  1. I am expecting the communication of gateway with server using TCP-IP [ over wi-fi]/ GPRS. Does boost.asio component provides such communication component? If not, how can we integrate in the same in existing framework?
  2. Current gateway project solution is only one sensor communication with gateway. But, We are trying to extend devicehive framework for multiple sensors connected with gateway and multiple gateways connected with server. Please throw some light on scalability of devicehive for IoT purposes. 3, Our sensor device is having RF Rx/Tx which uses RS232 protocol for data communication. So, Eventually we have wireless communication between device and gateway. In such case, does boost.asio suffice the communication purpose on gateway? (I have not yet seen C code for sensor device)
  3. I am just concerned about the memory foot print when framework is extended for multiple resources. Please let me know current foot print for a single device
Pilatuz commented 9 years ago

Hi, you could use cpp or python gateway.

  1. gateway is communicating with the server using TCP/IP. Two options available: HTTP/REST and websocket. I think websocket is more suitable for your environment.
  2. yes, cpp gateway example uses one device connected via serial port. For now you can run multiple instances of gateay. We'll support multiple connections in gateway soon.
  3. If your RS232 protocol is simple byte stream I'd recommend to use DeviceHive binary protocol.
  4. I cannot not provide such a numbers. But we run our examples on arduino boards without any problems.
prafullsm commented 9 years ago

Hi.Thanks for your response! Coming back to my point no,2 How much memory is required for a single instance of gateway device? Accordingly , I would come to know how many such instances can be run. OR can you please let me know how can we measure the memory foot print using any tool / code? Also about point no. 3, Sensors are communicating using simple byte stream which contains sensor ID,Gateway Id it is connected to, data type( Command| ACK|), Data, I would like to know if data can be sent using any other medium apart from serial RS 232 protocol as every time sensor may not be connected with gateway using serial cable?

Pilatuz commented 9 years ago

Hi, the key question here: can you change sensors firmware to support devicehive binary protocol? If no I think you should implement your own gateway to support specific sensor protocols and convert Data from sensor to appropriate JSON notification. There is zigbee_gw example - it supports multiple connections and implements XBee protocol - it might be a good start point to implement your own gateway.

2015-02-17 20:21 GMT+03:00 prafullsm notifications@github.com:

Hi.Thanks for your response! Coming back to my point no,2 How much memory is required for a single instance of gateway device? Accordingly , I would come to know how many such instances can be run. OR can you please let me know how can we measure the memory foot print using any tool / code? Also about point no. 3, Sensors are communicating using simple byte stream which contains sensor ID,Gateway Id it is connected to, data type( Command| ACK|), Data, I would like to know if data can be sent using any other medium apart from serial RS 232 protocol as every time sensor may not be connected with gateway using serial cable?

— Reply to this email directly or view it on GitHub https://github.com/devicehive/devicehive-cpp/issues/3#issuecomment-74709267 .