物联网全栈

  1. 云栖社区>
  2. 阿里云IoT>
  3. 博客>
  4. 正文

物联网全栈

零妖 2019-08-21 22:31:42 浏览852

产品推荐:阿里云物联网开发者工具(IoT Studio),立刻免费体验吧!  
  

物联网全栈

一 零妖理解的全栈

文章来源:https://www.yuque.com/lingyao/hq6gk9/csdcle

零妖理解的全栈工程师是使用多种技能完成产品的工程师。


造房子的全栈工程师可以搬砖水泥走水电;软件全栈工程师可以前端后台APP;物联网全栈工程师可以PCB焊接云平台。


全栈工程师能够通览全局但精力有限所以我们很少看到一个人盖房子的。不同的行业遇到的问题不一样难度也不一样,但最后总结都是“效率”二字。


不能重复造轮子是我们的共识。全栈工程师本质上是整合各种成熟资源达到解决问题的目的。相对于普通工程师,他们熟悉更多的框架,会使用更多的资源,能够协调不同资源之间的配合。

二 效率和收入正相关


零妖上学那会主修“车辆工程”,虽然名义上是电动汽车方向但是大部分的课程都是机械制造部分,那个年代没有听说过特斯拉更没有听说过蔚来,即使他们已经开始慢慢被消费者接受。零妖搞单片机啥的就属于少数人,以至于毕业后没有一个同学是同行,工作之后才接触到了更多玩单片机的朋友。


“做软件工资高,咱一起去北京培训软件开发吧!”这是毕业那会我一个哥们给我说的话。那会正是意气风发,胸怀大志幻想依靠电子技术改变世界,怎么可能相信他的鬼话。一年后他月薪过万而零妖还挣扎在公司的烙铁前,拿着不足3K的月薪,看着貌似很有前途的工作。那帮做汽车结构的同学更是如此,有的同学刚刚在长城汽车制造厂军训完毕........


问:“为啥他培训了几个月的软件开发能挣那么高的工资?”答:“为社会创造了价值!”


玩单片机的必要装备有开发板,示波器,万用表,电烙铁,各种元器件以及焊接技能等等,少说得备货几千块;玩机械制造更是需要各种公差国标,钻铣磨刨,机床加工中心等等,这些装备个人基本上买不起都是百万起步价了;玩软件开发的只需要一台电脑即可,随时随地可以工作。


软件开发的收入高不是因为入门简单,而是软件开发行业有诸多优秀的开源项目,供初学者学习模仿,没有人重复造轮子,大家都在高效地迭代和更新知识,所以软件开发工程师都普遍感觉行业发展太快,必须不断学习和进步。整个行业的效率高,行业又服务于社会,能创造出巨大的社会价值,推动社会进步,比如各种电商平台,物流平台,各种信息流的软件。所以软件开发工程师的收入偏高很正常。


image.png

当下的电子设计制造行业,还存在着很多可以提高效率的地方,从业者的收入还有很大的提升空间!
学习任何知识都不是一蹴而就的,但是经验是可以分享的。当你把解决问题的方法通过网络分享之后可能会帮助很多人节约时间,同理你也会得到别人的帮助从而提高自己学习新知识的效率。


image.png


年轻工程师的成长是不断总结过去的经验而提高自己的过程。在过去我们大部分人使用“单机”绘图软件比如PADS,同学之间想交流都得拿个优盘跑来跑去;大部分的嵌入式开发者都是“单机”工作,单片机的程序库来之不易,关系好才复制给朋友用。因为知识交流的渠道窄,一个又一个的年轻工程师重复造轮子,重复犯错,工作效率不高,出不了活,收入自然不高。


显然,高效率工作能带来高收入-->不重复造轮子能提高工作效率-->分享自己的经验能避免重复造轮子。

三 高效的供应链协同

SAS系统的大规模部署和云计算的飞速发展都离不开几家科技巨头的身影,是他们建设了基础设施,定义了行业标准,广大程序员的辛苦杰作才得以快速商业化部署,技术和行业才有源源不断的动力高速发展。电子设计制造行业也需要类似的组织或团体来充当基础设施建设的角色,帮助行业应用快速落地商用。

1,硬件设计需要团队协作

嘉立创集团经过多年的积累,已经建设了很多基础设施,比如绘制原理图PCB的EDA软件,PCB制造产业,正品元器件供应链,SMT加工制造业等。


硬件设计的落地上,零妖自己一直在用嘉立创集团的产业链。从画原理图到实物打样只需要平均一百多块的成本和一周的时间。


绘制原理图和PCB使用LCEDA,一个纯国产的EDA工具。开发者不需要花费力气学习如何使用工具,只需要用心做好自己的产品。大量的原理图库,PCB封装库都已经准备好了,拿来就能用。不用安装复杂的环境只要电脑安装谷歌浏览器就能使用,手机、平板、苹果电脑都能使用。在线协同绘图,历史版本管理,开源分享硬件资源.....


image.png

在立创商城可以购买到大部分常用的电子元器件,并且可以通过物料编号直接在LCEDA中搜索封装去绘制原理图,嘉立创的SMT打样服务也和这个编号绑定,如果你设计电路的时候参考SMT的可贴片库,那么你的设计中大多数的元器件可以直接使用SMT服务焊接好,自己动手焊接一些简单的直插件或者封装较大的器件即可。
image.png


