暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Microduino实战.pdf
29
145页
0次
2024-01-27
25墨值下载
自2005年Arduino横空出世以来,开源硬件就像Linux一样,很快风靡全球。Arduino最初只是为学生设计的一款既便宜又易用的微控制器板,但如今在“创客运动”的大背景下取得了巨大
成功。
Arduino使用的是Atmel VAR 8位微控制器,是一个软硬件开源的平台。不仅开放软件的源代码,而且硬件电路设计图同样可以从网络上下载。任何用户都可以利用这些开放的资源,再根据
自己的需要进行修改和定制,发布适合自己的软件工具和硬件设计。此外,它不像传统的微控制器程序,只有有一定电路和编程背景的人才能够灵活使用,因为采用了非常简单的编程语
言,Arduino的入门变得非常容易,即使是没有理工科背景的人,也能够快速上手。
正是因为开源,让全球成千上万的教育工作者、学生、科研工作者、电子爱好者和创客组成了一个庞大的开源硬件社区。不管是个人还是公司,都被该社区的魅力所吸引。例如,英特尔、
三星、微软纷纷加入了Arduino社区,推出了相关的软硬件产品。而很多在Kickstarter上进行众筹的初创团队推出的产品,其最初的原型也都是在Arduino的基础上设计的。
目前,在市场上还有很多兼容Arduino的开源硬件,各自有不同的特点和应用场景,比如Microduino、WRTNode、pcDuino,同时还配有各种扩展模块和扩展板。除了公司和团队之外,很多
创客本着开源和共享的目的,在网上免费发布了自己的Arduino开源设计和DIY作品,供更多的人参与和讨论,这很有可能会碰撞出更多的创意作品,例如,开源3D打印机、无人机等。此外,
网上还有大量免费的开源库、教程、电子书、视频等各种开放资源,以及友好互助的论坛问答等,这些都是这个社区中重要的组成部分。
这就是开源的滚雪球效应,刚开始开源又易上手,吸引了最初的一批人加入其中,之后产生越来越多的优秀资源,而这些资源又吸引更多人参与其中,这种正反馈的激励效应,促成了社区
指数型的扩张。
作为一款兼容Arduino的微控制器平台,Microduino同样采用开源模式,公开所有的电路设计和软件源代码。它采用U型27引脚布局,模块间非常容易组装,对着U27引脚插入即可,无须担
心引脚是否接错。又因为它只有硬币大小,组装后的体积非常小,所以在空间要求非常严格的应用环境下占有优势。Microduino可以看作是一种电子积木,核心模块和扩展模块互联只需要根据
U型布局的引脚直接接入,便可快速搭建起一个物理系统,然后按照Arduino开发和编程方式,下载程序,即可完成自己的创意作品。因为兼容Arduino,所以Microduino保留了其易上手的特点;
同时因为易组装、体积小等特点,让Microduino更具吸引力。
Microduino遵循了开源硬件的发展模式,在社区的培育上花了很大的精力。相关人员详细地制作了Microduino的维基百科,目前共有805篇文章,2405个新文件上传和8733次修订,而且全部
是中英文对照,甚至还有韩文和日文的页面。同时,还精心制作了300篇以上的Microduino教程,配有文字、图片、源代码和视频,供全球来自不同国家的用户参考和使用。
Microduino的王镇山(Tiki)介绍说:“所有的模块都是玩家共同创意、设计、测试和改进的。不但有玩家共同开发的硬件,还有玩家自发编写的支持软件,并分享利用Microduino完成的作
品。”这正是开源社区建设所带来的回报。与其说Microduino是一个开源硬件产品,不如说它是一个遵循“众营”理念的开源项目。
而本书能够顺利完成,很大一部分也要归功于开源力量和社区中丰富的开放资源。本书的特点是以一个个具体的示例为核心内容,提供详细的物理连接图和源代码,让读者能够通过循序渐
进的实践过程,学习和掌握基本的电子元器件、Microduino核心控制器以及相关传感器的使用。希望通过本书,能让更多的人步入开源硬件和创客运动的实践中去,实现一件件自己喜欢的创意
作品,然后再与更多的人进行交流和分享。
最后,感谢Microduino创始人王镇山和机械工业出版社策划编辑张国强,没有他们的支持和鼓励,本书就不可能诞生。此外,还要感谢我的父母,没有他们的理解和宽容,就没有现在的
我,我也不可能安心地完成本书。
编者
2015年6
1章 
1.1 什么是开源
或许你从来没有听说过开源,但你肯定一直在享受着开源所带来的成果。比如Linux,可能没有听过这个名字,但你肯定知道或正在使用安卓(Android)手机,其操作系统就是以Linux内
核为基础的开放源代码系统。又比如Apache,它是世界上使用率排名第一的Web服务器软件,用户上网浏览网页的时候,多数内容都是由它来提供服务的。再比如火狐(Firefox)、Chrome
或者360安全浏览器等网页浏览器,不是完全开源的,便是在开源项目的基础上作了改进的。总而言之,互联网时代,开放、开源是一大主旋律
那什么是开源(Open Source)呢?从字面上讲便是开放源代码。开放源代码促进会(Open Source Initiative)官网所给出的开源软件的定义是:它是能够让所有人都可以自由使用、修
改和分享的软件,其主要特点是自由发布、开放源代码、保持源代码完整性、不歧视任何个人或团队、不歧视任何应用领域、发布许可证等。这一长串特点,无不体现了互联网的精神——开
放、平等、协作、共享。
有人说开源是计算机领域中的一场运动,我想,这更多的是源自人类对自由的诉求,是一种“我为人人、人人为我”的希望。在互联网上,更多这样类似的开放运动改变了我们的生活方
式,比如开放课程、维基百科、协作翻译等。
1章 
1.1 什么是开源
或许你从来没有听说过开源,但你肯定一直在享受着开源所带来的成果。比如Linux,可能没有听过这个名字,但你肯定知道或正在使用安卓(Android)手机,其操作系统就是以Linux内
核为基础的开放源代码系统。又比如Apache,它是世界上使用率排名第一的Web服务器软件,用户上网浏览网页的时候,多数内容都是由它来提供服务的。再比如火狐(Firefox)、Chrome
或者360安全浏览器等网页浏览器,不是完全开源的,便是在开源项目的基础上作了改进的。总而言之,互联网时代,开放、开源是一大主旋律
那什么是开源(Open Source)呢?从字面上讲便是开放源代码。开放源代码促进会(Open Source Initiative)官网所给出的开源软件的定义是:它是能够让所有人都可以自由使用、修
改和分享的软件,其主要特点是自由发布、开放源代码、保持源代码完整性、不歧视任何个人或团队、不歧视任何应用领域、发布许可证等。这一长串特点,无不体现了互联网的精神——开
放、平等、协作、共享。
有人说开源是计算机领域中的一场运动,我想,这更多的是源自人类对自由的诉求,是一种“我为人人、人人为我”的希望。在互联网上,更多这样类似的开放运动改变了我们的生活方
式,比如开放课程、维基百科、协作翻译等。
1.2 为什么要开
开源意味着用户可以获得软件的源代码,用户可以自由地使用、学习、改进甚至重新发布自己的软件
在《大教堂与集市》一书中一再提到了Linus定律,即只要有足够的测试员及共同开发者,所有问题都会在很短的时间内被发现,而且能够很容易地被解决。任何人都可能在使用的过程中
发现bug,并向维护团队提交一个可能存在的bug;而更多的人参与到内核的开发中,可能使得bug的修复变得更加快速。这种“众眼众手”机制,让更多的bug暴露在人们面前,并及时地反
馈并修复。如今,Linux内核在全球有成千上万的贡献者,但因为有一套严格的代码控制管理的流程,使得Linux内核的代码质量很高。在Steve McConnell的写的《代码大全》中提到,Linux
内核每10000行代码中只有1~5个bug,而在一般软件行业中,平均每1000行代码中就约有30个bug。显然,Linux内核的开发受益于这种开发模式。
开源有可能带来的好处
[1]
如下:
(1)获得更高质量、更安全的软件代码
在开源社区中,很多开源项目都是由一些技术高手维护的,同时一些用户也会承担一部分维护工作,更多人参与进来会使得存在的bug可以被及早地发现和修补。
(2)可定制
因为源码是开放的,用户可以免费定制开源软件,使用其中一部分开源软件代码,并根据实际情况修改或添加自己需要的功能。这样,既能享受他人的劳动成果,又能为开源软件做出自己
的贡献,同时也降低了开发的成本和风险。
(3)降低开发成本
在开源项目中,用户可以免费使用高质量的软件代码,在享受其他人劳动成果的同时,也可以做出自己的贡献
(4)标准化
开源软件一旦用户增多,会顺其自然地遵循或形成一种开放的标准。
这些只是从实用的角度来看开源所带来的优势,但开源指的不仅仅是一种开源的方法,背后更是体现了一种自由的精神,是分享和协作人类文明的一种机制。
在互联网上,开源是这样一种精神:予人玫瑰,手有余香。而往往这些“余香”才能带来更多的玫瑰。所以说,深入开源的世界,更应该抱着开放的心态,将自己的贡献汇入这无尽的江河
湖海中。
[1] http://www.pcworld.com/article/209891/10_reasons_open_source_is_good_for_business.html
1.3 开源软
在维基百科上,开源软件的定义是:一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利,并允许用户学习、修改、增进提高这款软件的
质量。开源协议通常符合开放源代码的定义的要求,一些开源软件被发布到公共领域,开源软件常被公开和合作地开发。
我们常见的开源软件有Linux、Ubuntu、Eclipse、Open Office、Emule等,后面要使用到的Arduino IDE也是一款开源软件。但考虑到本书的目的,对开源软件不再多做介绍
1.4 开源硬
开源硬件是对开源软件领域的一种扩展,指的是通过与自由及开放源代码软件相同的方式设计的计算机和电子硬件。与开源软件不同的是,开源硬件最终会涉及物理实体的生产与制造,所
以是自由的,但并不免费。这里的自由是指发布硬件设计的详细信息,如电路图、材料列表和电路板布局数据,而且通常会使用开源软件来驱动硬件。
开源的IP核是一种类型的开源硬件。IP核是指在数字电路领域中描述硬件设计功能的可重用模块。比如,OpenSPARC是SUN公司一款开源的处理器设计,使用者可以用来在FPGA等可
程芯片上实现该设计;OpenCores提供了开源的处理器、外围设备、总线控制等逻辑设计。
除此之外,还有像Arduino、树莓派、pcDuino这样的开源软硬件平台。
of 145
25墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