物聯網開發面臨的挑戰有哪些
物聯網的技術應用和互聯網應用有著本質的區別,就好比嵌入式系統和通用的計算機系統一樣。而物聯網應用開發就是典型的嵌入式開發。從硬件配置到運行環境等等,都千差萬別。本文創客學院物聯網培訓講師和讀者介紹一下物聯網開發面臨的挑戰有哪些?
物聯網開發面臨的挑戰有哪些?
首先和讀者聊聊物聯網開發平臺,談到開發平臺,很多人第一反應就是編程語言,從匯編、C、C++、Pascal、VB、VC等編譯型語言,到Java、JS、Python、Lua等腳本語言,說得上名字的、說不上名字的,可以羅列出成百上千種,著名的TIOBE,每年都要為各種編程語言排座次。其實要談物聯網開發平臺的發展,還得從早期嵌入式系統說起。曾幾何時,嵌入式MCU很多只有幾十字節的內存,幾百自己就算多的了,那時候,匯編語言是嵌入式編程不二的選擇。那時候,也沒有編程平臺的說法的,也沒有Shell之類的調試工具,更沒有標準IO系統,總之,程序員就像在一堆沙土上蓋房子,沒有地基,也沒有房梁,更沒有混凝土,就是用泥漿磚頭石塊慢慢糊。及后來,出現了單片機前后臺C語言(俗稱裸機C)開發工具,典型的是keil,同時,也出現了RTOS,例如vrtx、pSOS、VxWorks等,但裸機C語言開發長期占主導地位。早期的C語言開發平臺,從平臺角度,其實沒比匯編年代進步多少,同樣的沒有Shell、沒有標準IO系統,沒有異常處理系統,除了編碼語言外,差不了太多。雖然代碼的可移植性比匯編強,但仍然是跟硬件平臺緊耦合的,它要求軟件工程師了解硬件的每一個細節,了解CPU每一個寄存器的含義,硬件平臺稍有變動,軟件就懵逼了。
在裸C時代,首先出手改進開發平臺的是MCU廠商,ST、ATMEL、Freescale、NXP等知名MCU廠家,都推出了越來越完善的固件,使用這些固件,盡可能地抹平不同型號CPU之間的差異,使用戶的應用程序更加通用。同時,他們還推出了越來越完善的IDE,利用他們的IDE,可以自動化地生成一部分跟CPU相關的代碼,減輕了工程師的工作。但是,所有這些工作,都僅限于同一廠家的不同型號MCU之間,甚至只在同一廠家的同一系列MCU之間,才能體現出其價值。為什么MCU廠家要做這些工作呢?因為他們要賣東西,他們的客戶,大多數還使用裸機C開發,而不像系統級CPU那樣有完善的開發平臺支持。他們的客戶,迫切需要一個開發平臺,來規避晦澀難懂的硬件驅動開發,使應用和驅動相分離。一個非常典型的現象是freescale,它主要為MCU產品線提供驅動固件,而對于PPC產品線,原廠提供的驅動就是垃圾,誰用誰知道。
創客學院物聯網培訓講師: 就前景來看,物聯網是未來的一種發展趨勢。將來應用的面擴大之后 ,必然需要專門的人才,因此就業前景應該還是不錯的。創客學院物聯網視頻教程從零基礎入門到精通有著完整的學習路線,站內物聯網開發講師全天候答疑和預留批改作業。
the end
- 贊