Maker常用開發板

對於Maker來說,選擇適合的開發板可以加速make的時間。本文會依照難度特色來做分類。

入門款
**    Ardunio系列:**

>» 特色:pin腳少(少於20隻),PWM port少(不多於6隻),Analog輸入腳位少(少於6)。

>» 適合入門玩家學習操作I/O(DigitalWrtie),PWM(AnalogWrite),ADC(analogRead)。適合小專案與空間較小之專案。

>» Ardunio MEGA腳位很多,PWM腳多達15隻,對於需要大量馬達或servo的專案來說十分適合,而且其UART多達四組,還有一組SPI和一組I2C可方便擴充。

>» Ardunio ZERO是小型低電壓板Ardunio。

>» Ardunio DUE 是ARM-based的Ardunio,腳位很多,同時還有兩個DAC,和USB-OTG,為MEGA板所沒有的。

>»Ardunio YUN是一塊同時擁有MCU(Ardunio)和SOC(OS為linux)的開發板,基本連網功能透過linux部份,其餘操作在Ardunio部份上,可支援wifi(IEEE 802.11b/g/n)和ethernet(IEEE 802.11b/g/n),想當然爾,當然是一塊面向物連網的開發板。

很多,去找吧,我把他們全都放在那了。對於入門者來說,最重要的是有library和API支援,不然自己看datasheet來刻是很困難的。

這裏指得是支援Ardunio語法(library)的開發板,常見的如Picdunio,linkit Smart 7688和linkit 7688 DUO系列等。

進階款

**     Raspberry Pi**

基本上都是使用Broadcom的單板電腦,都是ARM以處理器為核心,當然ARM系列的優點都有(如省電),支援USB、ethernet、RCA、I2S、SD卡、相機模組。

作業系統有Raspbian(Debian系,論壇資源最多,問題易找到解答)、Arch Linux Arm(Arch linux十分輕量,而且十分先進,其套件管理佳,但難度叫高)、OpenELEC、Pidora(Fedora)等。

使用上需要有linux基礎,而其GPIO操作方式有python與C/C++的方法,其中python較簡單,而C/C++法需要閱讀datasheet才有辦法。

作業系統的優點就是易於擴充,與排程容易,缺點就是操作IO速度容易慢於MCU(但還是有辦法加速的,望向kernel)。

**      Banana PI**

台灣自行製作,採用中國全志公司的Allwinner A20(ARM Cortex-A7),基本可視為有SATA的Raspberry PI,該有的都有,支援OpenCL。

        Intel 開發板

主要有Intel Galileo和Intel Edison,基於X86,支援Windows,Mac OS X,Linux,為支援度最廣的,功能強大,有網路和USB支援,效能極高,對於運算較大之程式較能負擔(當然不能和PC和Server比啦),板主有看過運用其做Machine Learning和雲端運算操作。

      其他公司開發板推出之開發板

大多數系統廠如技嘉等公司都有推出開發板供顧客使用,這些開發板官方資源通常充足,但缺乏論壇,開發上遇到問題較麻煩。

      MCU(單晶片)

單晶片放在開發板區其實不好,因為你需要自己做開發板,但使用MCU可使你的開發彈性更高。其實Ardunio就是一種由單晶片衍生出的開發板,若要達到更好的程式效率與操作,可透過直接對MCU的暫存器進行操作,程式碼簡潔,但需要閱讀datasheet,所以Ardunio官方提供了一些方法來加速操作,如bitset()和bit()函式之方法。

常見的MCU廠商有:

MCU的產品線多元容易找到適合的晶片。

      ** SOC(system on chip)**

同樣很多產品線,有MIPS架構的,有ARM-A架構的,有X86的,這部份的難度最高,通常要有很多作業系統基礎。

參考資料

https://www.raspberrypi.org/

https://www.arduino.cc/

https://zh.wikipedia.org/wiki/%E6%A0%91%E8%8E%93%E6%B4%BE

comments powered by Disqus