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 通讯协议