不要害怕Pi
盡管他是一名狂熱的計(jì)算機(jī)愛(ài)好者并且對(duì)微控制器非常熱衷,但是當(dāng)它第一次出現(xiàn)時(shí)我對(duì)Pi非常懷疑。該計(jì)算機(jī)基于ARM處理器,通常用于運(yùn)行Linux,具有視頻輸出和USB輸入,并包含GPIO標(biāo)頭。在觀察Pi時(shí),我會(huì)經(jīng)常提出問(wèn)題,包括:
“你如何編程Pi本身?”
“為什么我甚至需要一個(gè)如果它只是一臺(tái)便宜的電腦?“
”Linux對(duì)于初學(xué)者來(lái)說(shuō)是一個(gè)可怕的操作系統(tǒng),那么這將如何使任何人受益?“
”幾乎有沒(méi)有基于它的硬件項(xiàng)目,那么它怎么能成為硬件控制器?“
”P(pán)i對(duì)PIC18系列等微控制器有什么優(yōu)勢(shì)?“
雖然許多人可能不同意,但這些問(wèn)題在Pi首次出現(xiàn)時(shí)是有效的。第一臺(tái)Pi計(jì)算機(jī)沒(méi)有網(wǎng)絡(luò)并使用復(fù)合視頻輸出,這使得它與大多數(shù)現(xiàn)代計(jì)算機(jī)顯示器不兼容,除非使用視頻轉(zhuǎn)換器。最重要的是,如果程序是用Raspberry Pi作為硬件控制器(類(lèi)似于PIC)編寫(xiě)的,那么它有多容易?這段代碼可以在啟動(dòng)時(shí)運(yùn)行嗎?學(xué)習(xí)有多難? Raspberry Pi是否有專(zhuān)用的外圍設(shè)備,包括串口,I2C,SPI,定時(shí)器,ADC等。由于這些問(wèn)題,我隱藏在我的小洞穴中,堆疊的PIC芯片從未買(mǎi)過(guò)覆盆子皮。然而,Raspberry Pi經(jīng)歷了許多變化,其中一項(xiàng)最新的重大變化是板載Wi-Fi。包含板載Wi-Fi對(duì)于我決定不再擔(dān)心和喜歡Pi是至關(guān)重要的,因?yàn)樗苋菀鬃孭i進(jìn)入物聯(lián)網(wǎng)領(lǐng)域,正如你所知道的那樣(除非你一直生活在巖石下),電子行業(yè)的下一件大事。因特網(wǎng)訪(fǎng)問(wèn)對(duì)Linux也很重要,因?yàn)榭梢允褂胹udo apt-get命令輕松添加軟件包,而Python等語(yǔ)言可以通過(guò)PIP輕松添加庫(kù)。那么你如何編程Pi?您可以期待什么以及您應(yīng)該從哪種語(yǔ)言開(kāi)始?
Python喜歡Pi
Raspberry Pi通常隨附Raspbian的副本,如果你還沒(méi)有它,對(duì)于初學(xué)者來(lái)說(shuō)絕對(duì)是必須的。如果您沒(méi)有預(yù)先編程的SD卡,操作系統(tǒng)可能部分難以安裝,為您提供近乎完整的編程和辦公室使用環(huán)境。列出的編程IDE包括:
BlueJ Java IDE
Greenfoot Java IDE
Matematica
Node-Red
Python 2和3
Scratch 1和2
Sense HAT模擬器
Thonny Python IDE
Wolfram
最多您可以在Raspberry Pi上使用的常用語(yǔ)言包括C,C ++,Java和Python。 Geany IDE為創(chuàng)建C程序提供了一個(gè)簡(jiǎn)單的無(wú)命令行方法,而B(niǎo)lueJ和Greenfoot對(duì)Java開(kāi)發(fā)非常有用。 Python程序可以使用Python 2 IDE,Python 3 IDE(推薦使用Python 2)和Thonny編寫(xiě)。如果您不熟悉Python,Thonny可能是標(biāo)準(zhǔn)Python IDE的更好替代品,因?yàn)樗菫槌鯇W(xué)者設(shè)計(jì)的,具有簡(jiǎn)單的調(diào)試系統(tǒng),可以逐步執(zhí)行Python代碼并看到變量。
您應(yīng)該使用哪種語(yǔ)言?不知道!話(huà)雖如此,經(jīng)過(guò)大量研究并考慮了我的需求(物聯(lián)網(wǎng),語(yǔ)音識(shí)別,GUI應(yīng)用,游戲和圖形例程),我認(rèn)為Python是Raspberry Pi的前進(jìn)方向。
為什么選擇Python ?首先,Python是一種非常容易直接進(jìn)入的語(yǔ)言(特別是如果你已經(jīng)擁有編程經(jīng)驗(yàn)),因?yàn)閹缀鯖](méi)有什么東西可以搞亂。例如,Java程序在執(zhí)行之前需要進(jìn)行大量設(shè)置的主要功能,而C程序需要make文件,并且很難與GUI等現(xiàn)代功能一起使用。如果打開(kāi)Python IDE,創(chuàng)建一個(gè)新文件,輸入“Print(”Hello“)”并運(yùn)行它,它將打印“Hello”。在運(yùn)行基本程序時(shí),沒(méi)有比Python更簡(jiǎn)單的計(jì)算機(jī)語(yǔ)言,但可以設(shè)計(jì)高級(jí)程序,其他主要語(yǔ)言也在其腳趾上。當(dāng)然,與其他語(yǔ)言相比,Python的主要問(wèn)題是速度慢,但對(duì)于大多數(shù)項(xiàng)目,Python都適合。
你的第一個(gè)Python程序
學(xué)習(xí)任何計(jì)算機(jī)語(yǔ)言時(shí),有三種方法可以學(xué)習(xí)。第一種方式涉及數(shù)小時(shí)的示例代碼和教程,第二種方式是做同樣但不喜歡它,第三種方法是想一個(gè)你會(huì)發(fā)現(xiàn)有用的程序,然后嘗試制作它。所以我的第一個(gè)Python程序,不管你信不信,是一個(gè)基于PC的示波器,它涉及來(lái)自串行端口的流數(shù)據(jù),然后使用PyGame以圖形方式顯示數(shù)據(jù)。應(yīng)該說(shuō)我是一名經(jīng)驗(yàn)豐富的程序員,所以我知道在制作程序時(shí)應(yīng)該注意什么,但這不應(yīng)該阻止你嘗試更復(fù)雜的東西。
任何語(yǔ)言的黃金法則是GIYF:谷歌是你的朋友。您不會(huì)相信Python必須提供的每個(gè)庫(kù)的教程,示例代碼和其他源代碼的數(shù)量。如果您遇到困難而無(wú)法解決問(wèn)題,您可以使用Google錯(cuò)誤代碼并在線(xiàn)詢(xún)問(wèn)其他人。您有機(jī)會(huì)在10分鐘內(nèi)解決您的問(wèn)題。
現(xiàn)在,開(kāi)始營(yíng)業(yè)了!您需要首先加載Python 3 IDE,可以通過(guò)單擊Raspberry Pi Logo開(kāi)始菜單(左上角)來(lái)完成。單擊編程,然后單擊Python 3.將彈出一個(gè)窗口,這是一個(gè)主要的Python接口,可用于直接輸入代碼或用作Python程序的控制臺(tái)輸出。在主控制臺(tái)窗口中,您需要單擊文件》新建文件,然后在彈出的窗口中單擊“另存為”并保存文件。文件的名稱(chēng)無(wú)關(guān)緊要,但現(xiàn)在只需將其命名為“MyFirstProgram”。保存后,輸入以下代碼,然后保存文件。
A = 10
B = int(input(“Enter a number: ”))
print(A + B)
使用復(fù)制的代碼保存文件,然后按F5或運(yùn)行》運(yùn)行模塊運(yùn)行程序。您應(yīng)該被帶到主Python控制臺(tái)并被提示“輸入一個(gè)數(shù)字:”。然后,當(dāng)您輸入一個(gè)數(shù)字時(shí),控制臺(tái)應(yīng)該打印您輸入的數(shù)字加上10.但是這里發(fā)生了什么,為什么會(huì)發(fā)生?
Python逐行執(zhí)行代碼,與尋找主函數(shù)的其他語(yǔ)言不同,Python從文件的第一行執(zhí)行代碼。所以在我們的例子中,Python做的第一件事是創(chuàng)建了一個(gè)名為A的變量(我們可以為其分配數(shù)字),并為其賦值10.
A = 10
Python執(zhí)行的第二條指令是創(chuàng)建名為B的變量,然后為其分配用戶(hù)輸入的值。用戶(hù)輸入可以通過(guò)使用input()函數(shù)在Python中獲得,如果我們?cè)谳斎牒瘮?shù)中放入一些文本,Python程序?qū)⒃讷@取用戶(hù)輸入之前打印它。所以在我們的例子中,我們想要打印字符串“輸入數(shù)字:”,所以為了做到這一點(diǎn),我們將這個(gè)字符串放入函數(shù)中。但輸入返回一個(gè)字符串(一個(gè)書(shū)面句子)而不是一個(gè)數(shù)字(整數(shù)),所以要將用戶(hù)輸入轉(zhuǎn)換為數(shù)字,我們?cè)谳斎牒瘮?shù)旁邊加上int。
int(輸入(“輸入”)一個(gè)數(shù)字:“))
最后一條指令采用變量A和B,然后將兩者加在一起。然后將結(jié)果打印到控制臺(tái)窗口,這標(biāo)志著程序的結(jié)束!
打印(A + B)
這個(gè)程序盡管很小,但它使用了許多編程范例,包括函數(shù),變量和轉(zhuǎn)換,但這些都非常容易理解。雖然本文不會(huì)深入討論,但您已經(jīng)可以看到Python的簡(jiǎn)單性以及如何讓程序快速運(yùn)行。
結(jié)論
Raspberry Pi是一款出色的單板計(jì)算機(jī),具有大量CPU功能,適用于大多數(shù)用戶(hù)應(yīng)用程序,GPIO適用于機(jī)器人等硬件項(xiàng)目,以及用戶(hù)友好的Linux發(fā)行版,這意味著即使是那些對(duì)編程完全不熟悉的人應(yīng)該沒(méi)有問(wèn)題!
-
程序
+關(guān)注
關(guān)注
117文章
3791瀏覽量
81153 -
python
+關(guān)注
關(guān)注
56文章
4798瀏覽量
84801 -
樹(shù)莓派
+關(guān)注
關(guān)注
117文章
1709瀏覽量
105714
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論