电子发烧友App

硬声App

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

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

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>在PiSquare中使用PiHut状态板

在PiSquare中使用PiHut状态板

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

资料介绍

描述

至少可以说,PiSquare附带的原始代码非常简陋!愚蠢的是,我曾假设PiSquare会附带一些允许与 HAT 交互的可配置软件。有点像,但太基础了。

这个项目的目的是调查和编写 Raspberry Pi 和PiSquare的代码。我选择了我拥有的最简单的 HAT 之一——PiHut Status 板。它由 5 个按钮和 10 个 LED(5 个红色和 5 个绿色)组成。我选择的任务是控制机舱中的一些灯和插头,并查看每个灯和插头的状态。灯是 Philips Hue,插头是 TP-Link——两者都有 Python 库(phuekasa)

树莓派代码

  • 将 PiServer 文件夹复制到您的 Raspberry Pi。
  • 安装以下所需的 python 库(通常是 pip3 install library ):
  • 汤姆
  • phue
  • 蟒蛇卡萨
  • 安装以下所需的 python 库(通常是 pip3 安装):toml phue python-kasa
  • 编辑 configuration.toml 文件(在“configs”文件夹中)以定义灯和插头的名称。
  • 运行 pisquare-server.py

PiSquare 代码 (MicroPython)

PiSquare 上已经安装了 MicroPython,因此您应该可以立即复制此代码。

  • 将这三个文件复制到您的 PiSquare
  • 将“psconfig_template.py”重命名为“psconfig.py”
  • 编辑 psconfig.py 并适当更改值,单独保留引脚转换。
  • 安装 picozero 库。
  • 运行 main.py

怎么运行的

树莓派服务器

服务器软件将读取配置文件(TOML格式)。您应该能够定义多个 HAT 配置,因此您可以将多个 PiSquares 与一个 Pi 服务器(未经测试)一起使用。

这三个值(psalias、类型和主机)定义了每个按钮的“名称”、它控制的设备类型以及每个“处理程序”中使用的“主机”值。

每个 HAT 都需要自己的库来处理特定 HAT 的输入/输出。在启动“侦听器”代码之前,服务器将为每个 HAT 实例化一个类对象。

“侦听器”代码(希望如此!)是通用的,仅用于处理来自 PiSquare 的输入。目前,该流量始终从 PiSquare 开始,对每个请求的响应都会发送回 PiSquare。我希望稍后扩展它,这样它也可以从 Pi 开始对话。

PiHutStatus 类设置并处理来自 PiSquare 的所有消息。该定义由 configuration.toml 文件提供。如果您编写自己的 HAT 处理程序代码,则需要确保包含“handlerequest”方法,该方法接收从 PiSquare 发送的消息并执行您想要的任何操作!

PiSquare 客户端

main.py 中的 PiSquare 客户端代码主要是特定于 HAT 的。但是,它确实包含一段通用代码,用于处理 PiSquare 与 Wi-Fi 的连接以及与 Pi 之间的消息发送/接收。

消息格式

Python 很好地处理了 Python 字典和 JSON 之间的转换,所以我使用 JSON 在 PiSquare 和 Pi 之间发送信息

一般格式为:

{'client': 'clientname', 'payload': {payload}}`

有效负载的结构取决于所需的“操作”。对于此 HAT,它是“requeststatus”或“changestate”。

'changestate' 动作的格式,它打开/关闭灯/插头或切换状态,是:

{'action': 'changestate', 
 'button': 'whichbutton',
 'status': 'on/off/toggle'}

“requeststatus”动作的格式,请求灯/插头的当前状态(开或关)

{'action': 'requeststatus', 
 'button': 'whichbutton'}

对于您自己的 HAT,您可以根据需要定义有效负载!

结论

PiSquare并不完美,但经过一些争论,我已经定型并能够处理一顶简单的帽子,并为通信端提供了一堆可重用的代码Comms 仍然需要一些工作(例如从 Pi 初始化对话),但希望这是一个足够好的开始,让大多数人开始使用大多数 HAT。


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

评论

查看更多

下载排行

本周

  1. 1使用单片机实现七人表决器的程序和仿真资料免费下载
  2. 2.96 MB   |  44次下载  |  免费
  3. 2联想E46L DAOLL6笔记本电脑图纸
  4. 1.10 MB   |  2次下载  |  5 积分
  5. 3MATLAB绘图合集
  6. 27.12 MB   |  2次下载  |  5 积分
  7. 4PR735,使用UCC28060的600W交错式PFC转换器
  8. 540.03KB   |  1次下载  |  免费
  9. 5UCC38C42 30W同步降压转换器参考设计
  10. 428.07KB   |  1次下载  |  免费
  11. 6DV2004S1/ES1/HS1快速充电开发系统
  12. 2.08MB   |  1次下载  |  免费
  13. 7模态分解合集matlab代码
  14. 3.03 MB   |  1次下载  |  2 积分
  15. 8美的电磁炉维修手册大全
  16. 1.56 MB   |  1次下载  |  5 积分

本月

  1. 1使用单片机实现七人表决器的程序和仿真资料免费下载
  2. 2.96 MB   |  44次下载  |  免费
  3. 2UC3842/3/4/5电源管理芯片中文手册
  4. 1.75 MB   |  15次下载  |  免费
  5. 3DMT0660数字万用表产品说明书
  6. 0.70 MB   |  13次下载  |  免费
  7. 4TPS54202H降压转换器评估模块用户指南
  8. 1.02MB   |  8次下载  |  免费
  9. 5STM32F101x8/STM32F101xB手册
  10. 1.69 MB   |  8次下载  |  1 积分
  11. 6HY12P65/HY12P66数字万用表芯片规格书
  12. 0.69 MB   |  6次下载  |  免费
  13. 7华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
  14. 0.74 MB   |  6次下载  |  3 积分
  15. 8华瑞昇CR215芯片数字万用表原理图
  16. 0.21 MB   |  5次下载  |  3 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935119次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420061次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233084次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191367次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183335次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81581次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73807次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65987次下载  |  10 积分