STM32與物聯網
時間:2019-10-25 來源:西安中心,石老師
STM32:從字面上來理解,ST 是意法半導體,M 是 Microelectronics 的縮寫,32 表示32 位,合起來理解,STM32 就是指 ST 公司開發的 32 位微控制器。在如今的 32 位控制器當中,STM32 可以說是最璀璨的新星,它受寵若嬌,大受工程師和市場的青睞,無芯能出其右。
STM32的核心部件CPU使用的是ARM公司的Cortex-M系列處理器內核。
Cortex-M 系列 為單片機驅動的系統提供的低成本優化方案,應用于傳統 的微控制器市場,智能傳感器,汽車周邊部件等。
Stm32的應用:可穿戴 物聯網 無人機 工業控制 醫療電子 汽車電子 電力系統 石油系統 燃氣系統 …
在物聯網的應用產品中可以用性價比比較高的stm32處理器。

以下是物聯網相關的技術:
一、物聯網的技術架構
物聯網架構可分為三層:感知層、網絡層、應用層。
感知層由各種傳感器組成,將物體的數據,通過傳感器收集后,由網絡層傳輸出去。網絡層包含互聯網、云端、運營商網絡、各種短距離局域網(如ZigBee等)。
應用層是物聯網與用戶的接口,一般以UI界面的形式展現。
二、物聯網感知層關鍵技術
物品可能是電器(如洗衣機、冰箱)、物體(如門、窗)等。在物聯網應用中,物品上有三項關鍵技術應用(一些非物聯網的通用技術不作介紹,如模電、數電、射頻、PCB布線等知識):
1.嵌入式系統技術
2.傳感器技術
3.網絡連接技術
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 通訊協議

