[基礎(chǔ)篇]ESP8266-SDK教程(二)之Hello World!

相信聰明伶俐的你,肯定完成了上一篇文章的環(huán)境搭建派歌,如果你是第一次看本系列文章弯囊,可以先去看看前兩篇文章,先了解一下并完成一些基礎(chǔ)操作胶果。

這里推薦大家安裝一下Git這個(gè)灰常炒雞好用的分布式版本管理神器匾嘱,本人是非常喜歡這款由Linux之父Linus Torvalds開(kāi)發(fā)的工具,可以很方便讓我完成一些工作早抠,比如說(shuō)copy代碼~哈哈霎烙,作為初級(jí)菜鳥(niǎo)程序員會(huì)用Git也是一個(gè)加分項(xiàng),大家可以去看一下廖雪峰的Git的教程:

廖雪峰Git教程

Git下載安裝鏈接

大家根據(jù)自己的系統(tǒng)選擇合適的下載,貌似Linux都是自帶的悬垃,因?yàn)長(zhǎng)inux源碼本身就是使用Git進(jìn)行分布式開(kāi)發(fā)管理的游昼,可以想象一下像Linux這樣大的項(xiàng)目都是使用的Git進(jìn)行開(kāi)發(fā)管理,你還有什么理由不去嘗試一下呢尝蠕?

上篇文章的最后給大家了ESP8266-NonOS-SDK 3.0的下載地址烘豌,相信大家都已經(jīng)下載完成了,如果還有沒(méi)下載的看彼,剛好我們嘗試一下使用Git是如何快速的copy代碼廊佩,安裝好Git了嗎?安裝好了那我們就開(kāi)始吧靖榕,先找一個(gè)你想將代碼copy到的目錄标锄,最好不要在含有中文的路徑下copy,然后右鍵選擇Git bash here

然后輸入如下命令:

1 git clone -b v3.0 git@github.com:espressif/ESP8266_NONOS_SDK.git

其中clone就是克隆(copy)的意思茁计,-b v3.0是選擇3.0這個(gè)分支料皇,如果你問(wèn)分支又是什么,這就又是Git的相關(guān)知識(shí)了簸淀,相信廖大神的教程一定會(huì)讓你明白的瓶蝴,這里就不做解釋了,git@github.com:espressif/ESP8266_NONOS_SDK.git這一大串就是我們要clone(copy)的代碼在github倉(cāng)庫(kù)中的地址了租幕。

我們打開(kāi)下載完成后的文件夾舷手,看一下文件目錄結(jié)構(gòu),然后將下圖中我圈出來(lái)的文件直接刪掉劲绪,我們這里暫時(shí)用不到男窟,不然等會(huì)編譯會(huì)報(bào)錯(cuò):

image

然后將examples文件下的smart_config文件夾復(fù)制到ESP8266_NONOS_SDK文件夾下并重新命名為app(可以不改,這里為了看著好看)贾富,最后的目錄結(jié)構(gòu)是這樣:

image

打開(kāi)上篇文章中安裝的安信可一體化開(kāi)發(fā)環(huán)境歉眷,這是一個(gè)開(kāi)源的開(kāi)發(fā)工具,我們先將改好的工程導(dǎo)進(jìn)來(lái)颤枪,左上角點(diǎn)擊file->import:

image

選擇Existing Code as Makefile Project汗捡,點(diǎn)擊Next:

image

點(diǎn)擊Browse瀏覽到你剛剛clone(copy)代碼的目錄,項(xiàng)目名稱隨便起,最后選擇Cygwin GCC畏纲,然后點(diǎn)擊Finish扇住,就可以在左側(cè)看到我們的工程樹(shù)了,恭喜你盗胀,萬(wàn)里長(zhǎng)征走了大半步了艘蹋,先不要急著編譯,我們先修改幾個(gè)地方票灰。

image

打開(kāi)主目錄中的makefile文件女阀,找到第29行將0改為6宅荤,我這里使用的是NodeMCU,flash是32Mbit的浸策,也就是4MByte=4096KB冯键,可以在此文件的第100行找到參考,但是SPI_SIZE_MAP等于6時(shí)也是4096KB的榛,其實(shí)6跟4的區(qū)別主要時(shí)代碼分布不同而已琼了,我們這里讓SPI_SIZE_MAP等于6就可以了,具體代碼分布有什么不同夫晌,我們后面再細(xì)說(shuō)雕薪,修改完成后不要忘記CTRL+S一下。

然后打開(kāi)app->user->user_main.c文件晓淀,找到第251行所袁,user_init函數(shù),這是整個(gè)工程的入口函數(shù)凶掰,底層初始化完成后燥爷,代碼就從這個(gè)地方開(kāi)始往下執(zhí)行,我們這里串口打印一下“Hello World!”懦窘,將代碼修改一下前翎,如下:

    os_printf("SDK version:%s\n", system_get_sdk_version());
    os_printf("\n\nHello World! ZHIHU IAMLIUBO\n\n");
