1. 程式人生 > >初識物聯網開發-硬體開發板選擇

初識物聯網開發-硬體開發板選擇

摘自:http://www.zhongkerd.com/news/content-1439.html

幾十年前的電子愛好者,最喜歡的就是電烙鐵,麵包板和收音機;十幾年前,出現了微控制器,於是玩具就成了電烙鐵,而包板和微控制器;到了2015年,貼 片技術的不斷普及,證麵包板不再那麼有用武之地,經濟的發展也證現成的板卡價格降到了一個合理的範圍,購買 現成的電路板,甚至自己打樣電路板來使用,已經成為 一個趨勢。

現在,我們面前的選擇就空前的豐富,一方面,是以Arduino和RPI為uthd的開源硬體耳邊營,另一方面,則是以STM32、51和S#C2440為uthd的傳統微控制器開發板陣列營,筆者根據自己的使用體驗 。

分類

無論屬於哪個陣營,它們用的CPU都是分成MCU(微控制器在,或者稱微控制器)和MPU(微處理器)兩類,它們的本質區別在於MMU(記憶體管理單元),也就是對於虛擬記憶體空間的去持。樹莓派 和S#C2440就屬於MPU烊的,而Arduino和STM32就屬於MCU類的。它們在運算能力上有巨大的差距。

Arduino

基於上面的分類,如果把它放到一個天梯圖內,我們就得到這樣一張開源硬體的比較圖

樹莓派、 Arduino 、傳統微控制器開發板怎麼選?

這張圖只是比較了它們的純運算效能,越靠上的,去處效能越強,但是這張圖並不是按照比例畫的,實際上,權莓派的運算效能可以達到Arduino的100倍。接下來,我就根據上面的兩種分類方法來講講它們的區別。

效能差距

廣大的電子愛好者可能一直有一個疑問 ,樹莓派和微控制器或者樹莓派和Arduino的選擇問題,其實也就是MPU和MCU的選擇問題 。

這裡雙得分丙途中情況討論,一類是沒有學過任何東西,想直接拿樹莓派入門的,另一類是在玩過Arduino或者51微控制器之後想要玩玩更高階平臺開發。

先講講第一類,對於第一類玩家,如果已經有了程式設計 的基礎,可以直接試著玩樹莓派,如果只是把樹莓派當成一個小型PC或低功耗伺服器,完全 沒有問題 。對於程式設計水平好的,我更推薦cubieboard cc80 或者JetSon TK1,因為它們的效能會強大很多,玩起來會更加舒服。如果沒有程式設計 基礎或者想要玩軟硬結合的,還是議從PC程式設計 或者Arduino微控制器開始學習。

對於第二烊,選擇 就不那麼簡單了,uthd先要知道,在過去(其實撥弄開源硬體,現在也是一樣),MPU是一種很複雜的東西上,一般得熟練掌握微控制器之後才能去接觸MPU。而且MPU通常涉及到Linux核心 的修改、驅動的開發、軟年的編寫這類事情,需要的知識儲備很多。對於一般受好者來說,玩MPU完全就是天方夜譚,但是MPU又是那麼吸引人,數百光的主頻 ,數十光的儲存空間,是MCU根本無法想象的。MPU就像是一對啊真正的PC,而MCU只能算個玩具。國外的開源硬體大佬自然也看見了這一點,於是就有了樹莓派這樣的產品,樹莓派就是整合了開源硬 件jqru用性和MPU強大功能的產品,現在對於想要玩高階平臺的愛好者,最主要的選 擇就是樹梅派和STM32(雖然它們根本不是一個量級上的東西上,但是由於2440類的東西開發難度太大,業餘愛好者一般較少涉足)。那麼我們就來對比下,樹莓派和STM32分別能做什麼,能做的東西上下其手發起來有什麼區別。

只有樹莓派 能做的:機器視覺、視訊 解碼、3D遊戲

sTM32和樹莓派都能做的:飛控、3D列印控制、音訊解碼、網路監控、物聯網感測器等。

只有STM32能做的:基本沒有。

小結:

STM32能做的,樹莓派 都能做,樹莓派能做的STM32不一定能做。

再來看看對於都可以做的東西上,兩者開發上有什麼區別。以網路禮帽災例吧。STM32的開發流程是這樣的:硬體選型-設計PCB-焊接-除錯硬體-編寫DCMI和RMII驅動=移植TCP/IP協議棧-調整攝像不驅動=編寫網頁伺服器程式-完成。其中涉及的代雄風量非常大,不過好在都比較基礎,愛好者還能應付一下,而樹莓派 的開發澈kmjh完全不一樣:買一臺樹莓派和一個攝像頭-把攝像頭連線到樹莓派上-在樹莓派上安裝一個監控軟體-完成,簡直就像玩一樣,半個小時就能完成。

