您好,登錄后才能下訂單哦!
小編給大家分享一下如何利用樹莓派和低功耗顯示器來跟蹤你的家庭日程表,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
這個(gè)項(xiàng)目是作為假日項(xiàng)目開始,因此我試著盡可能多的舊物利用。其中包括一臺(tái)已經(jīng)閑置了太長時(shí)間樹莓派 2。由于我沒有電子墨水屏,因此我需要購買一個(gè)。幸運(yùn)的是,我找到了一家供應(yīng)商,該供應(yīng)商為支持樹莓派的屏幕提供了 開源驅(qū)動(dòng)程序和示例,該屏幕使用 GPIO 端口連接。
我的家人還想在不同的日程表之間切換,因此需要某種形式的輸入。我沒有添加 USB 鍵盤,而是選擇了一種更簡單的解決方案,并購買了一個(gè)類似于在 這篇文章 中所描述 1x4 大小的鍵盤。這使我可以將鍵盤連接到樹莓派中的某些 GPIO 端口。
最后,我需要一個(gè)相框來容納整個(gè)設(shè)置。雖然背面看起來有些凌亂,但它能完成工作。
Calendar internals
我從 一個(gè)類似的項(xiàng)目 中獲得了靈感,并開始為我的項(xiàng)目編寫 Python 代碼。我需要從兩個(gè)地方獲取數(shù)據(jù):
天氣信息:從 OpenWeather API 獲取
時(shí)間信息:我打算使用 CalDav 標(biāo)準(zhǔn) 連接到一個(gè)在我家服務(wù)器上運(yùn)行的日程表
由于必須等待一些零件的送達(dá),因此我使用了模塊化的方法來進(jìn)行輸入和顯示,這樣我可以在沒有硬件的情況下調(diào)試大多數(shù)代碼。日程表應(yīng)用程序需要驅(qū)動(dòng)程序,于是我編寫了一個(gè) Pygame 驅(qū)動(dòng)程序以便能在臺(tái)式機(jī)上運(yùn)行它。
編寫代碼最好的部分是能夠重用現(xiàn)有的開源項(xiàng)目,所以訪問不同的 API 很容易。我可以專注于設(shè)計(jì)用戶界面,其中包括每個(gè)人的周歷和每個(gè)人的日歷,以及允許使用小鍵盤來選擇日程。并且我花時(shí)間又添加了一些額外的功能,例如特殊日子的自定義屏幕保護(hù)程序。
E Ink calendar screensaver
最后的集成步驟將確保我的日程表應(yīng)用程序?qū)⒃趩?dòng)時(shí)運(yùn)行,并且能夠容錯(cuò)。我使用了一個(gè)基本的 樹莓派系統(tǒng) 鏡像,并將該應(yīng)用程序配置到 systemd 服務(wù),以便它可以在出現(xiàn)故障和系統(tǒng)重新啟動(dòng)依舊運(yùn)行。
做完所有工作,我把代碼上傳到了 GitHub。因此,如果你要?jiǎng)?chuàng)建類似的日歷,可以隨時(shí)查看并重構(gòu)它!
以上是“如何利用樹莓派和低功耗顯示器來跟蹤你的家庭日程表”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。