MicroPython TPYBoard v201 簡單的web服務(wù)器實現(xiàn)過程

前言

TPYBoard v201開發(fā)板上搭載了以太網(wǎng)轉(zhuǎn)TTL串口模塊(USR-K2)巴帮,從而實現(xiàn)了TCP通信的功能晶密。既然可以TCP通信,自然也可以實現(xiàn)HTTP協(xié)議通信秀鞭。于是趋观,就萌發(fā)了本教程。本教程很簡單锋边,僅是實現(xiàn)了一個簡單的靜態(tài)頁面皱坛,希望可以給大家?guī)聿灰粯拥膯l(fā)。

準備工作

硬件&工具

- TPYBoard v201 開發(fā)板 1塊

- TPYBoard v201 網(wǎng)絡(luò)參數(shù)配置的工具

- 路由器豆巨、電腦剩辟、網(wǎng)線等

知識儲備

- 了解基本的TCP、HTTP通信協(xié)議等相關(guān)的知識。不知道的可自行去百度贩猎,相關(guān)教程很多熊户。

TPYBoard v201網(wǎng)絡(luò)參數(shù)配置

USR-K2資料和工具下載:?點擊下載

下載地址是在GitHub上,如果下載速度很慢的話吭服,你也可以加TPYBoard技術(shù)交流/*裙*/;157816561 文件里下載嚷堡。

首先,將TPYBoard v201開發(fā)板通過網(wǎng)線與你使用的電腦接入同一個局域網(wǎng)內(nèi)艇棕。雙擊運行<USR-M0_V2.2.1.272.exe>蝌戒,點擊搜索設(shè)備,成功的情況下會在上面的列表中顯示搜索到的設(shè)備沼琉。


點擊搜素到的設(shè)備北苟,可以讀取到該設(shè)備的相關(guān)參數(shù)。同時也可以進行修改并保存打瘪。接下來粹淋,我們要進行IP地址、端口等設(shè)置瑟慈。IP地址我這里設(shè)置了靜態(tài)IP<192.168.0.99>,防止每次重新啟動時會改變IP屋匕。


接下來端口設(shè)置葛碧,模塊工作方式選擇TCP Server。大家可以注意到基礎(chǔ)設(shè)置中有一個HTTP服務(wù)端口的設(shè)置过吻,是因為USR-K2中本身就有一個內(nèi)嵌的網(wǎng)頁用于參數(shù)的設(shè)置进泼,默認是啟用了80端口,那我們下面開啟的TCP Server的服務(wù)端口就使用81端口吧纤虽。


設(shè)置完畢后乳绕,點擊軟件最下方的保存設(shè)置。左側(cè)的操作日志顯示框會顯示保存的進度和狀態(tài)逼纸。


這時再重新搜索設(shè)備洋措,驗證下模塊的IP地址是否和我們設(shè)置的一致。


程序?qū)崿F(xiàn)

TPYBoard? v201通過板子上的串口6與USR-K2模塊之間通信杰刽。我們不用去管TCP鏈接等問題菠发,只需要將想要發(fā)送的數(shù)據(jù)通過串口6發(fā)送給K2模塊即可。其實我們的程序主要就是讀取和寫入串口的工作贺嫂,當我們從串口讀取到HTTP請求報文時滓鸠,組成一個簡單的響應(yīng)報文寫入到串口發(fā)送回去就可以了。

main.py 源碼:

import pyb

from pyb import UART

#串口6初始化

uart = UART(6,115200,timeout = 100)

#響應(yīng)報文

header = """

HTTP/1.1 200 OK

Content-Type:text/html

Content-Length:{0}

{1}

"""

#HTML頁面

html = """<!DOCTYPE html>

<html>

? ? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

? ? <head> <title>TPYBoard</title> </head>

? ? <body>

? ? ? <h1>TPYBoard v201</h1><br />

? ? ? <h2>Simple HTTP server</h2>

? ? </body>

</html>

"""

while True:

? ? if uart.any() > 0:

? ? ? ? request = uart.read().decode()

? ? ? ? print('request:',request)

? ? ? ? #當接收到GET請求頭時第喳,進行響應(yīng)

? ? ? ? if request.find('GET') > -1:

? ? ? ? ? ? data = header.format(len(html),html)

? ? ? ? ? ? uart.write(data)

保存代碼糜俗。打開瀏覽器,輸入URL進行訪問。URL=ip:81悠抹,例如我的URL就是192.168.0.99:81珠月。


PuTTY中打印了接收到的請求頭的數(shù)據(jù),如下:

? ? request: GET / HTTP/1.1

? ? Host: 192.168.0.99:81

? ? Connection: keep-alive

? ? Cache-Control: max-age=0

? ? Upgrade-Insecure-Requests: 1

? ? User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.7 Safari/537.36

? ? Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

? ? Accept-Encoding: gzip, deflate

? ? Accept-Language: zh-CN,zh;q=0.9

我用的是谷歌瀏覽器锌钮,不同瀏覽器可能會有些不同桥温,但是大同小異,只要符合HTTP請求報文格式即可梁丘,有興趣的朋友可以多去了解些侵浸。細心的朋友會注意到,每次訪問時瀏覽器會發(fā)送兩次請求氛谜,其中有一個 GET /favicon.ico HTTP/1.1掏觉,這是因為瀏覽器想找favicon.ico文件作為訪問網(wǎng)頁的圖標,這個可以忽略掉值漫,不影響功能澳腹。也可以在程序中進行過濾。

下載源碼:https://github.com/TPYBoard/TPYBoard-v201

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杨何,一起剝皮案震驚了整個濱河市酱塔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌危虱,老刑警劉巖羊娃,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異埃跷,居然都是意外死亡蕊玷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門弥雹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垃帅,“玉大人,你說我怎么就攤上這事剪勿∶吵希” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵厕吉,是天一觀的道長赦颇。 經(jīng)常有香客問我,道長赴涵,這世上最難降的妖魔是什么媒怯? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮髓窜,結(jié)果婚禮上扇苞,老公的妹妹穿的比我還像新娘欺殿。我一直安慰自己,他們只是感情好鳖敷,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布脖苏。 她就那樣靜靜地躺著,像睡著了一般定踱。 火紅的嫁衣襯著肌膚如雪棍潘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天崖媚,我揣著相機與錄音亦歉,去河邊找鬼。 笑死畅哑,一個胖子當著我的面吹牛肴楷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荠呐,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼赛蔫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了泥张?” 一聲冷哼從身側(cè)響起呵恢,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媚创,沒想到半個月后瑰剃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡筝野,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了粤剧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歇竟。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖抵恋,靈堂內(nèi)的尸體忽然破棺而出焕议,到底是詐尸還是另有隱情,我是刑警寧澤弧关,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布盅安,位于F島的核電站,受9級特大地震影響世囊,放射性物質(zhì)發(fā)生泄漏别瞭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一株憾、第九天 我趴在偏房一處隱蔽的房頂上張望蝙寨。 院中可真熱鬧晒衩,春花似錦、人聲如沸墙歪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虹菲。三九已至靠胜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毕源,已是汗流浹背浪漠。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留脑豹,地道東北人郑藏。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像瘩欺,于是被迫代替她去往敵國和親必盖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

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