Issue link: https://resources.mouser.com/i/1442808
26 4.0 Trade-off Considerations Deciding whether an IoT gateway is appropriate involves considering and weighing multiple factors in the context of your application and operating system environment. IoT gateways from different suppliers offer different features, functions, and price points that must receive consideration, which may include some of the following: • The number of sensors: If you have more than a few sensors in the same vicinity, it is usually more efficient to connect them to a single IoT gateway rather than giving each sensor its IP network interface, network firmware, and security credentials. • Data processing complexity: Simple, low data-rate sensors can send their data directly to the cloud. When data from multiple sensors need to be combined, pre- processed, buffered, compressed, or preserved during transient network outages, an IoT gateway is a more robust choice. • Interface complexity and variety: If you need to connect sensors or actuators to multiple types of electronic interfaces (e.g., RS-232, Universal Serial Bus (USB), Modbus, Bluetooth, and Zigbee) or you need to support various IP network interfaces (e.g., a wired local area network (LAN), Wi-Fi, and an LTE wide area network (WAN)), one IoT gateway may be able to accommodate all of these interfaces in a single unit rather than needing separate interface converters for each sensor. • Security complexity: Secure data processing can be resource-intensive in both memory and central processing unit (CPU) responsibilities. If complex security algorithms or a large number of digital certificates are necessary, these requirements may go beyond the capacity of a regular microcontroller, making an IoT gateway more suitable. • Programming language support: Regular microcontrollers often get programmed in C/C++ and Assembly. IoT gateways often support C/C++ plus additional languages such as Java, JavaScript, Python, and C#. Using an IoT gateway allows you to write sensor data processing software in a wider variety of languages.