NodeMcu實(shí)現(xiàn)天氣預(yù)報(bào)

經(jīng)過(guò)前兩天的倒弄倒弄,用了兩個(gè)晚上加今天個(gè)下午,做了一個(gè)天氣預(yù)報(bào),思路:

A:讓esp實(shí)現(xiàn)實(shí)現(xiàn)混合模式垫桂,并監(jiān)聽(tīng)80端口

B:APP通過(guò)80端口發(fā)送需要中繼的ssid和password和地區(qū)

C:esp實(shí)現(xiàn)接收相關(guān)配置信息配置

D:esp實(shí)現(xiàn)http客服端訪問(wèn)網(wǎng)絡(luò)通過(guò)地區(qū)獲取對(duì)應(yīng)天氣

哈哈,差不多就是這個(gè)思路粟按,

前兩天倒弄完诬滩,我就花了一個(gè)下午學(xué)了下lua語(yǔ)法基礎(chǔ),語(yǔ)法和自己平時(shí)編碼有點(diǎn)不一樣钾怔,開(kāi)始還覺(jué)得別扭碱呼,后面自己寫(xiě)寫(xiě)玩玩,也就習(xí)慣了宗侦,其中tables是重點(diǎn)愚臀,類似數(shù)組,多次用到這個(gè)東西矾利,然后就是lua是異步的姑裂,在開(kāi)始建立tcp服務(wù)器時(shí)就在考慮這個(gè)問(wèn)題馋袜,會(huì)不會(huì)阻塞等待,結(jié)果他媽比是異步的舶斧,放心大膽的往后寫(xiě)代碼欣鳖,接著到了天氣接口返回的數(shù)據(jù)是亂碼,查了半天沒(méi)結(jié)果茴厉,結(jié)果多次發(fā)現(xiàn)亂碼的問(wèn)題

NodeMcu默認(rèn)編碼是GBK的泽台,如果文件類型是UTF-8,那么這個(gè)時(shí)候print輸出都是亂碼的矾缓,如果要解決這個(gè)亂碼怀酷,把文件改為GBK類型可以(代碼的編碼方式),然后到了file庫(kù)使用嗜闻,我這里的實(shí)現(xiàn)天氣是通過(guò)地區(qū)來(lái)查詢的蜕依,那么這個(gè)地區(qū)應(yīng)該放在什么地方才不會(huì)被重啟抹殺呢?此時(shí)我用了file的write和read方法琉雳,發(fā)現(xiàn)了一個(gè)問(wèn)題算是一點(diǎn)經(jīng)驗(yàn)样眠,在utf-8文件里輸出的就是utf-8的文件,如果在gbk文件里讀取這utf-8文件也會(huì)亂碼翠肘,估計(jì)講的悶逼檐束,你自己測(cè)試就知道了,基本上明白這個(gè)編碼問(wèn)題了束倍!

昨晚解析json數(shù)據(jù)花了大半天厢塘,如果用java或者PHP來(lái)做自然不是問(wèn)題,但是到了lua上就悶逼了肌幽,這個(gè)天氣返回的json數(shù)據(jù)有點(diǎn)復(fù)雜,簡(jiǎn)單的key value模式當(dāng)然不是問(wèn)題抓半,但是這個(gè)json有點(diǎn)特殊喂急,搞了大半天在明白解析的原理,其實(shí)就是用sjson轉(zhuǎn)為tables笛求,然后對(duì)這個(gè)表處理廊移,主要后面沒(méi)有key只有value處理,此時(shí)用上下角標(biāo)就可以操了探入,估計(jì)是我自己對(duì)lua不熟悉吧狡孔!,接著又是一個(gè)問(wèn)題蜂嗽,我用0下角標(biāo)處理苗膝,一直報(bào)錯(cuò),讓我尷尬了半小時(shí)植旧,最后回想自己學(xué)習(xí)lua時(shí)辱揭,下角標(biāo)是重1開(kāi)始的离唐,測(cè)試了下,mmp好了问窃,估計(jì)是編程語(yǔ)言學(xué)多了亥鬓,都是從0開(kāi)始計(jì)算得,這個(gè)就從1開(kāi)始計(jì)算域庇,完了嵌戈,給大家來(lái)幾幅圖

