新聞詳情
單片機(jī)與物聯(lián)網(wǎng)瀏覽數(shù):1次
互聯(lián)網(wǎng)是一個(gè)時(shí)代,物聯(lián)網(wǎng),也是一個(gè)時(shí)代。最近聽到一句話“只要有人的地方,就有物聯(lián)網(wǎng)技術(shù)”,物聯(lián)網(wǎng)技術(shù)是當(dāng)今電子、通信、計(jì)算機(jī)、IT行業(yè)技術(shù)的大融合。如圖,物聯(lián)網(wǎng)技術(shù)的技術(shù)組成(簡(jiǎn)單版),也就是物聯(lián)網(wǎng)的主要學(xué)習(xí)內(nèi)容。 # 物聯(lián)網(wǎng)技術(shù)之一:?jiǎn)纹瑱C(jī)/嵌入式開發(fā) 智能硬件不就是單片機(jī)嗎?說到底就是一個(gè)微控制器,現(xiàn)在出現(xiàn)的智能手表,調(diào)光LED燈,藍(lán)牙開鎖,WiFi插座等等,說到底不就是單片機(jī)開發(fā)嘛?單片機(jī),電子和通信專業(yè)一般都會(huì)教51或AVR、計(jì)算機(jī)系接觸不到。現(xiàn)在流行的Arduino也是單片機(jī)開發(fā)的一種。 但是要做一款智能硬件,技術(shù)上只會(huì)單片機(jī)編程還是不行的。什么智能硬件,本質(zhì)上就是一個(gè)電子產(chǎn)品。所以你要開發(fā)一款能拿得出手的智能硬件,電子系統(tǒng)設(shè)計(jì)必須要會(huì)的! 硬件設(shè)計(jì)階段: l MCU選擇 l 電路設(shè)計(jì)(電路圖) l 驗(yàn)證電路(面包板、萬用板) l 電路板設(shè)計(jì)(PCB圖) l 送工廠打板或自己做板 l 元器件、物料管理(采購(gòu)等) l 拿到電路板后,焊接芯片和元器件、上電測(cè)試、燒寫最后版本的代碼到芯片里 如果你熟悉以上硬件設(shè)計(jì)階段,并知道要做什么事情,已經(jīng)是一個(gè)合格的單片機(jī)硬件工程師了哈~接下來就是單片機(jī)軟件工程師的事情了,單片機(jī)軟件一般都不會(huì)太復(fù)雜,有的還是不用上操作系統(tǒng)的裸機(jī)開發(fā),做過單片機(jī)課程設(shè)計(jì)的學(xué)生都懂。 軟件設(shè)計(jì)流程: l 確定軟件架構(gòu)(主循環(huán)?狀態(tài)機(jī)輪詢?) l 編寫軟件 l 調(diào)試代碼(開發(fā)板或自己搭建好的電路) l 燒寫最終版本的代碼到電路里 這些都不算復(fù)雜了,如果你用的芯片高級(jí)一點(diǎn),不是微控制器而是微處理器的話,那么就是嵌入式開發(fā)了。 # 物聯(lián)網(wǎng)技術(shù)之二:網(wǎng)絡(luò)通信協(xié)議 智能硬件與傳統(tǒng)的電子產(chǎn)品最大的差別,就是智能硬件連上了網(wǎng)絡(luò)。要連上網(wǎng)絡(luò),就需要用到網(wǎng)絡(luò)通信模塊及學(xué)習(xí)網(wǎng)絡(luò)通信協(xié)議——TCP/IP。 TCP/IP是一個(gè)技術(shù)的總稱,里面包含兩種協(xié)議TCP、UDP,位于網(wǎng)絡(luò)通信分層模型的傳輸層,同時(shí)也是由操作系統(tǒng)管理。而HTTP、DNS、URI等這些技術(shù),屬于應(yīng)用層,位于TCP/UDP之上。同樣,最近物聯(lián)網(wǎng)比較流行的,針對(duì)計(jì)算能力有限的通訊設(shè)備而出的MQTT協(xié)議,也屬于TCP之上。為了讓電子產(chǎn)品有聯(lián)網(wǎng)的能力,只要在電路設(shè)計(jì)上給主控芯片連接一個(gè)通信模塊,寫好收發(fā)網(wǎng)絡(luò)指令的代碼,剩下的就是電子產(chǎn)品設(shè)計(jì)了。到這里,基本是一個(gè)物聯(lián)網(wǎng)產(chǎn)品的雛形了,以上也是物聯(lián)網(wǎng)中基本會(huì)用到的電子和通信技術(shù)。 # 物聯(lián)網(wǎng)技術(shù)之三:服務(wù)端開發(fā)框架 Client/Server架構(gòu),即客戶端/服務(wù)器架構(gòu)。智能硬件連上后臺(tái)服務(wù)器后,其就是一個(gè)客戶端,一個(gè)終端。由于單片機(jī)中資源受限,實(shí)際上是不太可能用HTTP協(xié)議的,所以互聯(lián)網(wǎng)中通用的Web服務(wù)器開發(fā)并不適合這里。有的廠家會(huì)在TCP之上自定義協(xié)議,有的就移植別人做好的協(xié)議比如MQTT,CoAP等等。 服務(wù)端開發(fā)就比較復(fù)雜了。單片機(jī)/嵌入式軟件開發(fā)還好,只要學(xué)習(xí)好C語言即可打遍天下無敵手,而服務(wù)端開發(fā),用Java還是Python呢?反正Java和Python選一個(gè)就好了,嵌入式出身的工程師,一般都會(huì)學(xué)Python。 Python服務(wù)器端的開發(fā)框架種類繁多,Web開發(fā)的有Django、Flask、Tornado Web Server,TCP服務(wù)器可以用Twisted,等等。MQTT有已經(jīng)做好的服務(wù)器,像這樣的服務(wù)器不用自己開發(fā),直接部署即可。 到了這里,服務(wù)端開發(fā)和前面兩個(gè)技術(shù)可以作為一個(gè)分層,前面的單片機(jī)/嵌入式和網(wǎng)絡(luò)通信的開發(fā)可以算作是一個(gè)電子設(shè)備的開發(fā),后臺(tái)工程師只要拿到了這個(gè)電子設(shè)備,知道這個(gè)設(shè)備提供了哪些接口(API),就可以進(jìn)行后臺(tái)開發(fā)了——把設(shè)備連上網(wǎng)絡(luò),分配給它一個(gè)IP或者什么的,配置好接口及相關(guān)操作,剩下的事情就交給前端了。 # 物聯(lián)網(wǎng)技術(shù)之四:無線自組網(wǎng) 無線自組網(wǎng),或稱無線傳感網(wǎng)絡(luò),這肯定是物聯(lián)網(wǎng)專業(yè)的學(xué)生要學(xué)的一門學(xué)科,屬于通信領(lǐng)域,電子、計(jì)算機(jī)出身的人對(duì)這沒有太多的概念。無線自組網(wǎng)最典型的技術(shù)之一是ZigBee。 # 物聯(lián)網(wǎng)技術(shù)之五:RFID 仔細(xì)觀察上面那張無線技術(shù)的圖,最右邊,NFC/RFID。對(duì),RFID,非接觸射頻識(shí)別,也是物聯(lián)網(wǎng)技術(shù)重中之重的技術(shù)。 早已實(shí)現(xiàn)了的公交卡以及校園一卡通,用的就是RFID技術(shù)。RFID可讀可寫,所以公交卡、校園卡的錢能存在卡里面。NFC,也是RFID的技術(shù)一種。 # 結(jié)語 當(dāng)然,由于物聯(lián)網(wǎng)本身就是所有技術(shù)的大融合,做電子產(chǎn)品的還要考慮產(chǎn)品外殼,不過這是結(jié)構(gòu)工程師的事情;做服務(wù)器后臺(tái)的還要考慮用戶帳號(hào)數(shù)據(jù)庫(kù)讀寫等,前端也要考慮如何把設(shè)備數(shù)據(jù)和操作方式優(yōu)雅的展現(xiàn)給用戶看,這些是IT程序員的事情;電池技術(shù)也需要單方面突破,超小體積、超大容量等等。 與其說物聯(lián)網(wǎng)是一種技術(shù)吧,不如說它是一個(gè)時(shí)代,物聯(lián)網(wǎng)通過對(duì)相關(guān)技術(shù)進(jìn)行整合,形成一個(gè)時(shí)代的概念,是一個(gè)建立在技術(shù)基礎(chǔ)之上的時(shí)代。 將挑戰(zhàn)看成跳板,超越挑戰(zhàn),你能跳得更遠(yuǎn)。 |