资料介绍
描述
介绍
让我们看看使用 MediaTek Linkit 设置智能家居系统需要什么。由于这里有很多专家指导您进行硬件连接以读取传感器数据,我将专注于创建 api 并设置超低成本的 15 美元本地服务器来捕获您的所有传感器数据。或者,我将数据记录到 azure。
设置
传感器使用 xbee 或任何低成本收发器通过无线电信号将数据传输到 MediaTek LinkIt。MediaTek linkIt 接收所有原始传感器数据,使用 adruinojson 库将其打包成 json 对象,并向本地服务器发出 POST 请求。然后本地服务器托管 nodejs web 应用程序并接收所有传感器数据作为 json 对象。
本地服务器用作预处理器并添加 utc 时间和签名。任何数据验证、转换和过滤都可以在这里处理。在我们的案例中,本地服务器将所有数据记录到云服务 Azure 存储服务。或者,联发科 linkIt 可以直接将 json 对象发布到 azure 存储服务。我设置了一个本地服务器,只是为了证明一台 15 美元的电脑足以处理我们的数据。我们可以将数据记录到任何 no-sql 数据库中,甚至在我们的本地服务器中,完全消除了对外部云存储的需求。我把这一切都留给你们。
演示
先决条件
我假设您知道如何使用传感器和微控制器(如 arduino 或 mediaTek)读取传感器数据。为了限制这个项目的范围,我将假设传感器数据可用于 MediaTek Link It。您可以使用低频无线电收发器或 Xbee 来传输和接收来自连接到微控制器(如 MediaTek)的传感器的无线电信号。初学者可以使用 MediaTek linkIt groove starter kit 读取外部环境数据,如温度、湿度、光照等。
杰森杰森杰森
Json已经成为物联网事实上的标准,并被广泛采用。说完先决条件,让我们从对传感器数据建模开始。主要目的是捕获尽可能多的数据并将其传递给服务器。服务器可以完成所有繁重的工作,如分析、数据转换、机器学习等。
“所需” json 对象将是传感器数据的所需状态。例如,当我们记录温度时,所需的值 24 意味着我们需要将值与值 24 同步到云端。我们的客户端(如 Web 应用程序或移动应用程序)将更新为该值。
当我们想要打开一盏灯时,我们说,所需的状态为打开。这意味着灯已打开或将打开。我们所有的客户端应用程序都将使用此状态来向用户反映更改。我的意思是,我们的网络应用程序中的图标将被打开或关闭。
这不是国际标准,我只是想出了这个。所以,请随意使用您自己方便的格式。
温度
{
"deviceid" : "iot/myhome/livingroom/thermostat"
"desired" : { "temperature" : "24", "humidity": "80"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
麦克风
{
"deviceid" : "iot/myhome/livingroom/mic"
"desired" : {"intensity" : "66"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
距离
{
"deviceid" : "iot/myhome/livingroom/obstacle"
"desired" : {"proximity" : "150"},
"timeutc": "2015-01-01",
"singedBy" : "localserver"
}
红外热像仪
{
"deviceid" : "iot/myhome/livingroom/pir"
"desired" : {"motion start" : "2500", "motion end" : "5345"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
全球定位系统
{
"deviceid" : "iot/mydevice/location"
"desired" : {"lat" : "25.5", "long" : "32.2"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
水分
{
"deviceid" : "
/iot/myhome/garden/moisture"
"desired" : {"moisture": "20"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
气体
{
"deviceid" : " /iot/myhome/kitchen/gas"
"desired" : {"leak": "No"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
光
{
"deviceid" : " /iot/myhome/livingroom/light"
"desired" : {"intensity": "60"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
或者用这个,
客厅
{
"deviceid" : "/iot/myhome/livingroom"
"desired" : { "temperature" : "25",
"humidity" : "80",
"window": "open",
"door": "closed",
"light": "80",
"noise":"low"}
}
卧室
{
"deviceid" : "/iot/myhome/bedroom"
"desired" : { "temperature" : "24",
"humidity" : "70",
"window": "closed",
"door": "closed",
"light": "80",
"ac":"on"
"noise":"low"}
}
联发科 - 接收器
请参考软件部分附带的 ino 文件将数据登录到本地服务器。传感器数据是模拟的,您可以将实际读数传递给相应的 json 对象
本地服务器
本地服务器会增加开销,但会在很多方面得到验证。我们可以使用本地服务器作为物联网数据的预处理器。数据可以被过滤、加盖时间戳和签名
微型 PC 和 nodejs 是本地服务器的绝佳选择。我们可以选择任何微型 pc,如 raspberry pi、odriod、banana pi、beagle bone 等。我为这个项目选择了 orange pi(15 美元)。
设置
Raspberry pi 2 或 Orange Pi 以及任何支持 nodejs 5 的 linux 操作系统。我为 arm7 选择了带有 arch linux 的 orange pi。安装了 nodejs 和 npm。从 github 下载我的 iotapp 并导航到 /your/local/path/iotapp 并运行 npm install。基本的 expressjs 应用程序开始监听您的端口 3000。
浏览到 your-local-ip:3000 以检查是否呈现默认的 expressjs 视图。我创建了这些 api 来发布传感器数据
/iot/myhome/livingroom/thermostat - 温度 api
/iot/myhome/livingroom/mic - 声音 api
/iot/myhome/livingroom/pir - 存在传感器 api
/iot/myhome/livingroom/distance - 距离传感器 api
/iot/myhome/mydevice/location - GPS 追踪器 API
/iot/myhome/garden/moisture - 土壤湿度传感器 api
/iot/myhome/kitchen/gas - 燃气泄漏传感器 api
/iot/myhome/livingroom/light - 光传感器 api
/iot/myhome/livingroom - 客厅的其他 api
/iot/myhome/bedroom - 卧室的其他 api
设置本地服务器。从我的 github 克隆源代码 iotapp。修改 index.js 以将您的云 ip 地址或域名放在 azure 中托管 aspnet5 应用程序的位置
远程服务器
将数据发布到云现在已经很流行了。我们可以从 amazon、azure、spark fun、pubnub、initial state 等提供的物联网数据中购买订阅。我为这个演示选择了天蓝色。可以开发数据分析、数据挖掘和机器学习算法来处理我们的数据。
从我的 github 下载 iotwebapp。我使用针对 asp.net5 的 visual studio 2015 创建了它。这些 api 被设置为发布物联网数据。API 将物联网记录在 Azure 存储表中
可以设置 deviceid 参数来识别传感器位置。
这些 api 已经设置好,
api/iot/myhome/thermostat - 用于记录所有恒温器数据的 asp.net5 web api
api/iot/myhome/microphone- asp.net5 web api 记录所有麦克风数据
api/iot/myhome/pir - 用于记录所有 pir 数据的 asp.net5 web api
api/iot/myhome/distance - asp.net5 web api 记录所有距离传感器数据
api/iot/myhome/device/location - 用于记录 gps 数据的 asp.net5 web api
api/iot/myhome/moisture - asp.net5 web api 用于记录湿度传感器数据
api/iot/myhome/gas - 用于记录气体传感器数据的 asp.net5 web api
api/iot/myhome/light - 用于记录所有光传感器数据的 asp.net5 web api
api/iot/myhome/livingroom - asp.net5 web api 用于记录所有客厅属性/传感器数据。我们可以使用这个 API 推送所有传感器值。
api/iot/myhome/bedroom - 同上,我创建了一个记录我卧室的详细信息
设置远程服务器。从我的 github 克隆源代码 iotwebapp。创建一个 azure 存储表。修改 IoTController.cs 并放入您的 azure 存储表帐户名称和密钥。在本地服务器使用此域名或ip
结论
代码中有很多地方需要重构。请随时修改,如果您感到震惊,请告诉我。
- 私人家庭助理开源硬件
- 智能垃圾管理开源硬件
- 智能积木开源硬件
- 智能插头开源硬件
- 智能镜子开源硬件
- 智能帽开源硬件
- 智能玻璃容器开源硬件
- 智能鞋开源硬件
- 智能家居门开源分享
- 开源硬件智能镜子
- 智能插座开源硬件
- 智能家居控制系统方案开源资料
- 智能家居开源项目
- 主流的开源硬件有哪些详细资料说明
- 如何利用物联网解决智能家居现状存在的问题?
- 继电器在智能家居中的应用 587次阅读
- Python智能家居系统代码介绍 1013次阅读
- 用小安派开源硬件制作一个桌面天气站 809次阅读
- 为什么需要智能家居? 1215次阅读
- 智能家居系统应该用什么姿势来落地 1018次阅读
- 如何保护智能家居电路 888次阅读
- 电感在智能家居市场的重要性 1279次阅读
- 智能家居中的无线技术解析 2077次阅读
- 智能家居在用户房间设计的完整生活场景解决方案 3319次阅读
- 智能家居与普通家居区别对比 7303次阅读
- 三大主流开源硬件对比:Arduino vs BeagleBone vs Raspberry Pi 6363次阅读
- 智能家居安全吗_智能家居安全性分析 3087次阅读
- 智能家居的真正意义:连接家庭“点”安全 1061次阅读
- 基于ZigBee的别墅智能家居解决方案 2024次阅读
- 基于ZigBee技术的智能家居系统的设计方案 5158次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多