esp32 micropython 之 Hello,?World!

head.jpg

Hello, World!

Hello World是一個最著名的程序心褐。對每一位程序員來說,這個程序幾乎是每一門編程語言中的第一個示例程序。實際上宠蚂,這個程序的功能只是告知計算機顯示Hello World這句話。傳統(tǒng)意義上童社,程序員一般用這個程序測試一種新的系統(tǒng)或編程語言求厕。對程序員來說,看到這兩個單詞顯示在電腦屏幕上扰楼,往往表示他們的代碼已經(jīng)能夠編譯呀癣、裝載以及正常運行了,這個輸出結(jié)果就是為了證明這一點弦赖,因此以下說明以此為例项栏。

1. 使用 MpfShell 編程

  • 溫馨提示,往下使用之前蹬竖,請先燒寫 MicroPython 固件沼沈。
  • 所需材料,Windows 請到此處Tools 下載 Windows-Mpfshell.exe币厕, 由于軟件版本可能會升級變動列另,所以需要手動選取所需版本下載。

如果你已經(jīng)安裝了 Python 旦装,直接使用 pip install mpfshell-lite 后輸入 mpfshell-lite 即可页衙。

1. 通過 repl 運行程序

program.png
  • (以 Windows 為例)雙擊運行 Windows-Mpfshell.exe
index.png
  • 依次出現(xiàn)的顏色 解釋其說明
    白色 顯示所有支持的命令操作阴绢,上排命令表示有幫助說明店乐,下排命令反之。
    黃色 以上為全部支持的命令呻袭,如果想知道ls的用法眨八,輸入help ls即可得知。
    藍色 顯示當前插入的板子的串口名左电,如圖所示為 com5廉侧,可以輸入open com5連接設備含长。
  • 嘗試連接設備,輸入 open com5(可以簡寫為 o com5)伏穆,如果沒有反應拘泞,使用CTRL + C或右上角點紅叉。

opendev.png
  • 現(xiàn)在的提示:首次啟動板子枕扫,若是使用了聯(lián)網(wǎng)功能陪腌,如果燈還在滾動的時候連接了板子,可能會停止聯(lián)網(wǎng)操作烟瞧,所以當發(fā)現(xiàn)聯(lián)網(wǎng)功能被停止了诗鸭,需要手動在repl執(zhí)行wifi.start(),或使用 exec 執(zhí)行該語句即可参滴。

  • 過去的提示:首次啟動板子强岸,第一次會連接失敗,根據(jù)提示 try again 重試即可砾赔,因此要注意紅色的提示信息蝌箍。

connected.png
  • 當顯示 Connected to esp32 時,就可以確認板子已成功連接暴心。

  • 此時再次輸入 repl妓盲,進入基礎編程環(huán)境,并寫下你的第一段程序专普,例如:print('Hello, World!')悯衬。

  • 提示:最新的固件在開機時的 REPL 可能會出現(xiàn) no found AP,想要停止它可以輸入wifi.close()檀夹,這不影響板子的外部操作筋粗,只是會影響 REPL 的輸出位置,固件設定板子上電就會自動執(zhí)行聯(lián)網(wǎng)炸渡,其聯(lián)網(wǎng)配置文件在內(nèi)部的wifi_cfg.py娜亿,由于每個人的環(huán)境不一樣,所以默認的是連接webduino.io/webduino偶摔,它輸出的訊息只會影響顯示暇唾,不影響功能。

print_helloworld.png
  • 回顯 Hello, World!辰斋,即說明你成功的運行了你的第一段程序,你也可以繼續(xù)輸入代碼來測試瘸味。

2. 通過 main.py 運行程序

  • 新建一個 main.py 文件宫仗,并寫入以下內(nèi)容。

    print('Hello, World!')
    
  • 若是想使用 MpfShell 執(zhí)行該文件旁仿,請將文件放到與 MpfShell 同一目錄下藕夫。

main.png
  • 接著再切換到 MpfShell 的程序區(qū)域孽糖,輸入runfile main.py,或輸入rf main.py毅贮,runfile 簡寫成 rf办悟。
main_result.png
  • 可以看到回顯了hello world,說明你成功運行了程序滩褥。

  • 可能有用的提示:最新的 mpfshell 指令多了 lexecfile病蛉,如果需要進行python 的 input 輸入交互的時候,請使用該指令瑰煎, 因為 runfile 只能接收板子輸出而不能輸入铺然。

以下為進一步深入的內(nèi)容,可以自行了解酒甸。

4. 詳解開發(fā)環(huán)境和工具

1. 什么是 repl魄健?

REPL(Read-eval-print-loop):交互式解析器

在 repl 環(huán)境下,可以定義和運行變量插勤、函數(shù)沽瘦、對象。

repl 的常用命令:

  • 啟動 MicroPython农尖,即進入了 REPL 環(huán)境其垄。
  • 退出:按 Ctrl + C中斷 或 按CTRL + D 軟復位。
  • 點擊 tab 可以打印出 Python 中的所有模塊卤橄,或補全不完整的命令(輸入過的歷史命令)绿满。
  • 使用鍵盤方向鍵的 向上 或 向下 可以查看 歷史命令,向左 或 向右 配合 backspace 可以修改還沒確認輸入(Enter)的內(nèi)容窟扑。

