物联网工程专业该怎么学?老学长吐血整理!!

笔记 同时被 2 个专栏收录
9 篇文章 0 订阅
13 篇文章 0 订阅

你为什么学物联网?

作为一名物联网工程专业的学生,不知道你是否已经搞懂了什么是物联网,和大多数专业的同学一样,我们都会对自己的专业产生困惑!不学物联网去学其他专业就不困惑了吗?肯定不是!身为人肯定都是对自己的未来保持好奇和探索,正是这种探索的精神,支撑着我们走完自己的人生,也引导的人类的不断发展!
我也是某双一流大学物联网工程专业的学生,总觉得,学弟学妹们像当初我自己一样,都在说什么是物联网,但是对物联网要学些什么,能做些什么事情感到很困惑。作为一位老学长,我想从专业的学习内容和一些课设项目,来向你证明,物联网是要做什么的!但是可能我自己也水平有限,没有办法达到尽善尽美,有不正之处,请多多指教!

我学物联网的感jio~

什么是物联网??这个想法再正常不过了,那个高三刚毕业的学生能搞懂这仨字?!我当初高考完填报物联网工程专业,很大程度上在于,分数不够,哈哈哈哈哈哈哈!,在仅剩的供我挑选的专业中,就觉得这个词特别的酷,有那种,万物互联,天下大同的感jio,🆒就完事了~~

专业的基本思想,什么都能联网

对我物联网意识具有启蒙作用的,就是我们系主任讲物联网工程导论的那句,课前必提的问题“同学们,什么是IOT?”“Internet Of Things!”我们都一块高喊着回答,系主任眯着眼说,“这就对了,上完我的课记住IOT,我就很满意!”大一实在是没啥专业课,都是一些大学英语,高等数学等等这类通识课,唯一的专业课也就是C语言了。“物联网”这个概念又晦涩难懂,很容易就搞不懂自己在学什么了,课下就知道一通乱跑,,,,,说的就是我了!巧就巧在,C语言的独特性,对于初学编程的人,学习C语言是肯定大有脾益的,但是C语言在入门的时候,很难做出自己的小项目,C语言连冒泡算法都得自己写,写个几百行的贪吃蛇,已经够吹好几个月了吧。。相反,我有学大数据专业的同学,他们专业就专门学Python,在一起聊天的时候,他都在乱搞项目“怎么与服务器之间用Socket传输文件”、“怎么爬取网上简单的数据”、“怎么做一个UI界面”,相比之下,我就会指针,栈,队列······,完全没法比嘛!就给自己一种感觉,自己白学的编程一样(但是,后来自学了Python,不就是调包就完事了,狗头保命!)**Python虽然能很快做出东西,但是做出的东西,你自己可能都不知道咋做出来的~。这就是我想说的第一个点:好好学好自己该学的东西,跟着学校走,把知识弄扎实,再去想其他的。**不管大学期间你参加什么活动,在大学期间,你没有把学校安排的课程学精学透,对你自己来说都不是最好的结局!

拽到万物互联上

“万物互联!”什么是万物互联?物联网拽的每个词,都能搞蒙你,就是高大上,就是狂拽酷!对于这个名字的概念,我的理解是在最开始学C51单片机的时候,第一次接触硬件,跑起来无敌的走马灯程序的时候,那种感觉对我来说很奇妙,众所周知,计算机的世界是二进制的,如果一个小灯的亮灭,分别表示“0”和“1”,就像最初组成计算机的二极管一样,这种能力的潜力是无限的。当你控制了一个小灯,攒到了一个bit的控制权,如果这个量变得更大呢??那岂不是能够掌控身边的所有事物。“万物互联”追求的就是对身边物品的控制力罢了,互联就是为了方便自己控制。最基础的,肯定是“物”了!我们就来研究研究什么是物联网中的“物”!我们从身边的物开始推导,你可以说,桌子是物体,杯子是物体,笔记本电脑也是物体,但是物联网中的物体肯定是能够彼此建立连接的物体,所以普通的桌子或者板凳肯定不算物联网中的物!但是如果你说,你能通过某种方式(手机遥控、遥控器遥控或者它会自动调节自己的高度适应椅子上的人)控制它做出一些反应,那么我觉得,这时候,这个“物体”就是物联网的一部分。或许你会纳闷了,为什么他自己动也算呢?欸?!这个问题很棒,这就是物联网和互联网的不同,互联网的的组成都是计算机(路由器也算一种计算机),而**物联网的范围更大,更广,包含了人与人,人与物,物与物之间的联系。**举一个物与物的例子,比如,你一家人兴冲冲地开着家里刚买的电动汽车出去嗨,晚上回来了,当汽车快到达家门口的时候,车库门缓缓升起,这就是一个物与物之间的联系。人的行为和环境中的所有组成都融为一体,这就是我心中的物联网。