从原理图设计到样品落地,嘉立创提供了一站式的高效服务,能满足80%的常规需求。LCEDA还可以在线协作,分享开源硬件项目,能够帮助工程师快速成长。这条高效的产业链降低了从业者门槛,提高了工作效率。

2,嵌入式开发需要齐心协力

谈到嵌入式软件的开发更是百家争鸣。首先是芯片的内核种类多比如51系列的,ARM系列的,精简指令集系列的;其次是开发环境的多样化比如Keil,IAR,GCC编译链;再者是调试仿真环境和烧录器型号的差异等等。这些沟壑的存在导致行业难以形成统一规范,代码块的复用率就相当低。基本上每个工程师的编码风格都不一样,个人的代码块很少被他人快速复用。


嵌入式操作系统可以帮助我们提高效率。如果是非常简单的需求那么裸机开发又好又快,如果是涉及到不同的通信方式,需要调度多种不同的外设资源那么一定要用操作系统来帮你提高效率。国产优秀嵌入式操作系统RT-Thread能够非常好地满足这个需求。
image.png


尤其是物联网行业风口来临的前夕,让设备联网成为了刚需。各种复杂的通信协议,传感器的底层驱动等等就不要再重复造轮子了,只要你的MCU能够很好地运行RT-Thread,那么你就可以直接使用这些库来加快你的开发速度。搭载RT-Thread的设备已经出货超过两亿台,其架构的稳定性和可靠性是经得住市场考验的。


RT-Thread团队开发并维护着Env工具。此工具针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。开发者使用此工具作为辅助,可以得到基本上一致的开发环境,交流问题,代码库的复用等就变得更简单高效。

如果你的项目中使用RT-Thread,你就可以使用Git来管理你的代码,团队协作也更加容易,成熟代码库的分享也变得更简单。

如果你的需求只需要4G网络或者2G网络,零妖会推荐你使用上海合宙的通信模组。合宙的开发团队维护着一个叫 LUAT 的嵌入式操作系统,其开发门槛更低,属于脚本语言的一种。开发环境和下载方式都特别简单,非常适合应用在通信类的项目中。
image.png


物联网项目大多数是通信项目,需要做的大多数工作其实是处理各种数据流。合宙团队维护着一个LUAT用的代码库,可以解决大多数的疑难杂症,开发者只需要将精力集中在自己的业务逻辑上即可。这样的做法和RT-Thread团队开发库的做法是一样的,可谓英雄所见略同。


零妖介绍的两种系统只是各种优秀操作系统中的一部分。RT-Thread是基于C语言的,其执行速度快响应速度快但是入门较困难,LUAT是脚本语言(运行在解释器上面的代码片段)执行速度相对较慢,响应也较慢通常为毫秒级,但是入门简单。零妖认为两者可以优势互补。一个解决嵌入式的实时业务逻辑比如响应速度在几毫秒之内的需求,另一个解决系统中的通信层和简单业务逻辑。


当大家都使用同一种风格写代码的时候,代码的复用率将会很高,同行的互相交流将变得容易,“码农”的效率能够快速提高。

3,云平台对接需要规范标准

物联网行业随着云计算技术的成熟而开始蓬勃发展,在过去的几年市场上涌现了很多物联网平台供应商。作为一种有战略价值的基础设施,一定要扛得住造。阿里云作为大型供应商是开发者的不二选择。近两年来行业里的竞争日益激烈,各种抱团,各种联盟层出不穷。但是大多数都是在单打独斗,各自都有一套自己的标准,不利于产业化规模化。


阿里云IOT平台提出了一个叫ALink协议的规范标准,开发者都使用这一种协议接入阿里云平台,那么就有望实现不同厂商的设备无缝替换,即有利于行业良性竞争,又有利于开发者敲代码。使用标准协议接入阿里云物联网平台后,你将拥有一切云计算该有的能力,比如大数据分析,机器学习,数据可视化等等。
image.png
推荐直接使用阿里云提供的 IOT Studio 平台。它是一个能提高生产效率的有力工具,可覆盖各个物联网行业核心应用场景,加速物联网SaaS构建。物联网开发服务提供了移动可视化开发、Web可视化开发、服务开发与设备开发等一系列便捷的物联网开发工具,解决物联网开发领域开发链路长、技术栈复杂、协同成本高、方案移植困难的问题。
image.png


当你的设备通过ALink协议接入到平台后,你便可以通过一套标准的API接口来操作你的设备。此后再和前端团队对接就简单了一百倍,嵌入式团队负责调通API即可,剩下的用户体验需求由前端团队来做,改来改去的事情就交给前端团队吧。这里没有提到运维团队,因为运维工作阿里云做了。你看,这样一来又降低了开发门槛,可以让你更加专注于自己的核心业务开发,服务好你自己的客户。

三 开源互助,人人参与


物联网的全栈涉及面广行业跨度大。得益于国内优良的市场环境培育出了一批高效的协同供应链。上述的几家公司都是各为其主,早就开始布局自己的产业,如今来看他们好像商量好了一样,各自分工明确。


有标准,有工具,还有方法和套路,就等你上车了!


行业的发展离不开每一位开发者贡献自己的知识,零妖希望各位开发者在漫长的开发路途中,不忘分享,乐于助人,将自己的经验分享出去,开源互助,人人参与。