普通高中教科书·信息技术选择性必修6
开源硬件项目设计
普通高中
教科书
信息技术
选择性
必修
硬件
项目
设计
书 书 书书 书 书总 主 编?李晓明副总主编?赵?健本册主编?方向忠本册副主编?杨晓哲编写人员?按姓氏笔画排序?方向忠?朱兰娟?苏宇彤?杨晓哲?吴俊杰?徐?雄?奚?骏?曾?贇责任编辑?高?烨美术设计?储?平普通高中教科书?信息技术?选择性必修?开源硬件项目设计上海市中小学?幼儿园?课程改革委员会组织编写出版发行?华东师范大学出版社?上海市中山北路?号?印?刷?上海华顿书刊印刷有限公司版?次?年?月第?版印?次?年?月第?次开?本?毫米?毫米?印?张?字?数?千字书?号?定?价?元版权所有?未经许可不得采用任何方式擅自复制或使用本产品任何部分?违者必究如发现内容质量问题?请拨打电话?如发现印?装质量问题?影响阅读?请与华东师范大学出版社联系?电话?全国物价举报电话?声明?按照?中华人民共和国著作权法?第二十五条有关规定?我们已尽量寻找著作权人支付报酬?著作权人如有关于支付报酬事宜可及时与出版社联系?本册教材图片提供信息?本册教材中的部分图片由全景网?视觉中国等图片网站提供?飞速发展的信息技术不断改变人们的思维与交往模式?身处科技发展日新月异的时代?在熟练使用信息技术工具的基础上?如何学习?如何参与?如何创造?是我们需要认真思考的问题?当有一天?你不再满足于仅仅作为一个产品的使用者?你想知道它是怎样被设计和制造出来的?或者想为它添加新的功能?又或者想为他人设计新产品?你将如何开始?比如?你想设计一个智能水杯?用来提醒自己和家人多喝水?你想打造一个机器伙伴?以帮助自己养成良好的学习习惯?你想开发一个运动助手?通过它来更好地达成运动目标?你想尝试搭建一辆可以自动驾驶的无人小车?你可能还想到很多很多?你甚至想改造整个世界?然而?你想到的这些与众不同的一切?可能没法直接找到现成的产品?你需要拥有一种全新的思维方式?开源硬件项目设计?可以帮助你用开源的视角重新审视与发现?哪些开源硬件可以支持你的创意?哪些开源代码可以支持你的构想?哪些开源系统可以支持你的设计?你需要运用开源社区?开展合作?获得支持?不断优化和迭代自己的作品?你也需要将自己新的发现?新的作品分享到开源社区?不仅仅为了展示自己?也为了方便其他人进行创造?按照?普通高中信息技术课程标准?年版?开源硬件项目设计?是选择性必修课程中的一个模块?在内容的呈现方面?教材按照开源硬件项目设计的流程?呈现从需求分析到发布共享的全过程?在案例的选择方面?从制作简单作品开始?逐渐实现作品之间的互联和综合制作?在学习的过程中?同学们不仅要学习?怎么做?更要综合运用科学?技术?工程?数学?艺术等多学科知识?理解?为什么?感?受动脑思考?动手制作?合作参与和创造作品的乐趣?践行开源与知识共享的理念?提升计算思维与创新能力?拓宽视野?为实现创新驱动发展的目标努力奋斗?书 书 书第 一 章开源文化与开源硬件本章学习目标?了解开源文化?开源协议和开源社区?认识开源硬件的特征?理解开源的理念与知识共享的精神?理解知识产权保护的意义?了解计算机信息处理过程?知道开源和闭源的区别?知道常用开源硬件的种类?功能和基本组成结构?掌握开源硬件开发环境的基本使用方法?理解开源硬件项目的开发流程?初步掌握开源硬件项目的需求分析?方案设计?系统制作?调试优化?作品发布等的方法?开源硬件项目设计广泛应用的信息系统、不断扩增的数据以及不断迭代优化的算法,提高了采集、传输、存储、加工和使用信息的效率,深刻影响着人们的生活、工作和学习,推进着我国向信息社会发展。由硬件、软件、数据和人等要素组成的信息系统,既可以用“闭源”的方式也可以用“开源”的方式建设和开发。日常生活中,很多互联网网站是基于开源的操作系统、W EB 服务器和数据库开发出来的,一些智能手机中的 A n d r o i d操作系统源于开源的 Li n u x,可以说,只要上网或者使用智能手机,我们就在不知不觉中使用了开源软件。在本章的学习中,同学们将初步感受以“自由、开放和共享”为宗旨的开源文化,从信息处理过程的角度,了解开源硬件的起源和发展,尝试使用开源硬件和图形化编程软件进行简单的系统搭建和编程控制,理解开源硬件的结构和功能。在学习和认识开源世界、享受开源产品所带来的丰富多彩的生活、感受科技所创造的价值的同时,同学们要进一步思考:开源是为了什么?开源能创造什么?开源要遵守什么?本章知识结构#-4#-M,K(#-#.#D#-)24+L!AA#-#7*)DD8 S E V JO P2华东师范大学出版社第一章开源文化与开源硬件项目主题初探智能水杯项目情境开源硬件为我们提供了一个全新的、可以不断进行创造的学习空间,生活中很多产品都可以使用开源硬件设计制作。从不起眼的烟雾报警器,到炫酷的呼吸灯,再到造型新颖独特的智能水杯,人们不断创造新的产品,让生活、工作和学习更便捷。我们每天需要补充充足的水分,饮水不足会引发很多健康隐患,然而我们在忙碌的学习工作中常常忘记喝水。设想这样一个按时提醒饮水的智能水杯:早上起来洗漱完毕后,智能水杯提醒饮水,并显示水量和水温,饮水完毕,自动补水,间隔一段时间再次提醒饮水如果将这样的智能水杯制作出来,我们就能很大程度上避免饮水不足的问题。如何运用开源软硬件实现智能水杯的提醒功能和显示功能?对于一些特殊人群,比如老人,智能水杯又该如何设计以满足他们的需求?在这一章中,我们将围绕智能水杯的制作,学习开源硬件系统编程调试方法和开源硬件项目设计流程,完成智能水杯设计方案。项目任务任务 1任务 2任务 3 分析常见的信息处理系统中的信息流向,从信息处理过程的角度,完成智能水杯的结构描述。探索典型的开源硬件组成结构和开发环境,选择合适的控制器及开发环境来设计智能水杯的电子控制系统。按照开源硬件项目的开发流程,完成智能水杯的项目设计。3 华东师范大学出版社开源硬件项目设计第一节开源文化开源(o p e n s o u r c e),即开放源代码,最初指的是一种软件的发布模式。软件作者遵循“自由、开放和共享”的精神,在一定的协议规则约束下将软件源代码公开,让大家共享使用。这是起始于计算机科学领域的一种文化现象,知识成果的开放、共享激发了源源不断的创意。随着开源理念的不断深入和推广,“开源”的内涵和外延不断丰富和扩展,形成了一种更广义的开源文化。体验思考开源文化发展至今已经过数十年的历程,产生了许多开源软硬件成果。随着互联网的发展,开源更是渗透到了信息、教育、经济、生活等多个领域,它不只限于软件,还逐步涉及硬件,成为信息技术发展的重要推动力。你了解开源文化吗?在你生活的周遭,你接触到的事物中有哪些体现了“自由、开放和共享”的精神?图 1.1 开源软件标识一、开源的起源和宗旨“开源”一词来源于“自由软件”(f r e e s o f t w a r e),自由软件是指倡导尊重用户“自由”,将源代码公开,让用户可以自由使用、复制、修改和分发源代码的软件。但由于“f r e e”在英文中有“自由”和“免费”双重含义,f r e e s o f t w a r e容易被人误解为免费软件,再加上自由软件的反商业信条也让企业和公司对其敬而远之,因此在1 9 9 7年的一个战略研讨会上,一批很有影响力的自由软件创始人决定改用开源软件(o p e n s o u r c e s o f t w a r e)来描述自由、开放的理念。开源软件的标识如图1.1所示。开源以“自由、开放和共享”为宗旨,以协议和合作的创新方式促进开源同商业的结合,即在提倡开放和知识共享的同时,允许人们以协议维护产权,以专利形式从产品中获取利益。在它的推进下,网景公司正式宣布将他们的旗舰产品网景浏览器的源代码免费开放,这一举动为开源运动的发展迎来了转机。4华东师范大学出版社第一章开源文化与开源硬件知识延伸自由软件和免费软件的区别自由软件与免费软件不同,“f r e e”虽有“免费”之意,但“免费”不等于“自由”。首先,免费软件只是免费提供给用户使用,并不公开源代码。其次,我们虽然可以免费使用某些软件,但却不能自由地使用,因为这些软件使用了数字版权管理(d i g i t a l r i g h t s ma n a g e me n t,缩写为 D RM)技术后,便可以合法地追踪用户的使用行为。作业练习开源也为同学们学习编程提供了很好的机会,许多工程师都是从开源中开始学习和汲取灵感的。想知道你最喜欢的网页是如何运作的吗?在 W e b浏览器中点击“查看源代码”,尝试阅读网页的源代码,通过查阅资料了解一些代码的含义,思考源代码与网页效果之间的对应关系。二、开源协议的作用探究活动开源的基本理念是追求“自由、开放和共享”。但是,任何开源都不是简单地、无条件地、无理由地完全开放,而是要遵循一定的规则,即协议。在开源领域的协议被统称为开源协议或开源许可证(o p e n s o u r c e li c e n s e),是指为了保护开源软件原作者的相关知识产权,在软件所有者与软件使用者之间设立的一种具有法律性质的虚拟合同,它也可被视为一种授权方式。1.通过网络搜索引擎,找一找有多少种开源协议。2.试着对不同的开源协议进行分类,说明为什么要有如此多不同的开源协议。开源软件就是在开源许可证下发布的开放源代码的软件。开源许可证是授权使用、分享开源软件和其他产品的源代码、源设计等的条款,它提供了一种独特的产权模式,使得开源软件与专有软件一样,也受版权法保护。例如,它可以要求用户在所使用或修改的源代码中保留原作者名字和版权声明,或者要求用户再发布时必须遵循同一个许可证等。开源许可证的意义就在于对运行、复制、修改、发布受版权保护的软件等行为进行规范,保障原作者的合法权益,保护软件开发者共享合作的积极性,保障开源文化健康持续地发展。5 华东师范大学出版社开源硬件项目设计通常开源许可证主要分为两大类:左版版权(c o p y l e f t)许可证和宽松式(p e r m i s s i v e)许可证。c o p y l e f t是作为c o p y r i g h t(著作权)字面意义上的反义词而被发明出来的词汇,其含义是“给予任何人运行、复制、修改以及发布改变后程序的许可,但前提是发布的条款不能被改变”,也就是说任何人都可以自由使用左版版权源代码,但修改后的代码也必须采用左版版权许可证发布,不能闭源,而宽松式许可证则对用户几乎没有限制,用户可以修改开源代码后选择闭源。目前国际公认的开源许可证有上百种,最常用的有G P L、L G P L、B S D、M I T、M o z i l l a、A p a c h e、C C等。不同的开源许可证规定了不同的自由度和不同的商业模式,比如,是否允许商用,是否允许修改,修改后是否需要继续开源,开源是否必须继续使用相同协议授权等。图1.2描述了部分开源许可证之间的区别和适用情况。图 1.2 部分开源许可证之间的区别及适用情况知识延伸开源许可证的比较表 1.1中所列的是部分开源许可证之间的比较,出于不同的考虑,可以对开源的内容选取不同的许可证来保护。6华东师范大学出版社第一章开源文化与开源硬件表 1.1 部分开源许可证之间的比较许可证版本是否包含源代码是否允许链接是否允许商业使用是否允许私人使用是否允许发布是否允许修改是否有专利许可是否有转售许可有无担保责任有无商标A p a c h e许可证2.0是是是是有有有有3句版 BS D 许可证是是是是有有有2句版 BS D 许可证是是是是有有G NU 通用公共许可证2.0是是是是是有无有G NU 通用公共许可证3.0是是是是是有有有G NU 宽通用公共许可证2.1是是是是是是有有有G NU 宽通用公共许可证3.0是是是是是是有有有M I T 许可证是是是是有有M o z i lla公共许可证2.0是是是是是有有有有Ec lip s e公共许可证1.0是是是是是有有有A f f e r o通用公共许可证是是是是是有有一般的著作权是是否否无作业练习在开源运动中,关于版权保护一直争议不断。很多开发者由于不了解开源许可证的内容,在开放源代