問題如上,
最近想接觸電腦的硬體類,但不知道從哪裡開始,於是我就在網路上看見了「開發板」這個東西,上網爬過文,但還是不太清楚他的作用。
另外,想請問各位大大什麼程式語言適合電腦硬體類的學習及研究?
我聽到的都是C或C++等編譯型語言/底層語言~
想接觸硬體與開發板的話...一定要試試看小弟的微自幹的作業系統輕旅行系列文!
本系列文會介紹:
雖然不會碰到開發板,但我們可以在虛擬機器上開發作業系統喔 XDDDD
(在問答區業配真滴羞恥)
開發板為Maker界的術語,泛指MCU及SOC等單晶片。
微控制器(MCU),俗稱「單晶片」,是一種把MPU、記憶體及輸出入功能整合在一起的晶片。
讓人摸不著頭緒的專有名稱,這得介紹常見的積體電路(IC)分類:
可視為與MPU相同意義的產品,一般指的是個人電腦(PC)中的處理器。習慣上,在通用式電腦中的處理器稱為CPU,而在嵌入式系統的則稱為MPU。
包含了完整的微處理機系統架構。常見的有Intel的8051,Atmel的AVR及ARM系列產品等等。
專門進行繪圖運算的處理器,擅長平行處理,故在AI領域也有一席之地。
稍微補充一下硬體描述語言:與一般的程式語言不一樣的是,他是用程式語法來描述各種邏輯,是目前數位電路的設計主流。這裡的「描述」有點像「規劃」的意思,而「邏輯」就是「數位邏輯閘」,例如:或閘(OR Gate)、及閘(AND Gate)、互斥或閘(XOR Gate)等等。詳情可以參考Altera公司的軟體-Quartus II。
雖然課本是說微控制器(MCU)是單晶片(恩,上面的內容多半是課本的),但實際上微控制器通常只有不到100kB的RAM,而一般認知的「單晶片系統」這個術語常被用來指功能更加強大的處理器,這些處理器甚至可以執行Windows和Linux等作業系統。
簡單來說,單晶片系統(SOC)會把CPU及GPU和各式輸入輸出及記憶體封裝在一起。為MCU的強化版。
應用這裡我覺得只有智慧電路跟IoT是有實際價值的,其他都在唬洨。而智慧電路用硬體描述語言也寫得出來,但要讓東西上網用邏輯閘拼出來...?
底層除了上面說的硬體描述語言,再來就是組合語言或C了吧,就拿來寫寫ARM等等。而開發版主流的Arduino是用C++來實現的。
沒收到任何一毛錢QQ,但既然有人都可以業配了,我沒收錢來點工商服務情理之中(但你應該意料之外www)
缺點:沒有內建藍芽,有內建WiFi為稀有版本。對於注重IoT的Maker領域是一大痛點。
ESP8266/ESP32
有WiFi、有藍芽,選我就對了。請直上ESP32謝謝。
樹莓派(Raspberry Pi)
小電腦,我認為是太高層,不像Arduino或ESP32這類開發版比較底層,很難做簡單的外部I/O控制,但上面能裝Linux來跑伺服器,缺點就是太貴。
其他開發板
要碼太簡單(那種給國小生玩的),要碼就是支援性及社群不夠完善,都沒上面幾個好:p。
直接拿 ESP32 單晶片模組來玩啦,買開發板多沒樂趣
那假如我要接觸和學習電腦硬體,建議要怎麼開始呢?(我是初學者)
而且我看網路上說:「ESP32需要專業知識很高,這種方式老實說不適合我們這種業餘或DIY的玩家。」,是真的嗎?
第二點我反倒不這麼認為,從8051到Arduino,再從Arduino到ESP32,隨著款式越來越新,它也越來越高階。就像程式語言一樣,越高階越貼近人類的語言,也比較容易學習。如果ESP32需要的專業知識很高,那像8051就是一輩子都不可能學會。(結論:Arduino比ESP32難)
如果想學就去修它的課。
這方面的網路資源不多,自學相當困難。電腦是用邏輯0、1所組成。邏輯閘是由電晶體所構成,電晶體的運作原理在電子學當中,而要學好電子學,電路學是基本的門檻。一個人不可能什麼都會,人類是建立在前人的基礎上來進步,就像你用手機查資料時,會知道手機的工作原理嗎?
如果只是想動手玩玩看,把微處理機看懂就可以控制周遭設備了。
樹梅派也可以考慮買二手的!我自己就買了一台二手 3 代 + 壓克力殼也才 900 元而已 XD
那有內建Wifi和藍牙可以做什麼呢?
如果不考慮要實現Wifi和藍牙,
會推薦哪一個開發板呢?
還有,有相關的工作嗎(開發版相關)?
教學的話,推薦可以先看這個 https://www.youtube.com/playlist?list=PLdckmk1Jf8MYOED98iY13wdGi52h-O69X ,然後照著把功能做出來,之後要學別的模組就會比較容易上手
沒有要IoT的話推薦Arduino(雖然沒有比較便宜),相關工作的話可以找教學相關。這方面本來就是同溫層的小圈圈,就像會去夾娃娃的人總是夾娃娃機台的台主。