1 Star 0 Fork 32

jd3096p / HaaSEDU

forked from haasedu / HaaSEDU 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 9.75 KB
一键复制 编辑 原始数据 按行查看 历史
angle3839 提交于 2022-05-06 08:24 . !26 HaaS EDU repo upgrade

学习物联网,来HaaSEDU就对了

IoT简介及HaaS云端一体开发框架

   本节主要对物联网的基本概念及HaaS云端一体开发模式进行讲解,然后在此基础上完成第一个设备端helloword应用程序。章节划分如下:

  • 物联网简介
  • HaaS云端一体开发框架
  • helloworld

物联网简介

   物联网(Internet of Things,简称IoT),顾名思义,就是将物体连接起来形成一张互联网,实现信息数据的传递和交换。

   物联网是指通过各种传感器技术、射频识别技术(RFID)、全球定位系统(GPS、北斗等)、激光扫描等各种装置与技术,采集物体的声音、光学信号、力学、化学、生物特征及位置等各种信息,通过网络连接,实现对物体的智能化感知、识别和管理,从而实现物与物、物与人的信息传递和交换。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络,最终实现万物互联。

   物联网是继计算机、互联网之后的第三次信息技术革命发展的浪潮,其核心和基础仍然是互联网,是在互联网基础上的延伸和扩展出的更广泛的网络,从广义的角度来讲也可以称为是泛在网络,物联网包含了各种各样的物体连接组成的网。随着近十年物联网建设速度的加快以及物联网应用场景的扩展,数以亿计的物联网硬件设备正在被加速部署,以实现万物互联、物理世界数字化的宏大愿景。 根据全球移动通信系统协会(Groupe Speciale Mobile Association,GSMA)的预测,到2025年,全世界的物联网设备连接数量将达到近246亿个。如此庞大的物联网络将产生海量的数据,借助AI、云计算和大数据等新技术的应用,必将深刻影响人和物理世界信息交换的方式,人和物将在数字空间更好的融合相处。

物联网的层次

   传统上,物联网从逻辑架构上一般分为四层,从底向上依次为:感知层、网络层、平台层和应用层。在AIoT时代,本课程将分为五层来介绍,从底向上依次为:感知层、智能层、网络层、平台层、应用层。

   其中感知层主要用于采集物理世界中发生的物理事件和数据,典型设备有RFID读写器、无线传感器、图像采集设备等;智能层主要是借助AI技术实现智能化计算,包括离线的本地AI计算和云端一体的AI计算;网络层主要是利用现有的各种网络通信技术(有线传输或以蓝牙、Wi-Fi、ZigBee、NB-IoT、LoRa、4G、5G等为代表的无线传输技术),对来自经过智能层初步筛选处理后的数据进行接入和传输;平台层主要用于设备管理,为上层服务和行业应用建立一个高效、可靠、安全的通用计算平台;应用层根据用户需求建立面向行业实际应用的管理平台和运行平台,并集成相关的内容服务。

传统物联网开发V.S.端云一体物联网开发

   传统物联网系统中主要是使用物联网终端的计算能力,但物联网中断的资源都是比较受限的,随着云计算的普及,通过物联网云平台可以很好的扩展物联网终端展现出来的能力,特别是物联网操作系统云端一体能力的设计,让受限的物联网终端也可以轻松调用到云上丰富的算力资源与服务,物联网+云计算实现了整个物联网数据的全生命周期管理。

   随着近些年物联网行业的发展,国内外各种行业都有使用物联网对传统的生产生活方式进行改造升级的案例。目前物联网在智能家居、智慧城市、智慧能源、车联网、物流、安防、医疗、智能制造、商业零售和智慧农业等行业中都已经有了非常广泛的应用。

