电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>家庭智能家居开源硬件

家庭智能家居开源硬件

2022-12-20 | zip | 0.04 MB | 次下载 | 免费

资料介绍

描述

介绍

让我们看看使用 MediaTek Linkit 设置智能家居系统需要什么。由于这里有很多专家指导您进行硬件连接以读取传感器数据,我将专注于创建 api 并设置超低成本的 15 美元本地服务器来捕获您的所有传感器数据。或者,我将数据记录到 azure。

设置

 
pYYBAGOhK2iAY5s7AAB2Dohug1s274.png
设置
 

传感器使用 xbee 或任何低成本收发器通过无线电信号将数据传输到 MediaTek LinkIt。MediaTek linkIt 接收所有原始传感器数据,使用 adruinojson 库将其打包成 json 对象,并向本地服务器发出 POST 请求。然后本地服务器托管 nodejs web 应用程序并接收所有传感器数据作为 json 对象。

本地服务器用作预处理器并添加 utc 时间和签名。任何数据验证、转换和过滤都可以在这里处理。在我们的案例中,本地服务器将所有数据记录到云服务 Azure 存储服务。或者,联发科 linkIt 可以直接将 json 对象发布到 azure 存储服务。我设置了一个本地服务器,只是为了证明一台 15 美元的电脑足以处理我们的数据。我们可以将数据记录到任何 no-sql 数据库中,甚至在我们的本地服务器中,完全消除了对外部云存储的需求。我把这一切都留给你们。

 
 
 
 
poYBAGOhK3-AHzSPAAWnDPPVg1A023.jpg
 
1 / 3
 

演示

 

先决条件

我假设您知道如何使用传感器和微控制器(如 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

结论

代码中有很多地方需要重构。请随时修改,如果您感到震惊,请告诉我。


评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费