We are building a solution as below:

  1. Arduino-based sensors read data and send it to Raspberry every second.
  2. Raspberry Pi should do some processing on these data, then communicate with a backend system using an exposed Web Service every minute.
  3. the solution is in an industrial environment.

My Questions:

  1. Do I need middleware for this job?
  2. If the answer is yes, can I use a Raspberry for this or better use a server/VM for this purpose?
  3. Any middleware recommended?
  • 3
    Hi Yvan, I'm not sure we've got really enough data here. How many sensors are you talking about, what amount of sensor data do they send. Where are envisioning a middle ware right now? – Helmar Aug 25 at 12:39
  • 1
    Hello @Helmar , each pi should handle 20-30 Arduino sensors. As mentioned, a quantity should be sent every second from each sensor to the pi, the pi will collect and process the data using WSDL to an external system. – Yvan Aug 25 at 13:38
  • Your question is in my opinion too generic. Industrial environment does not add any information or suggest any architecture to be used. Also note that the concept of middleware is too generic. – Francesco Boi Nov 19 at 13:54
up vote 1 down vote accepted

Please consider using Apache NiFi as middleware for sensors/IoT data acquisition because it is powerful and reliable. Using Raspberry Pi as middle-ware in industrial environment would not be the best solution in my opinion.

  • 1
    Thank you so much, regarding the Minifi recommended devices for IIoT, any recommendations? – Yvan Aug 26 at 19:07
  • If you can share a bit more about yours needs I'm willing to share my ideas back. – Amit Vujic Aug 27 at 18:46

The concept of middleware is a little ambiguous. You mean a middleware between your backend and raspberry/ies?

A middleware is useful when you have different devices and protocols communicating to your backend. Its job is to handle communication in a easier way without having you to worry about which device is using which protocol. However it adds complexity to your system (communication errors handling, deployment, scalability and so on).

In your case if you have one raspberry or many of them (since raspberry is communicating the data to the backend, Arduinos here should not even considered) communicating the same kind of data and you think your system will not change much then no, I think you will not need it.

If you think in the future your system will have to interface with many protocols (http, MQTT and other protocols) and in different ways then yes a middleware might be needed.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.