小程序
传感搜
传感圈

IoT Architecture: Build it Right the First Time

2023-04-16
来源: iotforall
关注

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.”

-Geisel Software

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.

Tweet

Share

Share

Email

  • Research and Development
  • Hardware Components
  • Security

  • Research and Development
  • Hardware Components
  • Security

译文
物联网架构:第一时间构建正确
物联网可以为您的产品提供惊人的支持,但重要的是要确保您获得正确的架构。由于物联网解决方案涉及如此多复杂的集成组件,一个完善的物联网架构是产品开发的关键部分。一个成功的物联网架构解决了技术需求、业务影响和交付考虑因素的混合问题。你的物联网架构应该提供可靠、安全的数据传输路线图,以及管理和部署设备的方法。”一个成功的物联网架构解决了技术需求、业务影响和交付考虑因素的混合问题。“那么,你从哪里开始呢?”当然是一开始!在创建物联网架构时,您应该考虑的第一件事是设备的用例。如何使用您的产品应该指导您如何定义体系结构,以及您的网络应该是本地的还是基于云的。您的应用程序是本地的吗?您的数据可以在靠近源的网络边缘处理。也许你想在工厂车间里走走,检查一下所有的智能传感器。您可以使用蓝牙和智能手机上的移动应用程序来实现这一点。但是,如果你在某人家里安装了一个电灯开关,这样他们就可以在外出时开灯关灯,那么本地建筑就没有意义了。您需要为云设计它,其中数据是在一个集中的位置收集和处理的,所有需要访问这些数据或使用与之相关的应用程序的设备必须首先连接到云。您的设备架构应该是本地的还是基于云的——或者两者的结合——这个问题只能通过考虑它的应用程序来回答。在回答这个问题时,你还应该考虑分析。如果你想在不派出现场工程师的情况下从你的设备上收集分析,那么你需要考虑云架构。评估设备硬件和协议是规划物联网架构的另一个重要部分。在典型的IT环境中,我们发送尽可能多的数据,很少有限制。但由于电池大小、距离或可访问性的限制,我们在物联网环境中可以发送的数据量通常是有限的。你需要考虑几个不同的因素:你的动力来源是什么?你发送了多少数据?你要把数据发送多远?例如,如果您正在使用传感器来测试远程沼泽中的pH值,您可能只需要每天或每周发送一次少量的数据- pH值结果。由于传感器配备了非常小的电池,因此您可能希望选择MQTT这样的低功耗网络协议,以减少带宽并最大化电池寿命。或者,如果你要连接数百万台设备,你可能需要减少带宽,因为你要收集的数据量太大了。在选择硬件架构之前,您应该分析传感器/执行器的类型、通信接口、要捕获的数据量以及数据传输的频率。服务器和设备之间的通信也是物联网架构的重要组成部分。从技术上讲,您的服务器无法连接到您的物联网设备。如果你把一个机器人扔进太平洋,你的服务器如何知道如何与它通信?或者您可能在防火墙后面设置了家庭入侵检测系统?您的服务器如何知道如何通过防火墙?就像史蒂文·斯皮尔伯格臭名昭著的《E.T》一样,你的设备必须“打电话回家”到服务器,以检查需要在设备上执行的操作和事件。然后,服务器可以将数据返回给设备。 您的架构的一部分应该包括您的设备“打电话回家”的频率。如果你正在从偏远的沼泽地收集pH值,你的传感器每天或每周检查一次可能没问题。但如果你想打开家里的灯,你不会想等一天或一个小时,让设备向服务器登记后再打开灯。您拥有多少设备以及它们“打电话回家”的频率都会影响发送消息所需的时间以及服务器和资源分配。设备-服务器通信的成本成为体系结构的一部分。您的物联网架构还将受到是否与其他设备、组件或服务集成的影响。您是否需要与谷歌Home、Apple HomeKit、Alexa或一些工业软件集成?您所支持的集成类型将影响您是否需要云计算。除了集成问题之外,还需要决定是否公开公共API。通过公开API,用户可以在您的设备上构建自己的应用程序。这是早期采用者生活的地方,它代表了一个获得反馈的机会,即客户如何真正对使用您的设备感兴趣,并可能为额外的商业机会提供想法。我们每天都听到这个话题:安全。在创建物联网计划时,必须解决安全性问题。为设备增加安全性会增加成本。您需要决定您的数据是否需要在网络上加密、静止加密,还是根本不加密。如果你在沼泽中收集pH值,你可能不想因为加密数据而消耗电池寿命。但如果你正在设计一个可穿戴式糖尿病胰岛素泵,加密将是至关重要的。除了设备上的安全性,您还需要考虑保护云中的数据。例如,许多制造商将他们的MySQL数据库放在公共互联网上,从他们所有的设备上收集数据,这些设备都使用相同的密码进行保护。如果有人破解了密码,他们就可以访问你所有设备上的所有数据。这是一个已解决的问题:只需将数据库置于提供用户身份验证的Web API之后。许多其他安全问题也得到了处理和解决。不要重新发明轮子——用现有的系统、方法和技术来解决这些问题,或者找一个经验丰富的物联网解决方案提供商来为你做这件事。在项目开始时规划您的物联网架构对于成功至关重要。花点时间第一次就把事情做好。改变一个不起作用的建筑就像改变房子的地基;有时可以做到,但并不容易。其他时候,您可能会发现您的硬件完全不适合您想要交付的功能,您必须重新开始。重要的是设计一个可伸缩的、灵活的体系结构,它不仅能满足今天的需求,而且允许您在未来添加功能,而无需从头开始。
您觉得本篇内容如何
评分

评论

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

提交评论

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