网是一个很大的概念,很多小伙伴问,想进入物联网行业,需要掌握些什么技能?
一、关于物联网
IOT:The Internet of Things,物联网。
物联网是指通过 各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化 学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
来自:百度百科
从上面概念你会发现,物联网牵涉的内容众多。但要完成一个物联网项目一个人肯定不行,术业有专攻,人的精力有限,所以就存在各种不同职位。
成功的物联网项目非常注重工程技术。在本文中,我们将讨论从事物联网项目的开发人员所需掌握的技术:
硬件设计师
嵌入式固件开发人员
无线通讯专家
后端开发人员
前端开发人员
应用开发人员
自动化与系统集成工程师
数据科学家
所有成功的物联网项目的第一步都是定义业务目标并建立概念验证系统,以评估这些目标是否可以实现。在这个阶段,你只需掌握本文提到的部分技术。但是,等到项目取得成功,超越了概念验证水平,那么团队所需技术力的广度和深度就会增加。
通常,开发人员都可以掌握多项技术。有时,项目所需的每项技术都需要由专门的团队来承担,而所需人员的数量则取决于项目的复杂性和成功度。项目越成功,就意味着有更多钱来雇佣更多人。
二、硬件设计师
大多数物联网项目都涉及某种形式的定制硬件设计。硬件的复杂度因项目而异。在某些情况下,我们可以使用硬件模块和参考设计,基础知识和电气工程知识就足够了。而有些更复杂的项目则需要更多的经验和专业知识。如果你想构建苹果级别的硬件,则需要一个苹果级别的硬件团队,还有苹果级别的预算。
常见的技术:
印刷电路板(PCB)设计
无线电频率与天线设计
时钟,信号路由相关的经验
低功耗设计和功耗优化
芯片选择:微控制器、传感器、接口芯片
接口:SPI、I2C、JTAG、USB、GPIO
生产和零件采购
三、嵌入式固件开发人员
如果想让硬件发挥作用,你就需要嵌入式开发人员。他们是从事最底层、最接近裸机硬件的软件开发人员。这样的软件称为固件(介于软件和硬件之间的固件)。一般这些开发人员的背景结合了电气工程、计算机体系结构和软件开发。嵌入式开发人员的工作需要与最终硬件的原型版本打交道,因此通常他们的办公桌看起来都很凌乱。
常见的技术:
编程语言:C++、汇编语言、C++
实时 *** 作系统(RTOS)经验:FreeRTOS、ConTIki、Zephyr
嵌入式Linux
源代码版本控制
物理和信息安全
平台:美国德州仪器(TI)、ARM Cortex、AVR、微芯片、Arduino、树莓派
四、无线通讯专家
大多数物联网项目都是无线的,但无线技术都很难,因为无线集物理与软件的双重复杂度于一身。通常无线通信专家都来自无线通信、网络协议和软件开发。对于大型物联网系统来说,拥有无线通信的专长才能适当地确定网络与通信模式。而消费级物联网系统则需要无线通信专长来确保通过蓝牙顺利地将设备连接到用户的智能手机。
常见的技术:
网络模拟
无线网格网络
对无线传播技术的掌握
对功耗的掌握
协议:TCP/IP、IPv4、IPv6、RPL、TLS、WiFi、蓝牙、6lowpan、ZigBee、LoRA、MQTT、CoAP
五、后端开发人员
在物联网系统中,后端需要处理数据库和应用程序逻辑。通常,后端都部署在云主机中,并负责存储来自物联网设备的数据、对用户进行身份验证、为前端以及与其他系统的集成提供API。
常见的技术:
编程语言:Java、Go、Python、Ruby
数据库:MySQL、MongoDB、Redis
开发运维经验
云平台:亚马逊的AWS、Heroku、微软的Azure
六、前端开发人员
大多数物联网项目都有网页形式的前端。用户可以通过这类网页与系统交互。因此,这些网页需要做到易于使用、安全、可在最常见的Web浏览器中运行并保持最新状态。这些前端是用HTML开发的,而且通常都会采用某些现有的Java前端框架。前端开发人员需要通过大量输出到网页上的文本来创建视觉体验。
常见的技术:
UI/UX设计
用户访谈与人机交互的经验
HTML、CSS、Java
Web开发框架:Vue.js、React、Bootstrap
七、应用开发人员
许多面向用户的物联网项目都需要使用移动应用作为用户界面。随着项目的推进,移动应用体验的重要性越来越突出。通常,我们需要开发和维护两个版本:iOS和Android。有时也可以开发混合原生应用(通常用HTML开发)。大多数应用开发人员都清楚原生与混合框架的优缺点。
常见的技术:
Android、iOS开发
原生/混合框架:Phonegap/Cordova、Ionic、Angular、React、Vue
编程语言:Java、Swift、ObjecTIve C、Java
八、系统集成与自动化工程师
许多物联网项目都需要与现有软件集成。软件集成是一项经常被低估的任务,我们常常需要花费大量精力,运用一套特定的技术才能取得成功。此外,一旦软件集成开始,你就必须确保集成保持正常运行。这时我们就需要采用自动测试。系统集成和自动化工程师需要拥有大量实践经验和勇气,因为这是一项艰巨的工作。
常见的技术:
自动测试框架:Jenkins、Mocha、Travis
REST API
编程语言:Java、Java、Python、Bash
九、数据科学家
物联网项目都需要围绕数据展开,而且你需要充分利用这些数据。在项目的早期阶段,这部分的工作可能很简单,只需将关键绩效指标放入Excel工作表中进行比较即可。但是随着项目的发展,你需要针对数据展开更深入的分析。这时就需要数据科学家的帮忙。数据科学家可以通过复杂的数据,寻找模式以及可付诸行动的信息,而这才是数据的最终价值。
常见的技术:
统计、人工智能、机器学习、数据挖掘
编程语言: Matlab、R、Python
工具: Excel、Google BigQuery、Hadoop、TensorFlow、Spark
十、总结
一个成熟的物联网项目需要一系列广泛的技术支持才能取得成功。在项目的早期阶段,验证业务案例是最重要的任务,因此你不需要具备本文中提到的所有技术力。但是,在业务案例得到确认,项目可以真正开始后,这些技术就会变得越来越重要。
责任编辑:Ct
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)