奧推網

選單
科技

【零基礎】一起DIY智慧家居 篇八:墨水屏驅動下篇接線及顯示示例

作者:sonatasss

前言

上篇部分網友反饋邏輯問題

首先檢討下上篇文章敘事過程

因為我本身也是邊學邊寫

過程是

需求——官網例子——發現問題——解決問題

原本打算連遇到的坑也一併寫了

免得大家再採坑

而且也本打算一篇講完

結果寫一半發現內容有點多

而且也搞到凌晨三點多了

就打算程式碼部分另起一篇詳細說

事先沒規劃好篇幅是我的錯

之前程式碼示例為了安全性也都只是程式碼片段

以後上完整yaml檔案,只要接線一樣

到手直接點選編譯安裝就能用

這樣應該麼問題了吧

直接喂到嘴裡好了吧

至於接線還沒考慮好繼續用軟體模擬

還是這樣簡單畫圖

還是乾脆接線過程也路個影片?

大家給個意見

程式碼部分

圓規正轉

上期只能顯示固定內容是沒有意義的

固定內容列印張只貼上去好了

1。條件觸發顯示特定內容和溫溼度示例

示例程式碼

https://gitee。com/sonata1/esphome/raw/master/墨水屏/溫溼度+人體感應翻頁。yaml

使用針腳

所用字型

https://gitee。com/sonata1/esphome/raw/master/墨水屏/WenQuanDengKuanWeiMiHei-1。ttf

我們想顯示中文就需要中文字型

可中文字型一般檔案尺寸都在4M-10M之間

esp32 flash只有4M

除了用精簡版字型,和擴充flash之外還可以只燒錄特定字元

在glyphs: 後面跟上要用到的字元即可

這樣只需要呼叫字型檔裡的部分字元,就沒有容量問題了

我們建立大小兩種字元分別命名font1 font2呼叫

這裡建立了page1 page2兩個頁面

第一個頁面第一行的 0 20

代表 在螢幕X座標0Y座標20輸入SMZDM字元

至於center_left代表對齊方式,這個和網頁css類似

有需要的可以自行研究

第二行顯示的時間 time1

是在time模組生成的

%H %M意味著只顯示小時分鐘

至於三四行 溫度後面的 %。1f則是佔位符 ,

代表顯示的內容是逗號後面的感測器資料

看著不太好理解

我們分解一下,就好理解了

就是保留一位小數顯示溫度和溼度

紅外感測器顯示有人會翻頁

程式碼如圖

第五篇講過

2。顯示圖片

我們製作一個smzdm網站的二維碼圖片

儲存在配置檔案目錄

增加image元件並設定ID後

下面的程式碼就變成了紅外觸發就會顯示二維碼

大家可以嘗試自己製作2個溫溼度圖片代替文字

其實esphome有專門的二維碼元件

有需要的可以去看看示例

3,表格

首先新增畫圖元件graph

繪製兩個表格

表二本身是多線條的

這裡沒有多餘感測器只畫了一條線

這裡沒設好網格和標題

回頭弄一個好看點的介面

更新在gitee上

總結

這期沒什麼實際操作內容,主要是理解程式碼

大家可以以此類推自己做co2或者甲醛 天然氣的監控顯示器

建議的大家多看看官網

大部分都有示例的