這個(gè)圖是第一打開(kāi)的顯示的,上面會(huì)顯示ap_ip:network_error,表示這個(gè)網(wǎng)絡(luò)esp還沒(méi)有中繼到路由器听皿,沒(méi)有上網(wǎng)功能熟呛,接著我們用APP來(lái)配置這個(gè)esp,哈哈花了我?guī)讉€(gè)小時(shí)寫(xiě)出來(lái)的APP写穴,APP的配置有點(diǎn)類似rots的smartconfig惰拱,當(dāng)然這個(gè)和那個(gè)原理上還是不同的,那個(gè)APP是同udp廣播出去數(shù)據(jù)包啊送,然后esp解析偿短,實(shí)現(xiàn)配置!先不討論APP問(wèn)題了馋没,來(lái)看看截圖吧

哈哈簡(jiǎn)單霸氣昔逗,需要源碼的小伙伴可以找我定制的哈!

接著配置好了篷朵,esp也就正常運(yùn)行了勾怒!

ap_ip:當(dāng)然是中繼后給的ip啦,

28C 溫度 ?74% 濕度 ?xy(小雨)

這個(gè)i2c驅(qū)動(dòng)屏幕目前還不會(huì)搞中文顯示声旺,只能這個(gè)樣子了笔链!

差不多我這個(gè)就這樣完成了!

還少了點(diǎn)什么對(duì)吧腮猖?

哈哈鉴扫,源代碼發(fā)一波

lua程序和app

http://pan.baidu.com/s/1qYNoX8C

我測(cè)試了,esp8266-01也可以玩起來(lái)澈缺,01型號(hào)的的gpio2和gpio0可以作為oled的sda和scl連接實(shí)現(xiàn)驅(qū)動(dòng)屏幕坪创,,剛好把io口用完姐赡!我這里就不發(fā)圖了莱预!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市项滑,隨后出現(xiàn)的幾起案子依沮,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悉抵,死亡現(xiàn)場(chǎng)離奇詭異肩狂,居然都是意外死亡座泳,警方通過(guò)查閱死者的電腦和手機(jī)铅碍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)损痰,“玉大人列粪,你說(shuō)我怎么就攤上這事审磁。” “怎么了岂座?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵态蒂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我费什,道長(zhǎng)钾恢,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任鸳址,我火速辦了婚禮瘩蚪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘稿黍。我一直安慰自己疹瘦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布巡球。 她就那樣靜靜地躺著言沐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酣栈。 梳的紋絲不亂的頭發(fā)上险胰,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音矿筝,去河邊找鬼鸯乃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛跋涣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸟悴,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼陈辱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了细诸?” 一聲冷哼從身側(cè)響起沛贪,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后利赋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體水评,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年媚送,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了中燥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡塘偎,死狀恐怖疗涉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吟秩,我是刑警寧澤咱扣,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站涵防,受9級(jí)特大地震影響闹伪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜壮池,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一偏瓤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧火窒,春花似錦硼补、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至票编,卻和暖如春褪储,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慧域。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工鲤竹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人昔榴。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓辛藻,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親互订。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吱肌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)仰禽,斷路器氮墨,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 在互聯(lián)網(wǎng)公司纺蛆,Nginx可以說(shuō)是標(biāo)配組件,但是主要場(chǎng)景還是負(fù)載均衡规揪、反向代理桥氏、代理緩存、限流等場(chǎng)景猛铅;而把Nginx...
    pure_adoration閱讀 4,053評(píng)論 4 77
  • 幾乎所有互聯(lián)網(wǎng)公司字支,Nginx可以說(shuō)是標(biāo)配組件,但是主要場(chǎng)景還是負(fù)載均衡奕坟、反向代理祥款、代理緩存、限流等場(chǎng)景月杉;而把Ng...
    meng_philip123閱讀 9,457評(píng)論 3 67
  • 可以看我的博客 lmwen.top 或者訂閱我的公眾號(hào) 簡(jiǎn)介有稍微接觸python的人就會(huì)知道刃跛,python中...
    ayuLiao閱讀 3,097評(píng)論 1 5
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 6,365評(píng)論 0 17