對於愛好者來說,樹莓派確實是利器,不用很長的時間就能實現很棒的效果,自己寫程式也不是太複雜,就參考PC上的LInux程式編寫就可以,因為網路協議,圖形庫這些都是現成的,省去了很多麻煩,不過,有利也有弊,樹莓派是個高度封裝的東西上,如果想要藉此學習ARM LINUX的基礎開發,我還是勸你轉投2440的慢慢的,因為樹莓派說是開洙硬體,但是實際上它的底層Bootloader和核心資料手岫是閉源的,對於應用開發沒有影響,但是學習原理就是要命 了。另外一點,就是成本,如果你做的這個東西盯量產,那麼成本就變得很重要,基於STM32的網路監控方案可以比基於樹莓派的方案成本低一半以上,這可是十分吸引人的,當然我只是舉個例子,實際上,目前市場上網路監控用的既不是STM32,也不是樹莓派,而是專門定製的ARM9。

那麼對於愛好者,STM32有什麼意義呢?看起來似乎上面提到的兩個弊端都沒有什麼關係啊。讓我說的話,STM32的優點就是更為基礎,這個理由和上面對於51微控制器的觀點是類似的,玩STM32可以學到更多基礎的知識,腳踏實地慢慢來,路上的風景也很精彩啊,從零開始,看著自己的作品一點點完善,難道不是一件很有越的事情嗎?功利也說,如果要從事電子工程 師的工作,這些知識和經驗將會十分有用因為工作也是和基礎的東西打交道 ,無論是MCU還是MPU都一樣,將要面對的,是赤裸裸的原理圖和原始碼而不是apt-get install

總結

講了這麼多,不知道大家對於這些東西睥區別有沒有一個大概的我寫這篇文章,並不是想告訴你STM32好,樹莓派超級棒,這種觀點,百是希望大家能根據自己的愛好和需要,選 擇合適的產品,而不是盲目跟 風。

相關推薦

初識聯網開發-硬體開發選擇

摘自:http://www.zhongkerd.com/news/content-1439.html 幾十年前的電子愛好者,最喜歡的就是電烙鐵,麵包板和收音機;十幾年前,出現了微控制器,於是玩具就成了電烙鐵,而包板和微控制器;到了2015年,貼 片技術的不斷普及,證麵包板不

【安卓與聯網】Arduino開發與Android之間通訊

關於Arduino開發板 Arduino是一款開源電子原型平臺,硬體部分是可以用來做電路連線的Arduino電路板。可以通過編寫程式,最後燒寫入開發板,配合上一些感測器,以及富有創造力的設計可以創造出很多神奇的東西。 在大三的時候,對物聯網的感興

機智雲5.0推出IoT套件GoKit4.0 可實現聯網應用協同開發

人才 day 多個 html 部分 包括 組件 單位 zh-cn 2017年9月19日,全國雙創周期間,在由廣州市青創中心、天英匯、五號空間、機智雲等聯合主辦的眾創五號空間首屆IoT創新嘉年華重頭戲機智雲GODAY2017上,機智雲正式發布了機智雲5.0物聯網開發及雲服務平

聯網之LoRa開發與應用一(M0工程建立)

M0工程建立主要分如下四步: 1、IO埠配置 2、時鐘配置 3、外設配置 4、printf函式重定向 IO配置: 1、看懂原理圖 2、建立IO功能對映表 3、通過STM32Cubemx配置IO工作模式 STM32F051K8U6 IO功能對映表 序號

聯網之STM32開發三(USART串列埠)

STM32-USART串列埠的應用 內容概要: 序列通訊的基本概念 串列埠暫存器介紹 STM32實現串列埠資料的收發 HAL串列埠庫函式的使用及printf的實現 序列通訊的基本概念: 內容概要: 通訊的基本概念 USART介紹 串列埠的電路連線 串列埠

福利 | Python 聯網全棧開發實踐

點選上方“CSDN”,選擇“置頂公眾號”關鍵時刻,第一時間送達!編者按:昨日,第一屆小米 IoT

聯網之STM32開發四(中斷系統)

STM32-中斷系統 內容概要: STM32中斷系統概述 外部中斷控制器EXTI 按鍵中斷例項 串列埠中斷例項 STM32中斷系統概述: 內容概要: 中斷的基本概念 巢狀向量控制器NVIC 中斷及異常向量表 中斷優先順序 中斷的基本概念:  處理器中

聯網之LoRa開發與應用六(LoRa自組網路設計)

深入瞭解LoRaWAN 內容概要: 1、LoRaWAN概述 2、LoRaWAN終端(重點掌握) 3、LoRaWAN伺服器 LoRaWAN是什麼: LoRaWAN採用星型無線拓撲:End Nodes(節點)、Gateway(閘道器)、Network Server

