最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

esp8266制作太空人天氣時(shí)鐘

2023-03-07 23:13 作者:向上生長(zhǎng)長(zhǎng)長(zhǎng)長(zhǎng)  | 我要投稿


背景

簡(jiǎn)單來(lái)說(shuō),就是最近太閑了,然后下班也無(wú)所事事,在B站上刷著一眾up們的diy視頻,一次又一次地激起了我應(yīng)該做點(diǎn)啥的想法,于是在這一陣又一陣的激勵(lì)下,我再次燃起了對(duì)diy硬件的興趣,于是我便又一次把自己年前買(mǎi)到的一些硬件翻出來(lái),開(kāi)始自己的新一輪arduino之旅。


材料準(zhǔn)備

本次項(xiàng)目的總成本不到30RMB,esp8266開(kāi)發(fā)板的成本13RMB,1.3IPS屏幕成本15RMB

  • esp8266開(kāi)發(fā)板

  • 杜邦線(xiàn)6

  • 1.3TFT屏幕一個(gè)(ST7789


準(zhǔn)備工作


接線(xiàn)

接線(xiàn)對(duì)應(yīng)關(guān)系如下:

視頻發(fā)出來(lái)之后,有好多小伙伴在問(wèn)如何接線(xiàn),這里我放出一張實(shí)物的接線(xiàn)示意圖,各位小伙伴直接對(duì)照?qǐng)D片進(jìn)行連接即可:


依賴(lài)庫(kù)

安裝TFT_eSPI庫(kù),這里算是arduino的最基本操作了,我們就不展開(kāi)了。

如果對(duì)esp8266的開(kāi)發(fā)環(huán)境還有疑問(wèn)的小伙伴可以看下我之前發(fā)出來(lái)了的相關(guān)內(nèi)容:

https://zhuanlan.zhihu.com/p/589448075

運(yùn)行測(cè)試用例

這里運(yùn)行測(cè)試用例的意義是為了驗(yàn)證我們的接線(xiàn)和環(huán)境配置是否正常


修改配置

運(yùn)行測(cè)試用例前,我們要先修改Arduino\libraries\TFT_eSPI下的User_Setup.h文件,修改這個(gè)文件的作用是配置屏幕的相關(guān)數(shù)據(jù),確保代碼可以驅(qū)動(dòng)我們的屏幕,主要包括屏幕驅(qū)動(dòng)版本、分辨率和屏幕引腳定義,具體修改的點(diǎn)如下:

  • 驅(qū)動(dòng)文件設(shè)置:這里根據(jù)TFT屏幕的驅(qū)動(dòng)版本選擇

  • 屏幕分辨率:這里也是根據(jù)屏幕參數(shù)選擇

  • 引腳設(shè)置:這里只需要設(shè)置dcrst引腳即可,要和接線(xiàn)部分的引腳相對(duì)應(yīng)

其余配置項(xiàng)保持默認(rèn)即可。


運(yùn)行測(cè)試用例

選擇一個(gè)示例,這里我們選擇Colour_test

然后選擇串口和開(kāi)發(fā)板,上傳即可。如果接線(xiàn)和代碼都沒(méi)有問(wèn)題,那么屏幕會(huì)顯示如下圖像:

至此,我們的準(zhǔn)備工作告一段落,下面開(kāi)始我們的代碼編寫(xiě)。


開(kāi)始擼代碼

本項(xiàng)目是基于esp8266和IPS彩屏的一個(gè)桌面天氣時(shí)鐘,項(xiàng)目代碼基于嘉立創(chuàng)開(kāi)源平臺(tái)的《ESP8266太空人天氣時(shí)鐘》源碼,優(yōu)化了其中HTTPClient的報(bào)錯(cuò),代碼本身未作大的調(diào)整,項(xiàng)目地址如下:

https://oshwhub.com/nanxiangxiao/tai-kong-ren-shi-zhong_copy

本次項(xiàng)目演示的代碼倉(cāng)庫(kù)如下:

https://github.com/Syske/esp8266-click-weather-ips

下面我們簡(jiǎn)單介紹下代碼的修改點(diǎn),確保各位小伙伴看了之后就可以直接點(diǎn)亮。這里我們要修改的文件只有一個(gè)——click-weather.ino,由于代碼本身內(nèi)容過(guò)多,這里我們只貼出需要修改的部分:


wifi相關(guān)信息

這里把wifi改成你自己的,之后直接上傳代碼即可。


關(guān)于城市編碼

在實(shí)際測(cè)試過(guò)程中,發(fā)現(xiàn)ip識(shí)別城市會(huì)有異常的情況,這時(shí)候我們可以通過(guò)配置城市編碼的方式來(lái)解決,當(dāng)然也需要將根據(jù)ip獲取城市編碼的相關(guān)代碼注釋掉

城市的編碼信息可以從下面這個(gè)地址中搜索:


https://gitee.com/sysker/LocationList/blob/master/China-City-List-latest.csv

至此,我們本次的項(xiàng)目基本上就結(jié)束了。


其他修改點(diǎn)

如果只是想復(fù)刻項(xiàng)目的小伙伴,以下內(nèi)容可以不關(guān)注,這里說(shuō)的是我在原代碼基礎(chǔ)上的優(yōu)化點(diǎn)。其實(shí)這里的優(yōu)化點(diǎn)和沒(méi)有優(yōu)化一樣,因?yàn)檫@里所謂的優(yōu)化點(diǎn)應(yīng)該是由于httpClient版本問(wèn)題,優(yōu)化的原因是原代碼在編譯過(guò)程中報(bào)錯(cuò)了,然后我根據(jù)錯(cuò)誤提示做了簡(jiǎn)單的調(diào)整:

錯(cuò)誤的意思是HTTPClientbegin(URL)過(guò)期了,推薦我們使用begin(WiFiClient, url),所以我的優(yōu)化點(diǎn)就是改成了新方法:

  • 首先實(shí)例化一個(gè)WiFiClient

  • 然后替換所有調(diào)用begin方法的地方,之后成功編譯代碼


簡(jiǎn)單總結(jié)

本次項(xiàng)目的難點(diǎn)有兩個(gè),第一個(gè)是esp8266點(diǎn)亮屏幕部分的配置和接線(xiàn),這一塊如果順利,本次項(xiàng)目基本上就算完成了70%;第二個(gè)就是項(xiàng)目源碼的修改和上傳,這塊要求對(duì)arduinoC++的基礎(chǔ)知識(shí),但是參照本教程也可以順利完成。好了,關(guān)于這個(gè)項(xiàng)目,我們就先說(shuō)這么多,有疑問(wèn)的小伙伴可以留言,我們一起探討交流。


esp8266制作太空人天氣時(shí)鐘的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
包头市| 南通市| 比如县| 井陉县| 温宿县| 永清县| 大悟县| 遵义市| 桦川县| 宁化县| 阳春市| 高邮市| 永康市| 辽源市| 施秉县| 石城县| 繁昌县| 夏河县| 若尔盖县| 兰西县| 东乌珠穆沁旗| 綦江县| 美姑县| 桂林市| 红原县| 伊金霍洛旗| 金堂县| 辉县市| 盐城市| 准格尔旗| 西乡县| 丹寨县| 政和县| 海林市| 临沧市| 河北省| 定陶县| 始兴县| 津南区| 邵东县| 民县|