//  smartconfig_set_type(SC_TYPE_AIRKISS); //SC_TYPE_ESPTOUCH,SC_TYPE_AIRKISS,SC_TYPE_ESPTOUCH_AIRKISS
//    wifi_set_opmode(STATION_MODE);
//    smartconfig_start(smartconfig_done);

注釋下面三行,我們暫時(shí)用不到畅涂,增加一行港华,然后保存,點(diǎn)擊工具欄中的Project->Build Project,Console中出現(xiàn)以下代碼午衰,就表示編譯成功了:

image

生成的Bin文件在工程目錄的Bin文件夾下立宜,然后我們需要將代碼下載到ESP8266上去了,打開(kāi)上篇文章中已經(jīng)下載好的代碼下載工具flash_download_tools臊岸,沒(méi)有下載的可以看一下上篇文章去下載一下橙数,也可以直接點(diǎn)這里:下載。打開(kāi)后選擇ESP8266 DownloadTool,然后參考下圖設(shè)置好帅戒,代碼下載地址也取決于你的Flash大小灯帮,這里是32Mbit flash的下載地址,端口號(hào)是你的硬件實(shí)際端口號(hào)逻住,波特率建議選大點(diǎn)施流,下載速度快,也不要太大鄙信。

image

下載地址參考:

eagle.flash.bin-------->0x00000

eagle.irom0text.bin---->0x10000

esp_init_data_default_v08.bin --> 0x3FC000

blank.bin --> 0x3FE000

設(shè)置好后,我們點(diǎn)擊START忿晕,就看到開(kāi)始下載了装诡,NodeMCU是有一鍵下載電路的,不需要我們手動(dòng)去設(shè)置,如果你用的是別的開(kāi)發(fā)板鸦采,沒(méi)有一鍵下載電路宾巍,你需要將GPIO0拉低,復(fù)位一下渔伯,然后點(diǎn)擊START顶霞,不然是沒(méi)法下載的。下載完成后我們打開(kāi)串口助手锣吼,波特率選擇76800(這是ESP8266在使用26Mhz晶振下的默認(rèn)波特率)选浑,按一下NodeMCU上的RST鍵,可以看到打印一些信息后玄叠,就打印出我們的“Hello World”來(lái)了古徒,關(guān)于上電打印信息,是ESP8266底層初始化的時(shí)候打印日志读恃,這部分代碼不對(duì)用戶開(kāi)放隧膘,所以沒(méi)辦法看到,我們可以屏蔽掉上電打印日志寺惫,這個(gè)后面再講疹吃。

image

恭喜你,成功完成了“Hello World”實(shí)驗(yàn)西雀,通過(guò)一個(gè)簡(jiǎn)單的小例程萨驶,相信你對(duì)整個(gè)ESP8266開(kāi)發(fā)流程有了一定的了解,沒(méi)錯(cuò)蒋搜,后面我們還是一樣的套路去編寫代碼篡撵,編譯代碼,下載代碼豆挽,查看代碼執(zhí)行結(jié)果育谬,但是最重要的如何去編寫我們的代碼,后面將會(huì)跟大家一起來(lái)探討如何深入開(kāi)發(fā)ESP8266帮哈。

最后附上一個(gè)小視頻膛檀,從修改代碼開(kāi)始,但是由于沒(méi)有麥克風(fēng)娘侍,所以沒(méi)有聲音咖刃,大家就當(dāng)參考一下吧。

視頻還在找托管方~

最后附上我的ESP8266倉(cāng)庫(kù)憾筏,后面代碼會(huì)全部在此倉(cāng)庫(kù)更新嚎杨,歡迎小伙伴們Star~

makingfunxyz-esp8266

本系列文章在知乎,博客園氧腰,同步更新枫浙,知乎搜索專欄:IAMLIUBO的神奇物聯(lián)網(wǎng)之旅

想看視頻的可以去知乎上的文章看一下~
QQ交流群:592587184

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末刨肃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子箩帚,更是在濱河造成了極大的恐慌真友,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件紧帕,死亡現(xiàn)場(chǎng)離奇詭異盔然,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)是嗜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門愈案,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人叠纷,你說(shuō)我怎么就攤上這事刻帚。” “怎么了涩嚣?”我有些...
    開(kāi)封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵崇众,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我航厚,道長(zhǎng)顷歌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任幔睬,我火速辦了婚禮眯漩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘麻顶。我一直安慰自己赦抖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布辅肾。 她就那樣靜靜地躺著队萤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矫钓。 梳的紋絲不亂的頭發(fā)上要尔,一...
    開(kāi)封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音新娜,去河邊找鬼赵辕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛概龄,可吹牛的內(nèi)容都是我干的还惠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼私杜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吸重!你這毒婦竟也來(lái)了互拾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嚎幸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后寄猩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體嫉晶,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年田篇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了替废。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泊柬,死狀恐怖椎镣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兽赁,我是刑警寧澤状答,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站刀崖,受9級(jí)特大地震影響惊科,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亮钦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一馆截、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜂莉,春花似錦蜡娶、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至男公,卻和暖如春荤堪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枢赔。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工澄阳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人踏拜。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓碎赢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親速梗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肮塞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355