IoT Architecture: Build it Right the First Time

2023-04-16 19:10:26
关注


Illustration: © IoT For All


IoT can be an amazing enabler for your product, but it’s important to make sure you get the architecture right. Because IoT solutions involve so many complex, integrated components, a sound IoT architecture is a make-or-break part of product development. A successful IoT architecture addresses a mix of technical requirements, business implications, and delivery considerations. Your IoT architecture should provide a roadmap for reliable, secure data transport, as well as methods to manage and deploy your devices.


” A successful IoT architecture addresses a mix of technical requirements, business implications, and delivery considerations.”


Begin at The Beginning

So, where do you begin? At the beginning, of course! The very first thing you should consider when creating your IoT architecture is the use case of your device. How your product will be used should guide how you define your architecture and whether your networking should be local or cloud-based. Is your application local, where your data can be processed at the edge of your network, close to the source? Maybe you want to walk around a factory floor and check all the smart sensors. You could accomplish this using Bluetooth and a mobile application on a smartphone.

But, if you had a light switch that is installed in someone’s home so they can turn lights on and off while they are away, then local architecture doesn’t make sense. You’d need to design it for the Cloud, where data is gathered and processed in a centralized location, and all devices that need to access this data or use applications associated with it must first connect to the Cloud.

The question of whether your device architecture should be local or cloud-based – or a combination of the two – can only be answered by considering its application. You should also take analytics into account when answering that question. If you want to gather analytics from your device without sending out a field engineer, then you need to be thinking about architecting to the Cloud.

Hardware Matters

Evaluating your device hardware and protocol is another important part of planning your IoT architecture. In a typical IT environment, we send as much data as we want with few restrictions. But the amount of data we can send in an IoT environment is often limited because of battery size, distance, or accessibility.

You need to consider several different factors: What is your power source? How much data are you sending? How far are you sending the data?

For example, if you are using a sensor to test pH levels in a remote bog, you may only need to send small amounts of data – the pH level results – once a day or once a week.  Because sensors are equipped with very small batteries, you would want to choose a low-power networking protocol like MQTT so you reduce your bandwidth and maximize the battery life.

Or if you are connecting millions of devices, you may need to reduce bandwidth just because of the sheer volume of data you are collecting. Before choosing your hardware architecture you should analyze the type of sensors/actuators, the communication interface, the amount of data to be captured, and the frequency of the data transportation.

Phone Home

Communication between your server and your device is also a vital part of your IoT architecture. Technically, your server does not have the ability to reach out to your IoT device. If you drop a robot in the Pacific Ocean, how does your server know how to communicate with it?

Or maybe you have a home intrusion detection system set up behind your firewall? How does your server know how to get through the firewall? Like Steven Spielberg’s infamous E.T., your device must “phone home” to your server to check for operations and events that need to be carried out on the device. The server can then respond with data back to the device.

Part of your architecture should include how often your device will “phone home.” If you are collecting pH levels from a remote bog, it might be fine if your sensor checks in once a day or once a week.

But if you are trying to turn on a light in your home, you wouldn’t want to wait a day or an hour for the device to check in with the server to turn on your light. How many devices you have and how often they are “phoning home” all impact the time it takes to push out a message as well as server and resource allocation. The cost of your device-server communication becomes part of your architecture.

Plays Well with Others

Your IoT architecture will also be impacted by whether you will be integrating with other devices, components, or services. Do you need to integrate with Google Home, Apple HomeKit, Alexa, or some industrial software? What types of integrations you are supporting will impact whether you need to be in the Cloud.

Beyond the question of integration, you need to decide whether you will expose a public API. By making your API public, users can build their own applications to your device. This is where the early adopters live, and it represents an opportunity to get feedback on how customers are really interested in using your device and may provide ideas for additional business opportunities.

Safe and Sound

We hear about it every day: security. You must address security when creating your IoT plan. Adding security to your device adds cost. You need to decide if your data needs to be encrypted across the network, at rest, or not at all.  If you are collecting pH levels in a bog, you probably don’t want to chew up battery life encrypting your data. But if you are designing a wearable insulin pump for diabetes, encryption is going to be critical.

In addition to security on the device, you also need to think about protecting your data in the Cloud. For instance, many manufacturers put their MySQL database right on the public Internet, collecting data from all their devices which are secured with the same password.

If someone cracks the password, they have access to all the data from all your devices. This is a solved problem: simply put your database behind a Web API that will provide user authentication. Many other security issues also have been addressed and resolved. Don’t reinvent the wheel – approach these issues with existing systems, methodologies, and technologies or find an experienced IoT solutions provider to do it for you.

Planning out your IoT architecture at the beginning of your project is essential for success. Take the time to do it right the first time. Changing an architecture that doesn’t work is like changing the foundation of a house; sometimes it can be done, but it’s not easy.

Other times you may find that your hardware is all wrong for the features you want to deliver, and you must start all over again. It’s important to design a scalable, flexible architecture that meets not only today’s requirements but will allow you to add features in the future without starting again from ground zero.



