开源硬件的前世今生

在这里插入图片描述

不看这几篇好文,就别说自己了解物联网

 

1、序言

在互联网爆发式增长了几十年的今天,越来越多的末端硬件设备已经具备连接网络的能力,业态也越来越丰富,这就是今天所说的物联网。

作为一个08年就开始玩“开源硬件”的骨灰玩家,本着执古御今,严谨治学的态度,笔者觉得有必要再回头捋一捋,究竟是什么力量在驱使行业飞速发展。

 

2、开源硬件及生态介绍

2.1、简介

开源硬件是指,与自由及开放源代码软件相同方式设计的计算机和电子硬件。

 

开源硬件的前世今生_第1张图片
(图片来源于互联网)

 

开源硬件其实是源于开源软件的,开发开源硬件的工具和运行在开源硬件上的软件,一般都是开源软件,其实是一种非强制的开源文化。开发硬件过程中的详细设计材料,如原理图(Schematic)、原料清单(BOM)、布局图(PCB Layout)等,也都会完全开放。尤其是开源许可证,一般会直接与配套的开源软件保持一致。

 

开源硬件的前世今生_第2张图片

当然,要聊开源硬件,就少不了开源硬件的鼻祖 - Arduino.

 

2.2、Arduino

2.2.1、硬件

Arduino 最初在 2005 年被引入学校,用作微控制器编程教学。那时只是一个很普通的开发板,唯一特殊之处是定义了一套简单易用的IO接口

Arduino is the world’s leading open-source hardware and software ecosystem.
-- arduino.cc

 

开源硬件的前世今生_第3张图片

(图片来源于互联网)

后来 Arduino 因为硬件接口极其简单易用,许多人开始为它开发扩展硬件模块(原名Shield,俗称扩展板或扣板),尤其是在2008年以后,因Arduino开发板和扩展模块成本都极其低廉,开始在国内大量生产。

 

开源硬件的前世今生_第4张图片

(图片来源于互联网)

有了硬件,就少不了需要驱动软件,于是很多爱好者开始为 Arduino 写可重用的软件。直到今天,Arduino 的软件生态异常庞大,市面上常见的包括传感器的各类IO硬件,都有了统一规范的软件支持,集成在 Arduino 软件生态中。

这是 Arduino 对 IoT 领域 2021 年出货规模的预测

Arduino has become the number one choice for electronics makers, especially for developing solutions for the IoT marketplace, which has been predicted to become a $6 trillion market by 2021.
-- arduino.cc

单纯使用 Arduino 的短板也很明显:

  • 基于 Arduino 开发,需要遵循 Arduino 的许可证和相关 Policy,直接将在 Arduino 基础上构建的应用商业化有一些限制。
  • Arduino 自身的开发工具比较单一,仅适合初学者学习之用
  • 阻塞式单线程运行,完成复杂工程需要清晰的状态机设计,性价比并不高

所以后来出现了各类 Arduino 变种硬件及软件,让整个软硬件生态开始多样化,同时其实又是有些“分裂”的。

2.2.2、软件

Arduino的软件设计特别“傻”,一个初始化入口,一个大循环,就是整个应用开发的全部。
然而正是因为这种极简的设计,让非常多非电子工程科班出身的开发人员,得以发挥他们的创造力。

在这种框架下,Arduino编程语言采用了C++最精要的部分,面向对象设计,对硬件原子能力进行抽象,从而使得大量的第三方开发人员可以将其开发适配的各类外设,对接到Arduino软件框架的标准接口上,提供给开源生态使用,再次极大推动了生产力提升。

Arduino Framework 架构图

 

开源硬件的前世今生_第5张图片

 

2.3、Platform IO

大约2014年开始,出现了 PlatformIO ,早期这个开源软件以Arduino生态为阵地,通过“爬取”各个社区和团队产出的硬件和软件库,整合到一套开发工具和生态中,使得 Arduino 系列的生态以及后来的其他嵌入式框架和软件,对于用户而言又归于统一。

开源硬件的前世今生_第6张图片

(图片来源于互联网)

 

现在的 PlatformIO 已支持包括 ST, NXP, Espressif 等10+家厂商的1000多种各类开发板,其中绝大多数是基于 Arduino 及其派生的 framework 来支持 Arduino 模式的应用开发,可以使用其生态中囊括的约11000多个硬件驱动、中间件的软件库。

为什么重点提到PlatformIO呢?因为它类似一个流量入口,把开发硬件的工具和软件生态收敛在一个地方,在Arduino生态的基础上,又形成了更加高效创新力。

 

2.4、更多

不仅板级硬件能开源,芯片架构和指令集也可以开源,比如 RISC-V.

2010年UC Berkerly启动的RISC-V项目迅速引爆了业内的关注,很快几年内就有了相应软硬件产品面世。

开源硬件的前世今生_第7张图片

 

参与了玩家也是相当的多,整个生态正在一条快速上升通道中飞奔。

开源硬件的前世今生_第8张图片

 

3、阿里云与开源硬件

3.1、HaaS

在开源生态的贡献中,阿里从来都是大手笔投入。除了捐给Apache基金会的众多开源软件,也有阿里云捐赠给开放原子开源基金会AliOS Things.

 

开源硬件的前世今生_第9张图片

在开源硬件上,自然也有戏份。

HaaS是硬件即服务的缩写,旗下有多款开源硬件,比如HaaS100HaaS600和刚发布的HaaS EDU K1.

 

开源硬件的前世今生_第10张图片

 

开源硬件的前世今生_第11张图片

 

开源硬件的前世今生_第12张图片

 

3.2、轻应用

如果说HaaS硬件就像Arduino主板,HaaS轻应用则对应Arduino Framework.

和Arduino Framework一样,为了让更多开发人员能够用起来,HaaS轻应用支持JavaScript和Python这类全栈语言,快速在嵌入式硬件上进行应用开发。

同样,HaaS轻应用也是一套开源软件:
Github:
https://github.com/aliyun/haas-mini-program
Gitee: https://gitee.com/alios-things/haas-mini-program

 

结语:开源硬件畅想

聊了这么多开源硬件,可以发现它的发展轨迹是始于开源软件,也终于开源软件的。

回到本文开头的思考,到底是什么推动了行业飞速发展?原因似乎很容易理解,开源并非免费,开源是更多的资源互换,催生更多的交易,从而让整个社会的协作效率大大提升,实与“让天下没有难做的生意”有异曲同工之妙。

自由开放即生产力。

 

更多精品文章

物联网碎片化的一些思考

边缘计算在物联网行业的应用

物联网太难 ? 不妨试试用Python来开发

5G会给物联网行业带来哪些变化?

必须要了解的物联网安全知识

ARMv9能给ARM带来新一轮腾飞吗?(安全篇)

ARMv9能给ARM带来新一轮腾飞吗?(人工智能篇)

国产物联网操作系统的出路在哪里?

RISC-V架构能否引领物联网时代?

物联网到底为什么这么火?

谁才是物联网连接技术中的王者?

物联网平台大量出现能否将行业带入爆发式发展

脚本语言适合物联网开发吗

从“嵌入式”到“物联网”的四大转变

物联网发展新趋势

你可能感兴趣的:(物联网行业知识,&,生态大玩家,开源硬件,物联网,嵌入式,操作系统,arduino)