作为一名计算机科学专业的学生,​​我如何在正规教育之外培养物联网工作的技能?

物联网 硬件
2021-06-21 22:34:20

为了在计算机科学相关领域取得好成绩,大学生必须做的不仅仅是获得学位——他们必须超越自我,与该领域的其他人竞争。

作为一名计算机科学专业的学生,​​我对物联网的软件方面比较满意,但对电子方面和支持互联网的传感器/设备的整体结构不太满意。

在物联网方面,我可以做些什么来发展我的技能?特别是,我对我的 CS 课程可能不会在大学里教授的东西感兴趣,以帮助我将来找到工作或在该领域取得进步。

4个回答

我曾在一个现在教授物联网的部门担任大学导师,当涉及到让你的手弄脏一些玩具而不仅仅是学位时,你的观察是正确的许多计算机科学家与通信工程师、生产工程师等工程师合作,提出独特的解决方案,使物联网成为一个有趣的应用。

我认为您可以从研究不同的通信协议栈开始,例如:

  1. IEEE 802.15.4包括无线传感器网络和众所周知的ZigBee 等领域看看Contiki-OSRIOT-OS传感器节点本身的成本确实要高一些,但是可能在该领域工作的大学部门可能会为您提供一些可以玩的。

  2. 昂贵的工具,如果您联系研究机构和/或行业,我建议您可以开始了解Weightless PSigFoxLORAWAN等。这些将为您提供有关电信、3G 和 LTE 等堆栈及其参与的详细见解物联网工业 4.0

  3. 物联网正在智能家居和自动化领域取得进展,因此您可以查看openHABOpenThread工具并作为计算机科学专业的学生开发有用的 API。

  4. 最后但并非最不重要的一点是,任何类型的开源平台设备,如 Raspberry Pi 和/或其他微控制器,都可以与上述技术的无线通信模块结合使用,以提出简单和/或复杂的物联网解决方案。

工具

作为物联网技术人员,C/C++、Java 和 Python 等编程语言将带你走很长的路。前端开发、HTML、CSS、JavaScript 和 jQuery 等将使您更好地理解处理 Internet 数据类型(如JSON、XML、纯文本、CBOR等)和后端(如 Node.js、Flask by Python 和Ruby on) Rails将帮助您设置最常用的服务器客户端模型。

Git和开源存储库将让您快速了解可用于您即将开展的项目的应用程序和各种 API。

你越深入,你的工具处理技能和对物联网的理解就会越好。

物联网运行的计算范围很广,涵盖了大量的技术、实施和策略。简而言之,它只是意味着事物已连接到通信渠道,例如互联网。了解事物如何与事物联系可能是关键:消息传递、事件、流。

我会拿一些小设备,不管它们是什么,但最简单的是基于 Arduino 或基于 Pi 的。使用 WiFi 或现有云支持的东西(例如 Photon)获取一些东西。

在上面贴一些传感器。温度是典型的例子。开始吸收数据并存储它。然后获取该数据并对其进行分析;任何数量的方法来做到这一点。

如果您对分析方面更感兴趣(这里的通信并不是真正困难的事情——图书馆会处理它,无论是 WiFi、BT、ZigBee 还是……)然后有很多数据集,例如纽约地铁十字转门数据.

物联网是巨大的。它不仅包含其背后的计算机科学,还包含 Google Home 等家庭应用程序。如果您最终进入销售领域,了解有关可用设备的知识可能会有所帮助。

个人推荐几点:

1.订阅好杂志。

有大量的杂志和最新的文章可以帮助您与物联网世界中发生的事情保持同步;物联网进化杂志是我经常阅读的一本。另一本包含大量宝贵技术信息的杂志这本 M2M 杂志

2. 获取一些物联网设备。

这对您的计算机科学没有多大帮助,但它确实让您熟悉了可用的内容。根据您在哪个领域工作,对可用内容的广泛全面了解可能会有所帮助。考虑购买一些物联网交换机并安装,甚至在家中创建自己的物联网设备。

只是我的 2 美分(在加拿大四舍五入),但希望它有所帮助!

至于其他的答案已经指出,最好的学习方法是-in这种情况下,潜水和从开始设计的设备来完成,以获得参与物联网发展的过程和步骤的感觉。

这是一个与您在软件工程/编程中遇到的问题非常相似的问题——许多大学课程教他们的学生计算机科学,即软件开发背后的理论和概念。但是,经过 3 或 4 年的学习,他们被扔到外面去寻找编程工作,而且他们缺乏成为成功开发人员所需的实际技能。

在印度,有人声称只有 7% 的毕业生实际上可以担任软件工程师,因为:

国内广大工科生在读课本、考试、拿到学位的同时,也只有在遇到现实世界的问题时,才意识到自己的不足。到那时,他们必须花额外的时间来提高自己的技能或遭受失业。

我相信您可以在这里看到相似之处——如果您想进入物联网领域,您需要能够了解如何开发设备及其所需的基础设施


但是,当您开始制作原型时,需要考虑以下几点:

  • 它不需要具有革命性——作为一个学习项目,做一些简单的事情并没有错。这里的关键是要有一个可实现的具体目标

  • 有了目标后,将任务分解为步骤会很难如果这是您的第一个项目,您一定会感到有些失落。这里重要的是...

  • 有一群可以帮助你的人。如果你在教育机构工作,那么你很幸运——会有很多充满热情、知识渊博的人。几乎可以肯定,他们会感兴趣并愿意帮助您;毕竟,每个人都应该是他们的,因为计算机科学是他们的激情所在!

如果您找不到任何可以提供帮助的人,总有爱好者、专家和高级用户的网站可以为您提供一些建议!