前言
人工智能物联网(AIoT)是人工智能(AI)和物联网(IoT)的融合应用。物联网通过前所未有的超大规模数据采集实现了对整个世界的量化感知;人工智能则通过对这些数据进行分析和处理,极大地提高了人们利用计算来进行决策和执行的核心能力。因此,AIoT已经成为各种科学研究和工程技术的热点方向,从智能制造、交通运输到生活消费各个领域,其身影无处不在。进一步推进AIoT的普及和应用正是撰写本书的初衷。
本书旨在帮助对AIoT感兴趣的初学者尽快上手相关的研究和开发工作。因此,我们选择了友好性甚佳的我国自主知识产权的华为平台作为本书的技术环境来进行AIoT的介绍。我们希望无论是参加各类物联网设计和创新竞赛的参赛者,还是正在准备选型进行AIoT开发的工程师都能从本书中有所斩获。
本书概述了AIoT的基本概念和发展背景,在深入介绍华为LiteOS内核开发工作和相关问题的同时,也提供了相应的实践指导和实际应用,最大限度地帮助初学者入门。
本书共分为三部分。第一部分(第1章、第2章)主要从宏观层面对AIoT问题和华为环境的开发框架进行概述。其中第1章首先介绍了AIoT的基本概念、起源和发展,接下来从云边协同的视角,在数据的连接、存储和计算层面描述AIoT所解决的主要问题;第2章介绍了基于华为LiteOS的AIoT开发框架,为后续的开发学习做铺垫。
第二部分(第3章)主要从系统内核角度关注微观层面的问题,为AIoT设计架构提供了系统开发的基础。选择的操作系统实例为华为面向物联网领域的轻量级实时内核操作系统——Huawei LiteOS。主要介绍不可裁剪的极小内核(重点讨论任务管理、内存管理、异常接管、错误处理和中断管理)和可裁剪模块(重点讨论信号量、互斥锁、队列管理、事件管理等)。
第三部分(第4章、第5章)主要以“端侧”到“云边”的技术路线描述AIoT开发的具体实现和实验细节。第4章进行了面向小熊派的AIoT售货机设计,从小熊派开发板到云端物联平台,详细讲述了数据的收集、组合、上报再到云端命令下沉的开发流程;第5章先介绍了华为的ModelArts AIoT服务平台,之后以开发者的视角,从数据处理和模型开发两个方面介绍AIoT在实际应用中的开发流程,从而帮助开发者理解AIoT任务在华为ModelArts平台上的部署和应用。
在撰写本书的过程中,作者得到了华为公司的陈亚新、李晶晶、程春卯、李小龙和刘亮等专家的大力协助和在资料方面的无私分享,同时曹阳、李文硕、王思谦、李馨怡和陈鑫倩同学也为本书的撰写和实验设计提供了大量支持,在此一并表示感谢。本书是作者撰写的首本AIoT技术图书,难免有所疏漏,还望各位读者批评、指正。