常見使用場景:

  • 在 repl 中想要輸入 import 命令喇颁,只需要 輸入 i + 按下 tab 鍵即可補全成 import,其他同理嚎货,使用的前提是此前輸入過橘霎,因此不是所有命令都可以被補全。

  • 在運行 python 代碼時殖属,希望能讓它停下來姐叁,按下 CTRL + C 即可向解釋器發(fā)送一個 KeyboardInterrupt 異常,此時解釋器運行過程中如果未使用異常捕獲處理該異常洗显,則程序?qū)V埂?/p>

2. 如何選擇開發(fā)工具外潜?

名稱 描述 優(yōu)勢 劣勢
notepad 系統(tǒng)自帶記事本 足夠簡單 遠古高手才能用得起 XD
notepad++ 記事本升級版 支持代碼識別和高亮 現(xiàn)代高手看代碼用的 XD
uPyCraft 跨平臺簡易開發(fā)環(huán)境 使用簡單,適合新手 問題多挠唆,且缺少許多必要的編程功能处窥,例如各種操作快捷鍵。
MpfShell 跨平臺簡易交互工具 功能完整玄组,拓展性強 缺乏編輯器支持滔驾,代碼靠外部編輯器編寫谒麦,例如: VSCODE 或 PyCharm。
ESPBlocks 跨平臺代碼編輯器 新手專屬的簡易開發(fā)工具 支持板子的快速有線連接和運行代碼哆致,還有 Blockly 的支持绕德,其他功能略有缺失,但不影響新手上手摊阀。
VSCODE 跨平臺代碼編輯器 專業(yè)代碼標準編程環(huán)境 缺乏板子的支持耻蛇,需要配合工具運行代碼,例如 :MpfShell驹溃、RShell城丧、PyLoader。
PyCharm 跨平臺代碼編輯器 專業(yè)代碼標準編程環(huán)境 支持板子的直接操作豌鹤,但配置稍微多了一些亡哄,要使用起來沒有那么一鍵快速,編程體驗相當于 Visual Studio IDE布疙。

個人推薦 MpfShell + PyCharm 蚊惯,理由是編寫簡單的代碼用 MpfShell ,編寫復雜的代碼用 PyCharm 灵临,無需額外配置任何東西截型,運行流暢,簡單快捷儒溉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宦焦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子顿涣,更是在濱河造成了極大的恐慌波闹,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涛碑,死亡現(xiàn)場離奇詭異精堕,居然都是意外死亡,警方通過查閱死者的電腦和手機蒲障,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門歹篓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人揉阎,你說我怎么就攤上這事庄撮。” “怎么了余黎?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵重窟,是天一觀的道長。 經(jīng)常有香客問我惧财,道長巡扇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任垮衷,我火速辦了婚禮厅翔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搀突。我一直安慰自己刀闷,他們只是感情好,可當我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布仰迁。 她就那樣靜靜地躺著甸昏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪徐许。 梳的紋絲不亂的頭發(fā)上施蜜,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機與錄音雌隅,去河邊找鬼翻默。 笑死,一個胖子當著我的面吹牛恰起,可吹牛的內(nèi)容都是我干的修械。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼检盼,長吁一口氣:“原來是場噩夢啊……” “哼肯污!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吨枉,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蹦渣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后东羹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剂桥,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年属提,在試婚紗的時候發(fā)現(xiàn)自己被綠了权逗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡冤议,死狀恐怖斟薇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恕酸,我是刑警寧澤堪滨,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站蕊温,受9級特大地震影響袱箱,放射性物質(zhì)發(fā)生泄漏遏乔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一发笔、第九天 我趴在偏房一處隱蔽的房頂上張望盟萨。 院中可真熱鬧,春花似錦了讨、人聲如沸捻激。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胞谭。三九已至,卻和暖如春男杈,著一層夾襖步出監(jiān)牢的瞬間丈屹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工势就, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泉瞻,地道東北人。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓苞冯,卻偏偏與公主長得像袖牙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舅锄,可洞房花燭夜當晚...
    茶點故事閱讀 45,446評論 2 359

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

  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語閱讀 3,680評論 0 7
  • 一鞭达、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,748評論 0 10
  • 第一章:編譯和安裝SCons第二章:簡單編譯第三章:編譯相關(guān)的一些事情第四章:編譯和鏈接庫文件第五章:節(jié)點對象第六...
    仙靈兒閱讀 11,839評論 0 3
  • 在通往成功幸福的道路上,讓我們最終實現(xiàn)夢想的皇忿、起源于我們自己的看法畴蹭、想法,或者叫價值觀鳍烁,你做的每一個...
    慈海閱讀 309評論 0 2
  • 還有個腦洞是關(guān)于書法之美
    elaine003閱讀 128評論 0 0