你点击蓝字关注,回复“入门资料”获取单片机入门到高级开挂教程
开发板带你入门,我们带你飞
文 | 无际(微信:603311638)
全文约2128字,阅读大约需要 10 分钟
今天看到一个提问:
我觉得物联网专业,比较尴尬,学软件不如计算机专业,学硬件不如电子专业。
不过,这个专业本身没什么问题,物联网也是大势所趋。
问题在于,学校的课程涵盖太多学科:比如java、C/C++、计算机科学、离散数学、数电模电、数据结构、计算机网络、信号与分析、单片机、无线传感器网络、线性代数、概率论等等。
什么都学了,但什么都没学会,毕业具体是做什么工作的都不知道,这是普遍现象。
但这不代表学校学的东西没用,最大的作用就是打好你的基础,打开你的眼界。
具体毕业以后从事什么工作,一定是靠自己提前规划。
这也是为啥,有些本科不及技工好找工作,本科毕业不知道做啥,而技工是进行了一系列的专项训练,比如说汽修、数控等。
技工所有的学习内容,都是围绕着一个职业定位进行的,本科是广度,技工是深度。
一、物联网工程能做从事什么工作?
物联网不是一门具体的技术,而是多个学科结合的新型应用。
我在2014年开始参与物联网产品开发,主要是负责单片机开发这块。
现在很多知名第三方云平台,当时还在各地路演,拉融资,拉客户。
看了网上很多关于物联网的介绍,讲de得都太学术化,难以理解。
其实你完完整整做过一个项目以后,会发现并没想象中这么复杂。
一个完整的物联网产品系统,我大体分为四层:
每层都会有不同的技术栈和职业方向,后面我会一一介绍。
感知层是整个物联网产品的最底层,用于采集数据和控制,一般需要和网关层组网使用。
为了更通俗地理解,我拿无际单片机的WiFi+4G网关主机项目来举例。
Lora门磁探测器和Lora遥控器对应整个物联网系统的感知控制层。
门磁传感器的作用是检测门窗、抽屉、柜子门的开关状态。
每当触发开关门,门磁传感器就会通过Lora无线方式把数据传输到网关层的主机。
除此以外,传感器类型还有很多:
比如温度、湿度、光照、气压、声音等环境信息,以及人体活动、心率、血糖等生理信息。
这些设备会将采集到的数据通过无线网络或有线网络传输到网关设备。
无线网络传输有433M、2.4G、Lora、Zigbee、蓝牙等方式。
有线网络传输有串口、SPI、IIC、CAN、以太网等方式。
除了采集数据以外,还可以是一些执行设备,比如说控制灯、控制电机等等。
感知和控制层涉及的技术有:硬件电路设计、PCB layout、单片机。
感知和控制层涉及的职位有:硬件工程师、单片机工程师。
网关层是连接感知控制层和云平台的桥梁,负责将感知层的数据进行处理和转发。
我们身边的网关设备有快递柜里面的电路板、充电桩电路板、小度、小爱、天猫精灵等等。
它们可以将传感器采集的数据进行处理和过滤,然后将符合要求的数据上传到云平台。
比如我们的WiFi+4G主机,就是网关:
我们这种产品,单纯只有网关没用,还需要配合一系列探测器才能组成一个完整的安防系统,比如门磁探测器、烟雾探测器、红外探测器等等。
网关和探测器组网拓扑如下:
目前我们只做了门磁探测器,不过无线组网原理都一样。
网关主要任务有以下几个:
1.收集感知层的数据,数据经过分析处理后,按照数据协议打包,通过主机板载的WiFi或者4G网络上报云平台。
举例:比如门磁传感器检测到开门动作,首先是门磁传感器通过Lora无线发送给主机,主机再通过WiFi或者4G,上报到云平台。
2.接收云平台的下发的命令,去执行相应的动作,比如云平台控制主机进行布防、撤防控制。
网关层设备简单的一般用单片机,复杂的一般上ARM+Linux,比如小度、小爱这种。
网关层涉及的技术有:硬件电路设计、PCB layout、单片机、高端ARM芯片、Linux、C++、Java等等。
网关层涉及的职位就比较多了,比如:硬件工程师、嵌入式工程师(单片机工程师、Linux驱动工程师、Linux应用工程师)、APP工程师等等。
一般我们定位其中一个职业方向,否则要学得东西一辈子也学不完。
云平台层是整个物联网系统的核心,也是所有网关设备的”指挥中心“。
为了更好的管理网关设备,主流是通过网页后台去管理。
比如我们的云平台:
我们的云平台只做了核心部分,比如数据交互、OTA升级、设备管理等等。
云平台的作用就是随时可以监控物联网设备发生的各种事件和数据变化。
目前第三方云平台还增加了很多附加功能,比如数据分析、可视化、报警等功能。
云平台也是整个物联网系统中,估值最高的一部分。
因为云平台把控着所有设备的数据,一般做传统硬件的公司,为了节约成本,缩短开发周期,会直接对接这种第三方云平台。
这样,你哪个产品,出货量多少,云平台上面一目了然。
光是这个数据的价值,大家自行脑补,哈哈。
所以,很多大公司,都会选择自己研发云平台,防止数据泄露。
云平台层涉及的技术有:C#、Razor、JavaScript、Html、CSS、Python、数据库等。
比如我们的云平台就是采用这些技术去完成的:
至于涉及的职位,我没做过,不是很熟悉,就不说了。
虽然云平台可以控制硬件设备,但是给用户使用起来不是很方便。
一般会再单独做个APP,小程序之类的提供用户去下载,然后绑定硬件设备,实现控制。
这个涉及的技术主要有Java、Objective-C、Swift等。
1.我们在选择职业定位的时候,要看未来几年行业前景,从目前形式来看,我觉得嵌入式工程师是一个不错的选择。
2.想深入理解物联网最好的方式就是完整做几个实际产品应用。
最后彩蛋时间!!!
下面是更多无际原创的个人成长经历、行业经验、技术干货。
1.电子工程师是怎样的成长之路?10年5000字总结
2.如何快速看懂别人的代码和思维
3.单片机开发项目全局变量太多怎么管理?
4.C语言开发单片机为什么大多数都采用全局变量的形式?
5.单片机怎么实现模块化编程?实用程度让人发指!
6.c语言回调函数的使用及实际作用详解
7.手把手教你c语言队列实现代码,通俗易懂超详细!
8.c语言指针用法详解,通俗易懂超详细!