科普 | 物联网行业有哪些岗位?需要什么技能?
物联网是一个很大的概念,很多小伙伴问,想进入物联网行业,需要掌握些什么技能?
物联网牵涉的内容众多,成功的物联网项目非常注重工程技术。在本文中,我们将讨论从事物联网项目的开发人员所需掌握的技术:
硬件设计师 嵌入式固件开发人员 无线通讯专家 后端开发人员 前端开发人员 应用开发人员 自动化与系统集成工程师 数据科学家
大多数物联网项目都涉及某种形式的定制硬件设计。硬件的复杂度因项目而异。在某些情况下,我们可以使用硬件模块和参考设计,基础知识和电气工程知识就足够了。
而有些更复杂的项目则需要更多的经验和专业知识。如果你想构建苹果级别的硬件,则需要一个苹果级别的硬件团队,还有苹果级别的预算。
常见技术要求不完全列举:
印刷电路板(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开发的,而且通常都会采用某些现有的JavaScript前端框架。前端开发人员需要通过大量输出到网页上的文本来创建视觉体验。
常见技术要求不完全列举:
UI/UX设计 用户访谈与人机交互的经验 HTML、CSS、Javascript Web开发框架:Vue.js、React、Bootstrap
许多面向用户的物联网项目都需要使用移动应用作为用户界面。随着项目的推进,移动应用体验的重要性越来越突出。通常,我们需要开发和维护两个版本:iOS和Android。有时也可以开发混合原生应用(通常用HTML开发)。大多数应用开发人员都清楚原生与混合框架的优缺点。
常见技术要求不完全列举:
Android开发、iOS开发 原生/混合框架:Phonegap/Cordova、Ionic、Angular、React、Vue 编程语言:Java、Swift、Objective C、JavaScript
许多物联网项目都需要与现有软件集成。软件集成是一项经常被低估的任务,我们常常需要花费大量精力,运用一套特定的技术才能取得成功。
此外,一旦软件集成开始,你就必须确保集成保持正常运行。这时我们就需要采用自动测试。系统集成和自动化工程师需要拥有大量实践经验和勇气,因为这是一项艰巨的工作。
常见技术要求不完全列举:
自动测试框架:Jenkins、Mocha、Travis REST API 编程语言:Javascript、Java、Python、Bash等
物联网项目都需要围绕数据展开,而且你需要充分利用这些数据。在项目的早期阶段,这部分的工作可能很简单,只需将关键绩效指标放入Excel工作表中进行比较即可。
但是随着项目的发展,你需要针对数据展开更深入的分析。这时就需要数据科学家的帮忙。数据科学家可以通过复杂的数据,寻找模式以及可付诸行动的信息,而这才是数据的最终价值。
常见技术要求不完全列举:
统计、人工智能、机器学习、数据挖掘 编程语言:Matlab、R、Python 工具:Excel、Google BigQuery、Hadoop、TensorFlow、Spark
总而言之,物联网行业是一个很大的概念,一个成熟的物联网项目也需要一系列广泛的技术支持才能取得成功。如果真的对这个行业有意愿,可以结合自身的实际情况和兴趣选择一个目标岗位并为之奋斗。
1
上一篇: web前端开发工程师岗位职责
下一篇: 工程师岗位职责精选15篇