-
1 # 平凡忍者
-
2 # 程式設計圈子
這個回答是專門針對大一新生、對物聯網感興趣的同學的。
一、什麼是物聯網物聯網,英文是“Internet Of things”,簡稱IoT。物聯網字面意思,就是物物相連的網際網路,所以物聯網仍是網際網路的一個組成部分。它和網際網路的主要區別是:網際網路主要角色是人、電腦或移動裝置、伺服器,而物聯網會有很多物品相連。物聯網通常被認為是繼計算機、網際網路後資訊產業發展的第三次浪潮。
事實上物聯網並不是一個新鮮的概念,早在1990年施樂公司就曾研發過網路可樂販售機。1999年,美國麻省理工學院(MIT)的Kevin Ash-ton教授首次提出了物聯網的概念。
根據國際電信聯盟(ITU)的定義,物聯網主要解決物品與物品(Thing to Thing,T2T)、人與物品(Human to Thing,H2T)、人與人(Human to Human,H2H)之間的互連。
二、物聯網的技術架構物聯網架構可分為三層:感知層、網路層、應用層。
感知層由各種感測器組成,將物體的資料,透過感測器收集後,由網路層傳輸出去。網路層包含網際網路、雲端、運營商網路、各種短距離區域網(如ZigBee等)。
應用層是物聯網與使用者的介面,一般以UI介面的形式展現。
三、物聯網感知層關鍵技術物品可能是電器(如洗衣機、冰箱)、物體(如門、窗)等。在物聯網應用中,物品上有三項關鍵技術應用(一些非物聯網的通用技術不作介紹,如模電、數電、射頻、PCB佈線等知識):
嵌入式系統技術
感測器技術
網路連線技術
1. 嵌入式系統技術
目前物聯網行業的在嵌入式方面,arm架構是最主要的架構。對於要長期致力於嵌入式開發的同學來講,arm是必須要學的。入門學習可以從stm32學習板開始,使用keil作為主要的開發工具。學習過程中要完全理解掌握開發板的各種用法、液晶屏和LED屏、數碼管的控制使用等。一些常用的通訊,如:RS232、RS485、I2C需要學習掌握。
其它一些微控制器,如51系列也可以進行學習,在物聯網中也有較多應用。
如果非電子專業的,只是把物聯網作為興趣愛好,那嵌入式的學習可以選擇一些簡單上手的平臺,如Arduino、樹黴派等。
2. 感測器技術
物聯網技術中,感測器應用極其廣泛,學習過程中要把常用的感測器用法完全掌握,如:霍爾感測器、加速度感測器、壓力感測器、人體紅外感應感測器等。
3. 網路連線技術
不管是做物品端開發,還是伺服器、APP等開發,網路連線技術都是必須深入學習。一般專業課都會有乙太網、TCP/IP原理講解,專業課的知識必須掌握,另外要學習一些基於TCP/IP的高階通訊協議,如HTTP協議、MQTT協議。
物聯網還有一些專用的通訊協議需要學習,如:
Zigbee
NFC
WiFi
GPRS
USB
NB-IoT
RFID
藍芽
Lora
這些通訊協議並不是都要完全學習掌握,根據個人學習精力可以逐步安排學習。在使用開發板學習時,通常都包含這些元件,可以直接進行實驗學習。
四、物聯網雲端開發關鍵技術1. 網路後端開發技術
網路後端技術,目前國內流行的主要是Java、PHP、Python等。學習網路後端技術,以Java為例,需要學習掌握以下內容:
Java 常用開發框架(SSH、SpringMVC、SpringBoot等)
Java Web開發
Java 資料庫基礎操作
Java Socket通訊技術(Netty框架等)
分散式開發與負載均衡
Java MQTT 服務端技術,有開源系統可以部署使用,以上幾條都是基礎,這一條是物聯網需要的核心技術
2. 網路安全相關技術
防火牆
防重放
防遇權
防偽造
3. 大資料儲存與分析技術
由於物聯網常常會產生大量的資料,現在大資料的儲存與分析在物聯網行業得到了普遍的應用。國內大資料通常需要掌握以下技術:
大資料平臺的搭建與維護(如Hadoop、HBase、Cassandra等)
大資料分析技術,如Hive、Spark、Storm、Elasticsearch等。
五、物聯網移動端開發關鍵技術國內現在物聯網技術的應用,主要集中在家電物聯網、遠端抄表類應用,這個過程中移動端往往成為重要的展示裝置,如果要學習移動端開發,主要要學習以下技術:
安卓應用程式開發、iOS應用程式開發
HTML5 移動端開發,如angularJS、React、Vue等
MQTT 通訊協議
回覆列表
你好,我是瘋狂D大嘴,大嘴說物聯,大嘴是一名物聯網專業的老師,前面幾位對物聯網的解釋都很正確,物聯網就是物物相連的網際網路。這有兩層意思:其一,物聯網的核心和基礎仍然是網際網路,是在網際網路基礎上的延伸和擴充套件的網路;其二,其使用者端延伸和擴充套件到了任何物品與物品之間,進行資訊的交換。
那麼想要學好物聯網需要掌握哪些學科知識呢?
1,《網路基礎》課
因為物聯網的主要的傳輸技術有藍芽,zigbee,wifi,有線傳輸技術,當然還有窄帶通訊等等,那麼學習這些傳輸技術的基礎是你要首先懂得網路方面的知識,網路是如何進行傳輸的?區域網如何建立的?每種傳輸技術的傳輸協議有什麼區別?什麼是應用層?什麼是傳輸層?等等
2,掌握一門程式語言,在物聯網的學習當中主要涉及到三種程式語言,C語言,C#,JAVA,如果沒有語言的基礎,那麼也是很難前進的。
這兩點是你在開始學習物聯網之前的基礎,當你具備了基礎以後,再去進行自學要稍微好一點。