参考译文
物联网架构:第一时间构建正确
插图:© IoT For All IoT 可以成为产品的强大助推器,但确保架构设计正确至关重要。由于 IoT 解决方案涉及许多复杂的集成组件,因此一个健全的 IoT 架构在产品开发中至关重要。一个成功的 IoT 架构需兼顾技术要求、商业影响和交付考量。你的 IoT 架构应该提供一个可靠、安全数据传输的路线图,以及管理和部署设备的方法。一个成功的 IoT 架构需兼顾技术要求、商业影响和交付考量。 从头开始 那么,从哪里开始呢?当然是从头开始!创建 IoT 架构时,你首先应考虑的是设备的使用场景。你的产品将如何被使用,应指导你如何定义架构,以及你的网络是本地的还是基于云的。你的应用是否是本地的,数据是否可以在网络边缘、靠近数据源的地方进行处理?也许你想在工厂里走动,查看所有智能传感器。你可以使用蓝牙和手机上的移动应用来实现这一目标。 但如果你设计的是安装在客户家中、让他们出门在外也能控制灯光的开关,那么本地架构就没有意义了。你必须设计为基于云的架构,数据在集中位置被收集和处理,所有需要访问这些数据或使用相关应用的设备都必须首先连接到云平台。你的设备架构是本地的、基于云的,还是两者的结合,这个问题只能通过考虑其实际应用来回答。在回答这个问题时,你还应考虑数据分析的因素。如果你希望在不派遣现场工程师的情况下收集设备的分析数据,那么你就需要考虑基于云的架构。 硬件至关重要 评估设备的硬件和通信协议,是规划 IoT 架构的另一个重要部分。在典型的 IT 环境中,我们可以自由地发送任意数量的数据。但 IoT 环境中数据传输的量通常受限于电池容量、距离或可访问性。你需要考虑多个因素:你的电源是什么?你发送多少数据?数据传输的距离有多远?例如,如果你使用一个传感器,用于在偏远沼泽中测试 pH 值,你可能只需要每天或每周发送少量的数据(pH 值结果)。由于传感器的电池非常小,你应选择低功耗的网络协议,如 MQTT,以减少带宽使用并最大化电池寿命。或者,如果你连接了数百万个设备,你可能需要减少带宽的使用,仅仅因为你要收集的数据量太大。在选择你的硬件架构之前,你应该分析所用传感器/执行器的类型、通信接口、需要捕获的数据量以及数据传输的频率。 主动联系服务器 你的服务器与设备之间的通信也是 IoT 架构中至关重要的部分。从技术上讲,你的服务器无法主动联系 IoT 设备。如果你把一个机器人投放到太平洋中,你的服务器如何与它通信?或者,如果你的家庭入侵检测系统位于防火墙之后,你的服务器如何穿过防火墙?就像斯蒂文·斯皮尔伯格著名的电影《E.T.》中的情节一样,你的设备必须“主动联系”你的服务器,以检查设备上需要执行的操作和事件。服务器随后可以将数据发送回设备。 你的架构中应包括设备“主动联系”服务器的频率。如果从偏远沼泽中收集 pH 值,你的传感器每天或每周检查一次可能已经足够。但如果你试图在家打开一盏灯,你不希望设备每天或每小时检查一次服务器才能打开灯。你拥有的设备数量以及它们“主动联系”服务器的频率都会影响消息推送所需的时间,以及服务器和资源的分配。设备与服务器之间的通信成本也应被纳入你的架构规划中。 良好的兼容性 你的 IoT 架构还会受到是否与其他设备、组件或服务集成的影响。你需要与 Google Home、Apple HomeKit、Alexa 或一些工业软件集成吗?你所支持的集成类型将影响你是否需要采用基于云的架构。除了集成问题,你还必须决定是否对外提供 API。通过公开你的 API,用户可以自行构建针对你的设备的应用程序。这是早期采用者活跃的领域,也是获取用户真实使用反馈以及获得新业务机会的绝佳机会。 安全可靠 我们每天都会听到有关安全的问题:安全。在制定 IoT 方案时,你必须解决安全问题。在设备中添加安全措施会增加成本。你需要决定你的数据是否需要在传输过程中加密、在静止状态下加密,或者根本不需要加密。如果你在沼泽中收集 pH 值,你可能并不想耗费电池寿命来加密数据。但如果你设计的是一款用于糖尿病患者的可穿戴胰岛素泵,数据加密将是关键。 除了设备层面的安全,你还必须考虑云中数据的安全。例如,许多制造商将 MySQL 数据库直接放在公共互联网上,从所有设备收集数据,而所有设备使用相同的密码保护。如果有人破解了密码,他们就能访问你所有设备的所有数据。这是一个已解决的问题:只需将数据库放在 Web API 后面,提供用户身份验证即可。许多其他安全问题也都得到了解决。不要自己重新造轮子,应使用现有的系统、方法和技术,或者寻找有经验的 IoT 解决方案提供商为你处理这些问题。 在项目的初期规划 IoT 架构对成功至关重要。花时间一次性把它做对。改变一个不工作的架构就像改变房屋的基石;有时可以做到,但并不容易。其他时候,你可能会发现你的硬件根本不适合你想实现的功能,那么你就必须从头开始。设计一个可扩展、灵活的架构非常重要,它不仅能满足今天的需要,还能在未来添加新功能,而无需从零开始。
您觉得本篇内容如何
评分

评论

您需要登录才可以回复|注册

提交评论

iotforall

这家伙很懒,什么描述也没留下

关注

点击进入下一篇

焊接机器人运动控制是什么?

提取码
复制提取码
点击跳转至百度网盘