资料介绍
描述
这个项目始于去年,作为德雷克塞尔大学的一个有趣的新生设计项目,一直持续到我自己的夏天。它还有很长的路要走,但基本功能已经过验证。
目前正在寻求调试/测试方面的帮助。也将感谢任何 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 文件使用的编号方法使用处理器设计规定的任意编号方案,不遵循排针上的逻辑顺序。使用下图确定您的设备连接到的引脚。
上面的第一个 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
-
你想连接什么样的设备?它可以是输入(即传感器,或将测量周围环境的东西)或输出(即与周围环境交互的东西,如 LED 或蜂鸣器,或继电器)。
-
设备的电源要求是一个重要的考虑因素。树莓派只能提供这么多功率。如果输出设备耗电过多,您的系统可能会出现偶发行为(尤其是“断电”,在这种情况下耗电过多,系统会关闭几分之一秒,似乎会自发重启)。了解您设备的电源要求。如果设备有 3 根线,则这些线将连接到电源(+5V 或 +3.3V)、地线 (0V) 和 GPIO。如果有两条线(例如 LED),则可以直接从 GPIO 驱动设备,但不能没有串联电阻来限制电流。检查设备的数据表以查看哪个引脚/电线对应于什么。如果您的 3 线设备是 5V 设备,它可能直接从 Pi 上的 5V 电源轨供电,只需将 +5V(又名 VCC)引脚插入 Pi 接头上的 5V 引脚即可。3.3V 接头限制为 50 mA 的总电流消耗(对于所有设备)。不要超过这个。您可能需要为 3.3V 设备使用外部电源。
-
每个 GPIO 引脚可以提供 3.3 伏电压和 16 毫安的最大值。但是,在我看来,您不应尝试从 GPIO 引脚汲取接近 16 mA 的电流。有关从 Pi 为设备供电的更多信息,请参阅:(http://raspberrypi.stackexchange.com/questions/9298/what-is-the-maximum-current-the-gpio-pins-can-output)
-
确保 Pi 的电源(带有微型 USB 电缆的墙上插座)可以提供至少1.2 安培和 5 伏的电压。最好安全使用并获得 2 安培 5 伏充电器,大多数现代手机(包括 iPhone)都配备能够提供这种功率的充电器。
-
如果要接LED,找一个在线电阻计算器,或者用笔、纸和欧姆定律(电压=安培数*电阻),计算出适合LED的电阻值。请记住 16 mA 的限制,以及将连接的其他设备数量。
-
对于 5 伏、3 线设备(输入或输出)、接地、+5V 至 +5V 以及信号(输入或输出)到 GPIO 引脚(记录在 device.json 中)。请记住,如果您的 5V 设备消耗的电流超过 100mA(左右),您可能需要构建一个外部稳压器,请参阅第 8 步。请注意,5V 设备的功率限制受 USB 电源可用功率的限制在 Pi 中,5V 设备比 3.3V 设备有更多的余地。
-
对于 3.3V 3 线设备,如果所有 3.3V 设备的电源要求都在 50mA 以内,则将 +3.3V 连接到 +3.3V,接地,并将信号发送到 GPIO 引脚(如 device.json 中所记录)。
-
如果 3.3V 设备消耗的电流超过 50mA,请获得面包板(或原型板)并用价值几美元的零件组装一个简单的 3.3V 稳压器电路。在线查找有关如何执行此操作的说明。完成后,将设备的+3.3V 电源引脚插入外部电路上电源调节器的+3.3V 输出。(这也适用于 5V,只需使用 5V 稳压器即可)。
系统图
- 节日花环自动化开源项目
- 温室自动化开源硬件
- 家庭自动化开源案例
- 照明自动化开源分享
- 滤光轮自动化开源项目
- 哈利波特式的家庭自动化开源
- 植物浇水自动化开源分享
- ESP32家庭自动化开源分享
- 家庭自动化开源分享
- 树莓派移动电源开源分享
- 旧电脑UPS的家电自动化开源分享
- PCB家庭自动化开源分享
- 树莓派3和树莓派4的原理图免费下载 92次下载
- 树莓派3和树莓派4的原理图免费下载 224次下载
- 树莓派是什么树莓派的简单介绍
- 树莓派开发的最佳编程语言选择 743次阅读
- 虹科工业树莓派应用小技巧 700次阅读
- 树莓派4自动挂载固态硬盘的步骤教程 8186次阅读
- dfrobotUSB/TTL树莓派GPS模块简介 3425次阅读
- dfrobotArduino 树莓派扩展板简介 2254次阅读
- 浅谈香蕉派与树莓派的不同 2.5w次阅读
- 树莓派与nanopi的对比 5.4w次阅读
- 解答树莓派如何开启root账户 6488次阅读
- 浅谈树莓派与单片机的区别 7.3w次阅读
- 树莓派有什么用_树莓派能用来做啥_树莓派新手入门教程 3.3w次阅读
- 树莓派安装系统_树莓派系统安装教程 1.3w次阅读
- 树莓派用什么语言编程_树莓派python编程详解 3.8w次阅读
- 树莓派gpio接口及编程方法 6.5w次阅读
- 树莓派是什么_树莓派的发展历史及主要参数 1w次阅读
- DIY一个树莓派扩展板 7460次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多