聯網之LoRa開發與應用三(Lora人機介面開發

文章要點: 1、TFT液晶屏工作原理 2、TFT液晶屏驅動開發 3、TFT人機介面開發 TFT液晶屏工作原理 內容概要: 1、TFT液晶屏顯示原理 2、1.44寸TFT液晶屏工作原理 3、1.44寸TFT液晶屏硬體設計 TFT液晶屏如何顯示: 顏色深度

聯網跨平臺應用開發

本文由嵌入式企鵝圈原創團隊成員Hunter_Zhu提供。基於H5進行跨平臺應用開發是未來的趨勢,其具有跨平臺相容、開發門檻低、運維難度低等優勢。phonegap、Dcloud等平臺已經實現了很多的應用案

JavaScript —— 下一代聯網全棧開發

作者簡介:李知周,中國科學院微系統與資訊科技研究所博士,物聯網早期創業者,發起了開源物聯網專案 Openfpgaduino,目前在國際知名投資銀行從事基於大資料與機器學習的網路安全開發。 本文為《程式設計師》雜誌原創文章,未經授權,請勿轉載 關

聯網之LoRa開發與應用二(驅動移植)

LoRa官方韌體下載:https://pan.baidu.com/s/1ftP-HMJTmF9PtA05Lt-Tag 密碼:bc8y IAR程式碼操作快捷鍵 如果要在整個工程中查詢 某個單詞或者其他,則按照如下方式查詢: LoRa驅動框架 硬體介面設計

從晶片到雲端 Python聯網全棧開發經驗教訓共享

劉凱 一、前言 物聯網端到端模型 物聯網與網際網路差異 開發環節:物聯網增加了裝置相關的裝置域開發; 人機互動:沒有標準顯示元件,不支援現有UI元件,需要NUI、智慧感測器 接入協議:裝置能力受限,需要支援MQTT/CoAP/TCP/UDP套接字; 安全

嵌入式聯網開源硬體平臺

硬體平臺:iTOP-4412開發板   應用方向 車聯網,智慧家居,行業終端等   應用場景 音視訊類產品 (網路攝像機(監控、看護) 、行車記錄儀、可視門鈴等) 溝通互動類產品(社交電視、機器人等) 資料採集類產品(體重秤、溫度計、空

什麼是聯網閘道器 如何選擇適合你的聯網閘道器

  閘道器是一種充當轉換重任的計算機系統或裝置。在使用不同的通訊協議、資料格式或語言,甚至體系結構完全不同的兩種系統之間,閘道器是一個翻譯器。那麼什麼是物聯網閘道器呢?物聯網閘道器選擇時要注意什麼呢?        什麼是物聯網閘道器   物聯網閘道器能夠把不同的物收

聯網系統開發如何選擇時序數據庫

壓縮 磁盤 可能性 服務器 至少 存儲設備 互聯 寫入 內容 在很多物聯網系統中,都需要對聯網的設備進行監控,並對監控采樣到的數據進行持久化。對采樣數據進行持久化,其實很多年前在工業領域已經有專門的數據庫來完成這個任務了。在工業領域,這個叫實時數據庫。 工業領域的實時數據

STemWin移植到MiCO聯網作業系統筆記-基於秉火STM32F429開發【2】

把 MiCO 移植到了 STM32F429上,並移植了 emWin到 MiCO 上 原始碼Git地址https://github.com/zhaojuntao/MiCO-STM32F429-emWin 本DEMO所在目錄為:demos\application\LTDC_LCD em

STemWin移植到MiCO聯網作業系統筆記-基於秉火STM32F429開發【1】

這段時間,因為客戶要用WiFi模組來更新LCD螢幕圖片內容,但是傳統的WiFi模組都是基於串列埠透傳的,於是乎就看到秉火挑戰者開發板上有EMW1062 WiFi模組,SDIO通訊介面,於是就索性用秉火現成的STemWin DEMO來做了。 之前也沒有移植過STemwin,網上簡單查了下,簡單

智慧硬體開發聯網十大室內定位技術原理解析

隨著物聯網技術應用的發展,越來越多的智慧硬體通過物聯網絡卡實現網際網路功能,物聯網與物聯網以及人與物之間的通訊更為密切更方便。物聯網新時代已不知不覺地到來。常州專業開發智慧硬體物聯網APP公司http://www.czwew.com剖析下,物聯網十大室內定位技術

ESP8266 IOT聯網SDK原始碼+安卓app原始碼智慧家居WIFI開發原理圖+視訊教程

筆者第一次接觸物聯網WIFI開發是安信可的小黃板測試板,當時安信可提供的資料很多,也很亂,沒有從零的系統講解。因為沒有得到專門的技術指導,後來又接觸了樂鑫,機智雲,開發快等等。面對這麼多開發廠商,對於初學者來說,不免有點茫然。筆者的學習之路也是不免坎坷,開發一款物聯網產品離