我最近开始在物联网领域。不过,在研发过程中,我在互联网上看到了很多小例子,人们使用互联网和移动应用程序,将发光二极管连接到树莓板上。但是,对于小型学习项目来说,这是可以的。我想了解大规模构建一个有效的物联网系统需要哪些软件工具和硬件。以两个项目为例:
智能家居-通过移动应用程序通过互联网控制家庭设备。
智能垃圾箱-城市中的垃圾箱,将数据发送到中央服务器,无论它们是满的还是空的。
我想得到一个想法,我将如何使上述两个样本项目的运作,生产水平?我可以采用什么样的设计?
如果我必须在智能家居项目上工作,我能想到的最好的办法就是在家里安装一个连接到互联网的Raspberry
板,安装一个类似apache
的TCP/IP服务器,在PHP
中编码后端以处理来自作为客户端的移动应用程序的请求(在JSON
中)。并在板上本地执行脚本(用bash
编写),根据请求的类型控制连接到它的不同外围设备。
例如controlfan.sh、controllight.sh、controlgaragedoor.sh等。
而且,如果我必须在第二个项目上工作,我现在把覆盆子板放在每个连接到中央服务器的垃圾箱上。这次,我不需要垃圾箱上的服务器。在城市垃圾收集部门将有一个中心TCP/IP服务器,它将以URL的形式公开API,如:
www.xyz.com/uploadStats?key=passcode&dustbinID=<ID>&garbageAmount=<percent>
只要通过cron作业点击url就足够了。
我知道我的架构很幼稚,可能不适合生产质量水平。所以我请求如果你们中有人在这样的项目上工作过,你使用了什么架构和软件?您的客户机和服务器是如何编程来进行通信的?
最佳答案
这个问题是一般性的。对于每一个例子,都有很多解决方案,包括它们的局限性、费用和复杂性水平。我将对你的每一个例子给出我个人的看法:
聪明的房子。从“生产”的规模来看,我看不出有什么复杂的问题。你所描述的架构将完成这项工作。当然,您必须考虑以下几点:
安全。使用ssl或类似方法加密对覆盆子pi的访问。考虑身份验证等…
在营销产品方面,我更喜欢“智能家居服务器”,而不是简单的覆盆子皮板。它将包括你的家庭路由器,闭路电视控制,灯,车库等…
我以前也做过类似的事情。在家庭服务器上使用dyndns使其可用于Internet。
聪明的垃圾。自行设计垃圾桶是一项工程。它是如何供电的?它怎么知道它的地位?
在网络解决方案方面,我喜欢M2M通信,使用基于GPS的连接到专用服务器(当然是域)。服务器将从每个垃圾箱收集和管理所有数据。
你需要一个嵌入式设备在每个箱子控制器+GSM模块+传感器+电源解决方案。
将它们连接到专用的域支持服务器。
编写一些接受客户端(垃圾箱)并将其遥测数据存储在SQL数据库中的服务。遥测格式可以是json或任何您想要的格式。
希望有帮助。