Ⅰ 物聯網開發需要什麼技術呢
物聯網開發需要的技術
一:單片機/嵌入式開發
智能硬體,哎,不就是單片機嗎?說到底就是一個微控制器,現在出現的智能手錶,調光LED燈,藍牙開鎖,WiFi插座等等,說到底不就是單片機開發嘛?單片機,電子和通信專業一般都會教51或AVR、計算機系接觸不到。現在流行的Arino也是單片機開發的一種。
但是要做一款智能硬體,技術上只會單片機編程還是不行的。哎呀嘛什麼智能硬體,本質上就是一個電子產品!。所以你要開發一款能拿得出手的智能硬體,電子系統設計必須要會的!
二:網路通信協議
智能硬體與傳統的電子產品最大的差別,就是智能硬體連上了網路。要連上網路,就需要用到網路通信模塊及學習網路通信協議——TCP/IP。
TCP/IP是一個技術的總稱,裡麵包含兩種協議TCP、UDP,位於網路通信分層模型的傳輸層,同時也是由操作系統管理。而HTTP、DNS、URI等這些技術,屬於應用層,位於TCP/UDP之上。同樣,最近物聯網比較流行的,針對計算能力有限的通訊設備而出的MQTT協議,也屬於TCP之上。
為了讓電子產品有聯網的能力,只要在電路設計上給主控晶元連接一個通信模塊,寫好收發網路指令的代碼,剩下的就是電子產品設計了。
三:服務端開發框架
Client/Server架構,即客戶端/伺服器架構。智能硬體連上後台伺服器後,其就是一個客戶端,一個終端。由於單片機中資源受限,實際上是不太可能用HTTP協議的,所以互聯網中通用的Web伺服器開發並不適合這里。有的廠家會在TCP之上自定義協議,有的就移植別人做好的協議比如MQTT,CoAP等等。
服務端開發就比較復雜了。單片機/嵌入式軟體開發還好,只要學習好C語言即可打遍天下無敵手,而服務端開發,用Java呢還是Python還是PHP?反正Java和Python選一個就好了,嵌入式出身的工程師,一般都會學Python。
Python伺服器端的開發框架種類繁多,Web開發的有Django、FlaskTornado WebServer,TCP伺服器可以用Twisted,等等。MQTT有已經做好的伺服器,像這樣的伺服器不用自己開發,直接部署即可。