Нередко мы оказываемся в ситуациях, когда нам для разработки IoT-приложений хотелось бы воспользоваться несколькими программными средами, например:
1. Мы предпочитаем делать обработку изображений на языке программирования C++ с использованием OpenCV, нежели делать это на NodeJS или Arduino. Так происходит в основном потому, что есть много примеров для OpenCV, написанных на C++.
2. Допустим, наше написанное на Arduino приложение должно определить количество лиц на полученном с камеры изображении. Для этого нам нужно использовать OpenCV для обработки изображения, а затем передать Arduino количество выявленных лиц.
3. Мы предпочитаем использовать NodeJS для создания веб-сервера, потому что это относительно легко сделать с помощью NodeJS, нежели других языков программирования.
Существует множество подобных примеров. Тем не менее, во всех этих случаях нам всегда необходим простой механизм обмена данными между различными средами программирования.