购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1.4 低代码开发之硬件支持

1. C#硬件开发

美国GHI公司是最早并且持续支持.NET Micro Framework的硬件公司,推出了不少基于.NET Micro Framework的核心板(如图1.1.8所示)。可以采用这些核心板做工业产品设计,然后使用C#或VB.NET快速开发各种应用。相对于其他低代码快速开发语言,采用.NET Micro Framework开发是支持在Microsoft Visual Studio环境里进行断点设定、单步运行等调试功能的,并且由于是编译后运行,所以执行效率也是远超一般的脚本语言。

Netduino是支持.NET Micro Framework的轻量级开发板(如图1.1.9所示),从名字上可以看出它是对标Arduino开发板的,它有Netduino标准版、Netduino 2,还有Netduino plus版本,可以快速用C#/VB.net操控硬件,只要熟悉.NET开发的软件人员,是非常容易上手的。

● 图1.1.8 GHI .NET Micro Framework核心板

● 图1.1.9 Netduino开发板

笔者从2006年开始知悉.NET Micro Framework,并于2008年进入微软中国工程院.NET Micro Framework项目组工作四年,由于之前一直在工控领域工作,非常看好.NET Micro Framework在硬件层面的低代码快速开发能力,所以创业后,设计并推出了若干款工业级的,可直接用C#开发的物联网智能网关(如图1.1.10所示)。

2. JavaScript硬件开发

相对较早支持JavaScript开发的是Ruff开发板(如图1.1.11所示),可以采用Web前端开发者比较熟悉的JavaScript语言快速实现硬件层面的操作。

比较成熟,且大力推广JavaScript开发的是阿里云物联网团队最近推出的HaaS 200和HaaS 600系列硬件(如图1.1.12所示)。所谓HaaS就是Hardware as a Service硬件即服务,该硬件底层基于阿里云AliOS Things操作系统,集成了JavaScript引擎及云端适配模块,可以采用JavaScript语言快速开发基于HaaS标准的各种物联网硬件产品。

● 图1.1.10 叶帆科技工业级物联网智能网关

● 图1.1.11 Ruff开发板

● 图1.1.12 阿里云HaaS硬件系列

3. MicroPython硬件开发

当下学习Python语言的人越来越多,几乎成为大众编程开发的启蒙语言。其使用占比和排名第一的C语言之间差距越来越小,大有超过C语言成为第一名之势。所以相对其他开发语言,在硬件开发层面,支持MicroPython的开发板非常多。比较典型且影响比较大的MicroPython硬件开发板有阿里云HaaS硬件系列的板子(如图1.1.12所示),它不仅支持JavaScript,还支持MicroPyhton。还有上海乐鑫的ESP32 Wi-Fi模组及各种衍生开发板(如图1.1.13所示),上海移远4G Cat.1的通信模组(如图1.1.14所示),都支持采用MicroPython进行物联网应用的快速二次开发。

● 图1.1.13 乐鑫的ESP32 WiFi模组

● 图1.1.14 移远4G Cat1的通信模组

4. Lua硬件开发

上海合宙公司推出的2G/4G等无线模块都内嵌了Lua引擎,并完全开源了硬件开发板(如图1.1.15所示)。仅采用通信模组,不需要外挂MCU,就可以采用Lua语言直接开发嵌入式产品。相对于其他公司的OpenCPU,采用C/C++开发的框架方案,Lua开发更容易上手,所以这个功能一经推出,就得到了广大用户的欢迎,各种轻量级物联网应用如春笋一样破土而出,这也是上海合宙公司能得到快速发展的一个原因。此外广州大彩的LCD串口显示屏(如图1.1.16所示)也支持Lua开发,可以采用Lua脚本语言,进行个性化的LCD应用程序开发。

● 图1.1.15 合宙Lua二次开发通信模组

● 图1.1.16 大彩Lua二次开发串口屏 xE7XvwECxcSV6A0JQyJbiVKkiyZF3CsOsmDSoi2xi/EGw9h8A1LOqVrOZfMHLF2H



1.1.5 低代码开发之平台支持

从前文所述内容,我们已经了解了 物联网是一个从云到端涉及众多环节的领域 。所以低代码开发不仅仅是物联网硬件设备上的低代码开发,更需要平台层面的低代码快速开发支持。

物联网和互联网有所不同,笔者一直认为物联网更有工业自动化领域的基因。所以在物联网领域的项目开发和实施上,更应该从工业自动化开发领域的经验出发。物联网平台的发展,从当前实际发展的过程和结果来看,似乎也遵循了这一认知。