专业思维

随着这种想法的吸收,我就产生了一种思维,身边所有的东西,都能做成物联网中所谓的“智能产品”或者说,所有的物品都能拿来改造成自己的项目。但是随着时间的推移,这种想法很不切实际,因为,生活中不是所有的东西都需要变得“可控”(这里指代能以控制或自主做出一些行为)。我们还是以一个bit为例,这样方便大家,拓展到其他物品上。就说客厅灯的开关为例,如果我们想要改造它,我们需要做哪些事情?或者,这个开关要用来干什么。毫无疑问,开关是需要保证它的断开和闭合状态可控就行,也就是说,它就只需要最基础的控制而不需要复杂的逻辑来工作。根据这个想法,我一直将我以为的物分为两种:一种是可控的物,一种是智能的物。(我自己编的词儿~)。可控,即是我们可以控制一个物体的状态为我们所用;智能,即是它能主动的为我们提供服务(说到这里为了表示专业,不得不说一下“泛在感知”,泛在感知就是一种理想化状态,我们享受着服务,但是也不知道,我们正在被服务。但是现阶段的物联网远没有这么先进,所以,我才会产生这两种分类方式)。总之,当我们专业的同学希望在项目中实践时,我们应当选择“智能的物”为方向,这样才更容易做出来成果!

为什么学硬件开发?硬件学习方向

对于物的控制靠的就是硬件方面的知识了。就我个人的学习经历来看,实现对物的控制和编程有以下几种方向:
  • 最简单的控制,C51单片机,成本低,开发较简单,但是但是不容易做出复杂的项目。常见的项目大多为:跑马灯,裁判投票器,红绿灯,电子琴等基础项目,在这个学习阶段,我们可以尝试一些复杂的项目,比如:用蜂鸣器放一首歌,用模拟软件仿真设计等。我们当时学习的时候就用的Proteus这款模拟仿真软件,可以用C语言编程的,无敌方便,又能做很多复杂的设计。
  • 入门版的Arduino,没有任何看不起Arduino的意思,完全是Arduino太好用了,社区贼拉活跃,源代码和项目也很多,IDE自带很多示例项目,直接烧进板子就能用,YYDS!在对Arduino的学习过程中,起步要对传感器做一些实验,比如:使用温湿度传感器、光照传感器、数码管、LCD显示屏显示数据,步进电机、舵机、直流电机这些设备来练手,对这些东西活学活用,就已经能做出像模像样的设计了。进阶版,当然是要加上WIFI、蓝牙、Zigbee、红外这些无线的通信模块了。
  • 经典的STM32系列,STM32开发板引脚多,功能强大,能够设计出很多复杂的设计,加上IIC、UART等这些接口,可以说是基本无敌。在市场上的份额也很大。和Arduino一样,基础的学习也是,熟练的使用STM32驱动一些传感器,但是STM32的能力更强可以设计指纹等复杂的传感器。STM32进阶当然是融合着操作系统的知识,学习一下FreeRTOS等实时嵌入式操作系统!!!(实时操作系统和普通的操作系统有什么区别?这是前不久面试刚被问的,然鹅,不会尴了个尬,千万不要和我一样整天叫的响,实际啥也不懂)。
  • 继续提升难度,我们需要开始接触Linux了,Linux绝对是永远的神!!学习嵌入式Linux操作系统的移植,这个阶段我们可以看一些Linux内核的源码,学习他的先进经验,这就需要十分扎实的C语言基础,那可得相当扎实!!!可以先从Linux最初的版本开始,越往前代码量越少的哦~,我们可以学着给Linux操作系统编写驱动文件,驱动我们的传感器,将Linux内核裁剪,烧录进我们自己的开发板中。最后,学到差不多了,就可以做出一个运行着Linux系统的庞然大物。
  • 最后的难度,我只能说给你们一些学习的路线,因为我也没学到······很火的FPGA啊······,清华大学开放的操作系统课啊······华为发布的处理器啊······学一学怎么PCB制板·····啊······学一些模拟电路的知识啊~大概就这么多,最后我会放一些网站供大家学习。
    终于说完硬件部分啦!!再来聊一聊软件部分吧~

