技術宅DIY墨水屏日歷!自動刷新位置天氣 隨機播放毒雞湯

自制一個電子墨水屏日歷,需要幾步?

是能自動刷新位置、天氣情況,還能隨機播放2000多條毒雞湯的那種。

↑↑↑就像這樣:如果我的人生是一部電影,那你就是一個彈出來的廣告,每10分鐘會刷新一條。

配上相框,相比于網購平臺上售價299元的這一款,你覺得能打幾分?

這樣的一款新“產品”,來自微博原PO@張欣 | Kenn。并且,他還把制作方法開源了,不妨一起來看個究竟~

硬件準備

@張欣 | Kenn決定制作這樣一款電子墨水屏,緣起是看到了網路購物平臺上出售的類似產品,

產品挺有意思,但想要點毒雞湯那個味兒,還是得自己動手DIY一下。

直接來看方案。

屏幕,231元,首先是是屏幕。類似行動電話、智慧屏這類的硬件中,屏幕一般是最貴的部分,

張欣參考了網售產品的方案,選擇了單價不太高的微雪電子5.83寸黑白電子墨水屏,

這款屏幕型號叫e-paper,648×480分辨率,SPI接口,售價231元

同時,這款屏幕也采用了當下比較流行的串口形式。與并口連接相比,串口屏只需要2根線鏈接通信,且控制程式簡單,比并口屏少90%,

有的串口屏甚至不再需要MCU,可以直接控制。對于DIY電子產品來說,串口屏比較合適。如果你打算用樹莓派或者其他Arduino設備來驅動,可以選擇帶有適配板的套裝,價格為283.5元,

此外,類似型號電子屏還有彩色版本,不過成本也更高。假如你真的采用了彩色屏,可能需要修改原作者的代碼才能適用。

計算單元,78.75元

張欣采用了樂鑫的ESP32芯片,ESP32芯片自帶2.4G無線網路和藍牙,有充足的引腳,

并且,當前市場上能買到很多成熟的ESP32開發板,

當然,要是夠硬核,可以自己買基于ESP32的模組,然后整合到板子里,

要注意的是,這兩種方式都需要買屏幕時順便買適配板,好將屏幕的軟排線轉換為SPI接口,

作者為了快速做出成品,選用微雪自帶軟排線接口、基于ESP32的墨水屏開發板,價格78.75元。

電源,50元以內

其實,在開發時,可以通過電腦上的USB接口用micro USB線直接供電,同時進行調試工作。

但如果要在實際使用中擺脫電源線的話,可以直接購買一塊自帶micro USB充放接口的鋰電池。

電池的容量不同價格也不一樣,不過一般都在50元以下,

最后計算一下,DIY相同墨水屏的成本最多為231+78.75+50=359.75

咋還比網購平臺上的貴了呢。其實很好理解,所有部件按零售價購買,自然比廠家進貨價貴。但技術宅享受的,不就是自己動手的樂趣嗎?

軟體方案

準備好了硬件,軟體部分又要如何實現?框架部分,張欣選擇了Arduino,因為里面有大量現成的第三方庫可以使用。開發工具方面,他則推薦使用Visual Studio Code。

具體而言,該項目的代碼主要實現了以下幾個功能,首先,規劃屏幕布局,并且每10分鐘刷新一次屏幕,實時更換毒雞湯的口味,


△圖源:微博原PO@張欣 | Kenn

現成的毒雞湯,一共有2000+款,像是:

生活不只眼前的茍且,還有未來的茍且

祝你瘦成一道閃電,閃電直徑兩米,

……

完整內容,在該項目的toxicsoul.h文件中可以看到,

日期使用的是ESP32系統自帶的時鐘。

位置則通過查詢當前設備的IP地址來獲得。


△部分代碼

實時天氣資訊,來自和風天氣開發平臺的服務。在具體實現的時候,需要自己注冊賬號,獲取應用程式Key。

const String QWEATHER_API_KEY = “**“;

其中涉及的第三方庫主要包括:

1、 Adafruit GFX:圖像圖形引擎,實現顯示輸出

2、GxEPD2:基于Adafruit_GFX庫驅動各種電子墨水屏

3、U8g2 for Adafruit GFX:顯示文字

4、u8g2_fontmaker:一個用于生成u8g2字體源代碼的一鍵懶人腳本工具,同樣出自項目作者之手

5、ArduinoJSON:處理JSON字符串

一切準備就緒,把程式燒錄到開發板里,再用熱熔膠等DIY必備工具組裝一番,接上電源,毒雞湯電子墨水屏日歷就誕生了,

這個毒雞湯電子墨水屏日歷在元旦當天初步完成施工,就收獲了網友們熱烈的點贊,

不少網友當場表示,奈斯啊,搞起來,還有網友當場提起了新需求:想把前一天的日報統計顯示出來,

有關續航方面的資訊,作者也在評論區做出了解答:

還沒有時間或者說條件測功率消耗,其實代碼優化點,刷新后就把屏幕和ESP32休眠,刷新時間間隔拉長,耗電量會很低很低……

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