电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>树莓派家庭自动化开源

树莓派家庭自动化开源

2023-06-20 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

这个项目始于去年,作为德雷克塞尔大学的一个有趣的新生设计项目,一直持续到我自己的夏天。它还有很长的路要走,但基本功能已经过验证。

目前正在寻求调试/测试方面的帮助。也将感谢任何 Web 开发人员或特别是 Javascript 开发人员的帮助,以改进 UI 和后端,并添加更好的任务调度功能。

软件设计基于 JSON 文件。该文件允许轻松更新连接到 Pi硬件设备的更改。该软件根据此文件呈现 GUI 并初始化 Pi 上的 GPIO 引脚。以下是去年春天编写的说明手册的示例。 

向 device.json 添加条目

在这个项目的主目录中有一个名为“device.json”的文件。当客户端连接到 Node.js 服务器时,服务器将此文件解析为 Javascript 对象,并将此信息打包为 websocket 数据发送给客户端。整个系统基于此文件中包含的信息。HTML control.html 文件不包含任何设备特定信息,它只是一个框架结构,允许客户端 javascript(包含在 /js/control.js 文件中)解析通过 websockets 发送的数据,并绘制使用 JavaScript 的页面。这使得从 Pi 添加和删除设备变得相对容易。通过简单地编辑这个文件,整个界面都会被重新绘制以适应这些变化。

{

“销”:2,

“状态”:“出”,

“名称”:“警报”,

“id”:“蜂鸣器”

},

{

“销”:27,

“状态”:“在”,

“名称”:“按钮”,

“编号”:“按钮”,

"highmsg" : "按下按钮",

“lowmsg”:“没有变化……”

},

这是在 device.js 文件中找到的对象的两个示例。所有对象都必须包含一个与整数值匹配的“pin”键。Pin 对应于设备连接到的 Pi 上的 GPIO 引脚,应该是一个整数。请注意,有两个编号系统用于指代 Rpi GPIO 引脚。Pi 有 40 个引脚,在参考引脚的相对位置时,板的方向始终是排针位于板的右上角。一种编号方法从 1 到 40 对每个引脚进行编号,从左上角的引脚开始为引脚 1(这不是 DEVICE.JSON 使用的系统)。device.json 文件使用的编号方法使用处理器设计规定的任意编号方案,不遵循排针上的逻辑顺序。使用下图确定您的设备连接到的引脚。

 
poYBAGOlC9OAbyo8AAFNWzCCSK0716.png
 

上面的第一个 JSON 条目是一个输入对象。对于每个连接的输出设备,对象必须包含以下字段:pin、state、name、id。

  • pin是设备所连接的 GPIO 引脚,该引脚可以是高电平(3.3V)或低电平(0V 又名接地)

  • 状态是“in”或“out”,我们在这里讨论输出设备,所以这应该是“out”

  • 名称是将显示在站点界面上的字符串。它可以是任何东西,但应该相对较短(这样页面布局不会受到负面影响)并且独一无二

  • id也必须是唯一的。这应该很短,少于 6 个字符,并描述所连接的设备。该值将在调度界面中使用,以指代将在特定日期更改状态的设备。

上面的第二个对象是一个输入对象输出对象包含与输入相同的四个键,但是它们又添加了两个键:highmsg 和 lowmsg

  • 状态是“在”

  • highmsg应该有一个字符串值,当输入引脚的状态为高时将显示该值。

  • lowmsg应该有一个字符串值,当输入引脚的状态为低时将显示该值。

这些对象的语法称为 JSON,又名 JavaScript Object Notation。这种语法非常挑剔。如果不正确,您的对象将无法正常运行。在上传之前使用 http://jsonlint.com/ 检查您的 JSON 语法。并查看 W3 学校 http://www.w3schools.com/json/ 以获取有关 JSON 的更多信息。

将设备物理连接到 Pi

  1. 你想连接什么样的设备?它可以是输入(即传感器,或将测量周围环境的东西)或输出(即与周围环境交互的东西,如 LED 或蜂鸣器,或继电器)。

  2. 设备的电源要求是一个重要的考虑因素。树莓派只能提供这么多功率。如果输出设备耗电过多,您的系统可能会出现偶发行为(尤其是“断电”,在这种情况下耗电过多,系统会关闭几分之一秒,似乎会自发重启)。了解您设备的电源要求。如果设备有 3 根线,则这些线将连接到电源(+5V 或 +3.3V)、地线 (0V) 和 GPIO。如果有两条线(例如 LED),则可以直接从 GPIO 驱动设备,但不能没有串联电阻来限制电流检查设备的数据表以查看哪个引脚/电线对应于什么。如果您的 3 线设备是 5V 设备,它可能直接从 Pi 上的 5V 电源轨供电只需将 +5V(又名 VCC)引脚插入 Pi 接头上的 5V 引脚即可。3.3V 接头限制为 50 mA 的总电流消耗(对于所有设备)。不要超过这个。您可能需要为 3.3V 设备使用外部电源。

  3. 每个 GPIO 引脚可以提供 3.3 伏电压和 16 毫安的最大值。但是,在我看来,您不应尝试从 GPIO 引脚汲取接近 16 mA 的电流。有关从 Pi 为设备供电的更多信息,请参阅:(http://raspberrypi.stackexchange.com/questions/9298/what-is-the-maximum-current-the-gpio-pins-can-output)

  4. 确保 Pi 的电源(带有微型 USB 电缆的墙上插座)可以提供至少1.2 安培和 5 伏的电压。最好安全使用并获得 2 安培 5 伏充电器,大多数现代手机(包括 iPhone)都配备能够提供这种功率的充电器。

  5. 如果要接LED,找一个在线电阻计算器,或者用笔、纸和欧姆定律(电压=安培数*电阻),计算出适合LED的电阻值。请记住 16 mA 的限制,以及将连接的其他设备数量。

  6. 对于 5 伏、3 线设备(输入或输出)、接地、+5V 至 +5V 以及信号(输入或输出)到 GPIO 引脚(记录在 device.json 中)。请记住,如果您的 5V 设备消耗的电流超过 100mA(左右),您可能需要构建一个外部稳压器,请参阅第 8 步。请注意,5V 设备的功率限制受 USB 电源可用功率的限制在 Pi 中,5V 设备比 3.3V 设备有更多的余地。

  7. 对于 3.3V 3 线设备,如果所有 3.3V 设备的电源要求都在 50mA 以内,则将 +3.3V 连接到 +3.3V,接地,并将信号发送到 GPIO 引脚(如 device.json 中所记录)。

  8. 如果 3.3V 设备消耗的电流超过 50mA,请获得面包板(或原型板)并用价值几美元的零件组装一个简单的 3.3V 稳压器电路。在线查找有关如何执行此操作的说明。完成后,将设备的+3.3V 电源引脚插入外部电路上电源调节器的+3.3V 输出。(这也适用于 5V,只需使用 5V 稳压器即可)。

系统图

 
pYYBAGOlC9WAFdq4AAGwLb9FP5Y567.png
 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  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次下载  |  免费