HaaS云端一体开发框架

   HaaS开发框架是基于HaaS(Hardware as a Service)理念打造的物联网云端一体开发框架,区别于传统物联网嵌入式设备开发模式,HaaS开发框架从硬件层面开始设计,融合了操作系统,软件架构以及云端平台等基础设施和软件方案,打造成易上手,低门槛,面向物联网开发者的新型开发模式。在这种新型开发模式背后,开发者面临的主要问题和以及解决方案是什么需要进行深入的思考和探讨。

   首先,从硬件生态出发,HaaS提供了自研系列开发板,这些开发板支持丰富的外设,比如显示屏,摄像头以及传感器等。其次,由于物联网设备场景和设备形态的巨大差异性,导致物联网设备严重的碎片化问题,为此,HaaS提供了统一标准的物联网操作系统:AliOS Things,它可以屏蔽底层硬件差异,支持低、中、高端硬件能力,并向上提供统一的操作接口。同时,为了降低物联网设备的开发门槛,HaaS提供了低代码开发模式,开发者只需要编写少量的代码,就可以实现所需要的业务逻辑,并支持远程诊断调试,打造云端一体全链路开发。最后,物联网设备控制和连接需要通过云端支撑,因此,HaaS对接了阿里云物联网开发平台,支持各种各样物联网设备的接入与服务,在物联网平台上,可以进行设备生命周期管理,并支持设备注册、功能定义、数据解析、在线调试、远程配置、OTA升级、实时监控、设备分组、设备删除等功能,正是这些特性,才能打造真正的云端一体物联网开发框架。


HaaS框架介绍

   HaaS开发框架是结合了硬件生态,操作系统,云端一体全链路开发,以及云端平台的物联网开发框架,它的整体架构以及各层次具体分工是什么呢?

   如上图所示,HaaS物联网设备云端一体Low-Code开发框架自底向上分为五大部分:硬件积木、自研系统、软件积木、应用框架和云端服务。

  • 第一层是硬件积木,包括HaaS开发板和生态积木,HaaS开发板也就是主控板,是提供基础能力集合的开发板,包括CPU,Wi-Fi,蓝牙以及4G Cat.1等基础能力模块,生态积木类似于外设,是主控板上的可扩展模块,包括显示屏,摄像头,电机以及各种传感器等。

    更多HaaS硬件积木的内容请参考HaaS硬件积木库

  • 第二层是自研系统,这里的自研系统指的是AliOS Things操作系统,它是面向IoT领域的轻量级物联网嵌入式操作系统,可广泛应用在智能家居、智慧城市、新工业、新出行等领域。AliOS Things可以运行在多种多样的硬件设备上,它屏蔽了不同的硬件细节,向上提供了统一的操作接口,是HaaS开发框架解决物联网设备硬件碎片化的核心部分。

  • 第三层是软件积木,软件积木提供了面向HaaS软件开发场景的原子能力,它包含连接,网络,多媒体以及设备驱动等基础功能,比如LinkSDK, 传感器设备驱动,音视频播放器,AI识别等。

  • 第四层是应用框架,包含JavaScript轻应用和Python轻应用,嵌入式开发是一项门槛比较高的开发工作,为了降低开发门槛,HaaS开发框架引入了JavaScript轻应用和Python轻应用开发模式,让一些非嵌入式开发者也可以很容易上手开发。

    更多Python轻应用的知识请参考HaaS轻应用开发-Python篇

    更多Python轻应用的知识请参考HaaS轻应用开发-JavaScript篇

  • 第五层是云端服务,区别于物联网设备端,云端服务是打造物联网云端一体不可或缺的关键节点,它运行在云端,提供了支付,存储,定位,音视频以及AI等能力。

    更多物联网云平台的内容请参考阿里云物联网平台

    更多物联网应用开发的内容请参考阿里云物联网应用开发平台IoT Studio

helloworld

   完成helloworld工程需要以下三个步骤:

  • 准备HaaS Studio开发环境
  • 创建工程并下载脚本到开发板中
  • 运行helloworld案例

准备HaaS Studio开发环境

   HaaS轻应用框架同时提供了HaaS Studio这一IDE(Integrated Development Environment,集成开发环境)开发工具,支持代码高亮、调试、打包、热更新等功能,帮助开发者高效的开发Python和JavaScript应用。

   HaaS Studio目前是基于Visual Studio Code的插件形式提供给开发者使用的,在IDE界面的背后,则是通过aos-tools实现的各种命令行的能力来提供前端的界面所展示的功能。

   请参考HaaS Studio开发环境安装页面的描述来准备HaaS开发环境。

创建工程并下载脚本到开发板中并查看其运行效果

   创建helloworld工程并下载脚本到开发板的过程请参考下面的说明。

1
https://gitee.com/jd3096p/haasedu.git
git@gitee.com:jd3096p/haasedu.git
jd3096p
haasedu
HaaSEDU
master

搜索帮助