为什么学软件?软件的学习方向

无敌经验,百试不爽!一个项目必须得有一个前端界面来展示,否则就算硬件叼炸天,别人都看不出来,只有用优美简洁的界面展示复杂的操作,别人才会懂,项目有多强!做一个项目的界面的话,我也按照硬件分分级别吧~
我认为最简单的就是Python了,一个PyQt打遍天下无敌手,毕竟Python真的很方便,不需要造任何轮子,而且只要你想到的东西,都有人在做。使用Python作为桌面控制程序很方便,Python自己的特性,也很容易通过Socket、TCP、端口、串口、蓝牙、WiFi等等任何你想得到的方法,无缝接入你自己的项目中。
  • 不太容易上手,但是很好用的安卓开发!安卓也是有很多开源的项目可以使用,加上手机的便捷性,使得使用安卓作为控制端和展示端都有着独特的优势,你可以尽情的调用手机任何功能,做你想做的事:震动、NFC识别、拍照、人脸识别、WiFi、蓝牙、陀螺仪,简直就是硬件宝藏库!!!和Python一样,只要你学到了安卓的基本开发流程,也是百试百灵!

  • 最难的应该是搭建网站了,需要涉及到很多知识,Java开发,前端开发VUE、CSS这些东西。很有幸,自己在这个暑假搭建了属于自己的网站,备案了自己的域名,有兴趣的同学可以私信我一起交流哦~。言归正传,网站开发,需要你有扎实的实力,一颗折腾的心!

我想把软件分为两部分来说,上面的技术可以配合着做一些项目的东西,下边的东西,是我觉得,对物联网学习,也很有帮助的一些方面:

  • 如果有能力,有时间,强烈推荐一下学学神经网络、卷积网络、KNN算法、matlab这类知识,答主我是一直想学没学会~对自己的成长和进步肯定是没得说的。
  • 如果想做软件的开发,可以学一下Java、和Java的开发框架,Java能够快速的搭建自己的项目。学会了Java可以开发网站、开发安卓APP等,十分意思。
  • 尝试搭建自己的智能家居平台和智慧城市方面的东西,比如GIS这些(我也是只知道,但确实是很有意思的东西,感兴趣自己去百度吧~)。

以上就是我自己目前对物联网专业的想法了,如果有大神发现有什么不对劲,欢迎批评指正,为了多和来自不同学校,不同地区的物联网同学们一起交流,答主创建了QQ群:559369389 有兴趣可以来玩哦~哦,不!来学习交流知识!

最后的最后,给大家放一些我自己总结的干货和一些好的学习资源!
[自制]基于51单片机的交通信号灯仿真(汇编、keil、Proteus)
AT89C51 蜂鸣器 播放音乐 按键控制 51单片机
【太极创客】零基础入门学用Arduino 第一部分 合辑
【正点原子】STM32开发板实验教程(F103)
正点原子【第三期】手把手教你学Linux之系统移植和跟文件系统构建篇
【尚学堂】AI人工智能卷积神经网络算法_卷积神经网络原理_人工智能从生物神经网络到人工神经网络
【狂神说Java】Java零基础学习视频通俗易懂

交流QQ学习群:559369389
关注微信公众号:“修电脑的杂货店” 每天掌握核心知识!biubiubiu~

  • 9
    点赞
  • 3
    评论
  • 14
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值