工业自动化领域最重要的两个控制系统概念,第一个是DCS(Distributed Control System,集散控制系统),又称为分布式控制系统,从4~20mA模拟量采集网络发展而来;第二个是FCS(FieldBus Control System现场总线控制系统),从PLC(Program Logic Control,可编程逻辑控制器)组成的网络发展而来。两大控制系统都离不开一个平台软件,那就是工业组态软件。

工业组态软件很多,比如国外的iFix、InTouch、WinCC,国内的组态王、力控、MSCG等。组态软件的出现彻底解决了软件重复开发的问题,实现模块级复用,不仅仅是提高了开发效率,降低了开发周期,更大的优势是成熟模块的复用,大大提高了系统稳定性和可靠性。

所谓组态(Configuration)就是模块化任意组合(类似积木玩具)。组态软件的主要特点如下:

1)延展性。所谓延展性,就是系统的延续和易于扩展性,用组态软件开发的系统,当现场或用户需求发生改变时(包括硬件设备或系统结构的改变),用户无须做很多修改,就可以很方便地完成系统的升级和改造。

2)易用性。组态软件对底层功能都进行了模块级封装,对于用户,只需掌握简单的编程语言(内嵌的脚本语言、类Basic或类C语言),甚至不需要编程技术,就能很好地通过组态配置的方式完成一个复杂系统的开发和集成。

3)通用性。不同用户根据系统的不同,利用组态软件提供的I/O驱动(如PLC、仪表、板卡、智能模块、变频器等)、数据库和图元,就能完成一个具有动画、实时数据处理、历史数据和图表并存,且具有多媒体功能和网络功能的系统工程,不受领域或行业限制。

最开始的组态软件,数据采集部分和界面展示部分是紧密结合在一起的。后来从大庆油田监控项目走出的力控组态软件,由于数据量众多,率先把数据部分从组态界面中剥离出来,有专门的数据处理模块IOServer。

纵观阿里云物联网平台的发展,也有类似的发展进程,阿里云最初推出的物联网一站式开发平台(Link Develop),就是一个典型的可以称为网络端或云端的组态软件。随着后续的发展,阿里云从物联网一站式开发平台中剥离出数据部分,发展成为今天影响深远的物联网开发平台,而界面部分则成为今天的IoT Studio物联网应用开发平台,又称为物联网低代码开发平台。

和物联网技术脱胎于工业自动化,又高于工业自动化一样,物联网开发思想也是高于工业自动化的开发思想。工业领域其实更注重的是业务生产的过程数据,就如最初的面向开发过程的编程开发思想进化为面向对象的开发思想。从工业开发平台进化到今天的物联网开发平台的过程,也遵循了这一进化途径。所以物联网平台是需要建模的,针对不同的物联网智能硬件,都需要建立一个与之对应的物联网模型。不仅仅是数据部分需要建模,界面部分也是根据实际需要针对具体的智能设备,进行组件化建模。为了更进一步推广和发展这一思想,阿里云IoT联合ICA联盟,在2018年发布了“物模型”,旨在打造一个能够让各种各样的物理空间实体在云端进行数字化展示的工具,缩短开发时间、标准化开发工具,同时融入多领域的物联网应用。

和阿里云物联网平台一样,在设备端,叶帆科技公司同样汲取工业自动化组态软件的思想,开发并推出了YFIOs数据组态系统。YFIOs就是YFSoft I/O Server的简称,和传统组态软件不同,YFIOs具备远程调试、远程升级等这种云时代的物联网技能。传统组态软件,其组态类似搭积木,组态粒度类似于积木块的颗粒度,大部分通过串口、网口、CAN等通道把一个个系统模块连接在一起,在一定程度上增加了系统构建的成本和代价。

而以.NET Micro Framework为依托构建的轻量级嵌入式组态软件(YFIOs)就很好地解决了上述问题,除支持常规的串口、网口、CAN外,还支持USB、Wi-Fi、ZigBee、SPI、I2C等通道,SPI、I2C片级总线的支持加上强大的托管代码(C#,VB.net)开发能力,使嵌入式硬件系统真正组态化、模块化成为可能,这个平台的推出,无疑为快速打造形态各异,功能不同、高扩展性和高性价比的物联网产品和系统提供了最有力的支撑。 xE7XvwECxcSV6A0JQyJbiVKkiyZF3CsOsmDSoi2xi/EGw9h8A1LOqVrOZfMHLF2H

点击中间区域
呼出菜单
上一章
目录
下一章
×