本节书摘来异步社区《Arduino家居安全系统构建实战》一书中的第1章,第1.2节,作者:【美】Jorge R. Castro(卡斯特罗),更多章节内容可以访问云栖社区“异步社区”公众号查看
1.2 工作原理
之前讨论了家居安全系统基本的组成部分,但是这些要素都是什么,它们是如何工作的呢?通过对它们进行分类,我们可以将一个安全系统分成两个部分。
1.2.1 硬件部分
一个基础设施的硬件要素必须能够胜任软件的所有技术需求。可以将它们进一步细分为3个不同的子类别。这种分类方式不应该被理解为具有排斥性,因为一个要素经常可以被分到多个子类别中,这种分类方式反而有助于你理解系统所执行的功能。
传感器:传感器将作为系统的感觉器官,其作用就如同人类的身体感官。它们的功能就是从环境中搜集信息,并将这些信息转化为数字信号,然后将这些信号发送给另外一些组件,这些组件就是被设计用来控制这些信号的,所获取的数据将会作为我们设备的输入。这个类别中包括了摄像机、声音传感器、运动检测传感器、烟雾传感器、红外传感器以及温度传感器等。
执行器:如果说传感器是提供了环境中的所有必要信息的感觉器官,那么执行器就是执行所有行动的肌肉组织。一旦我们做出了一个行动的决定,我们将会发出一个信号来命令该要素开始工作。这个类别中的典型设备有警报器、扬声器、锁和开关。
控制器:这个部分就如同系统的大脑。一个典型的实例就是微处理器开发板,例如一个Arduino控制器,它可以存储并运行程序。控制器可以接收感知的信号,并对它们进行处理,然后激活并控制执行器设备和警报器。
1.2.2 软件部分
正如你在硬件部分的最后一段所看到的一样,当我们获得了一些输入的数据并希望在收到之后产生一个相应的反馈,那么我们就需要一个工具来建立一系列规则,这些规则将会决定系统的行为机制。这个过程要依赖软件资源,也就是你系统中的一套程序,来进行管理。
更具体地说,我们需要编写代码来创建自己的程序,并将它们存储在我们的微处理器芯片中。因此,当我们得到了需要的数据(例如,用来检测火灾的室内监控温度数值),对这些数据进行了处理(通过是否超过了温度的阈值,来判断火灾的发生),处理过程无需人工干预,然后,着手实施必要的措施(触发警报并执行灭火措施)。
在这里我并不会向你指定具体的一门编程语言。我们单就软件部分进行讨论,随后将会深入地研究各种不同的编程语言和应用程序(在本书中,我们将会使用到很多种编程语言,例如Python)。
读到此处,读者们应该已经熟悉了相关的基本术语以及系统的组成部分,并对它的功能有了一定的了解。但是现在你能确切地讲出,创建一个安全系统都需要些什么吗?在哪里安装又如何对其进行安装呢?它是否被安装在了正确的位置呢?这就需要你先来对这个系统进行设计。