電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>在PiSquare中使用PiHut狀態(tài)板

在PiSquare中使用PiHut狀態(tài)板

2023-06-13 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

至少可以說(shuō),PiSquare附帶的原始代碼非常簡(jiǎn)陋!愚蠢的是,我曾假設(shè)PiSquare會(huì)附帶一些允許與 HAT 交互的可配置軟件。有點(diǎn)像,但太基礎(chǔ)了。

這個(gè)項(xiàng)目的目的是調(diào)查和編寫(xiě) Raspberry Pi 和PiSquare的代碼。我選擇了我擁有的最簡(jiǎn)單的 HAT 之一——PiHut Status 板。它由 5 個(gè)按鈕和 10 個(gè) LED(5 個(gè)紅色和 5 個(gè)綠色)組成。我選擇的任務(wù)是控制機(jī)艙中的一些燈和插頭,并查看每個(gè)燈和插頭的狀態(tài)。燈是 Philips Hue,插頭是 TP-Link——兩者都有 Python 庫(kù)(phuekasa)。

樹(shù)莓派代碼

  • 將 PiServer 文件夾復(fù)制到您的 Raspberry Pi。
  • 安裝以下所需的 python 庫(kù)(通常是 pip3 install library ):
  • 湯姆
  • phue
  • 蟒蛇卡薩
  • 安裝以下所需的 python 庫(kù)(通常是 pip3 安裝庫(kù)):toml phue python-kasa
  • 編輯 configuration.toml 文件(在“configs”文件夾中)以定義燈和插頭的名稱。
  • 運(yùn)行 pisquare-server.py

PiSquare 代碼 (MicroPython)

PiSquare 上已經(jīng)安裝了 MicroPython,因此您應(yīng)該可以立即復(fù)制此代碼。

  • 將這三個(gè)文件復(fù)制到您的 PiSquare
  • 將“psconfig_template.py”重命名為“psconfig.py”
  • 編輯 psconfig.py 并適當(dāng)更改值,單獨(dú)保留引腳轉(zhuǎn)換。
  • 安裝 picozero 庫(kù)。
  • 運(yùn)行 main.py

怎么運(yùn)行的

樹(shù)莓派服務(wù)器

服務(wù)器軟件將讀取配置文件(TOML格式)。您應(yīng)該能夠定義多個(gè) HAT 配置,因此您可以將多個(gè) PiSquares 與一個(gè) Pi 服務(wù)器(未經(jīng)測(cè)試)一起使用。

這三個(gè)值(psalias、類型和主機(jī))定義了每個(gè)按鈕的“名稱”、它控制的設(shè)備類型以及每個(gè)“處理程序”中使用的“主機(jī)”值。

每個(gè) HAT 都需要自己的庫(kù)來(lái)處理特定 HAT 的輸入/輸出。在啟動(dòng)“偵聽(tīng)器”代碼之前,服務(wù)器將為每個(gè) HAT 實(shí)例化一個(gè)類對(duì)象。

“偵聽(tīng)器”代碼(希望如此?。┦峭ㄓ玫?,僅用于處理來(lái)自 PiSquare 的輸入。目前,該流量始終從 PiSquare 開(kāi)始,對(duì)每個(gè)請(qǐng)求的響應(yīng)都會(huì)發(fā)送回 PiSquare。我希望稍后擴(kuò)展它,這樣它也可以從 Pi 開(kāi)始對(duì)話。

PiHutStatus 類設(shè)置并處理來(lái)自 PiSquare 的所有消息。該定義由 configuration.toml 文件提供。如果您編寫(xiě)自己的 HAT 處理程序代碼,則需要確保包含“handlerequest”方法,該方法接收從 PiSquare 發(fā)送的消息并執(zhí)行您想要的任何操作!

PiSquare 客戶端

main.py 中的 PiSquare 客戶端代碼主要是特定于 HAT 的。但是,它確實(shí)包含一段通用代碼,用于處理 PiSquare 與 Wi-Fi 的連接以及與 Pi 之間的消息發(fā)送/接收。

消息格式

Python 很好地處理了 Python 字典和 JSON 之間的轉(zhuǎn)換,所以我使用 JSON 在 PiSquare 和 Pi 之間發(fā)送信息。

一般格式為:

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

有效負(fù)載的結(jié)構(gòu)取決于所需的“操作”。對(duì)于此 HAT,它是“requeststatus”或“changestate”。

'changestate' 動(dòng)作的格式,它打開(kāi)/關(guān)閉燈/插頭或切換狀態(tài),是:

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

“requeststatus”動(dòng)作的格式,請(qǐng)求燈/插頭的當(dāng)前狀態(tài)(開(kāi)或關(guān))

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

對(duì)于您自己的 HAT,您可以根據(jù)需要定義有效負(fù)載!

結(jié)論

PiSquare并不完美,但經(jīng)過(guò)一些爭(zhēng)論,我已經(jīng)定型并能夠處理一頂簡(jiǎn)單的帽子,并為通信端提供了一堆可重用的代碼。Comms 仍然需要一些工作(例如從 Pi 初始化對(duì)話),但希望這是一個(gè)足夠好的開(kāi)始,讓大多數(shù)人開(kāi)始使用大多數(shù) HAT。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)