×

开源硬件创客15个酷应用玩转树莓派的PDF电子书免费下载

消耗积分:0 | 格式:rar | 大小:1.15 MB | 2019-11-15

分享资料个

  本书共18章。前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作,让读者了解树莓派的前世今生,掌握树莓派基本的使用方法;第4~18章主要介绍15个以树莓派为载体的酷炫应用,大家可以按照本书内容,一步一步来完成个人网站、影音盒子、下载机、私有云、智能路由器、智能家居等应用的开发;最后的附录部分,包含了树莓派常用的操作命令和一些使用技巧,方便大家更好地使用树莓派。

  本书适合开源硬件爱好者、程序员、计算机软硬件爱好者以及对树莓派感兴趣的读者阅读,也适合作为树莓派相关实践课程的基础教程。

  最近,在爱范儿上有篇文章《树莓派为什么这么火》。它的开头是这么一句话“3年售出500万台Raspberry Pi,树莓派基金会成为了英国最大的计算机制造商”。短短3年时间,树莓派从原来的小众开源爱好者的“玩具”渐渐走入了“寻常百姓家”,其版本从最初的Model-A到B再到B+和A+,版本升级带来的是更加强大的功能。而在正式推出的第二代产品——Pi 2中,处理器升级到了四核,速度比第一代快6倍,内存升级到了1GB,同时还能搭载Windows 10,而它的售价仍然是加量不加价的35美元。

  树莓派究竟为什么会这么火呢?这与它低廉的价格密不可分,因为只要花上几百元,就可以拥有一台性能良好的微型计算机。但最关键的还是在于树莓派具有丰富的可拓展性,即具备“开源的力量”。“开源的力量”不是说我们可以免费享用他人的成果,而是说集合大家的力量,这种力量也是推动树莓派兴起的重要原因。

  开源将DIY(Do it yourself)变成了DIT(Do it together),这使得树莓派有着无限可能。“探索”与“创造”是本书的两个核心关键词。树莓派就好像一把“钥匙”,能打开一扇大门。门后面的世界是怎样的?对于不同的人来说,看到的世界是不同的。比如,对于热爱编程的人来说,看到的是一个代码的世界;对于热爱开源硬件的人来说,看到的是一个充满创造力、拥有无限可能性的世界;而对于热爱酷炫应用的人来说,这是一个充满乐趣的地方。

  接着,我想与大家分享一个故事,一个关于我自己成长以及成长中收获的那些乐趣的故事。我是一个十分“爱玩”的人,小学时初次接触计算机,并从此一发不可收拾地爱上了它。它让我接触到了一个更大的世界。那时的我一直很好奇,究竟是怎样神奇的“魔力”使它拥有如此丰富的功能。后来学习编程,我明白了,在这些丰富绚丽的功能背后,是一行行代码在支撑着。编程,为我打开了一扇新的大门。编程最大的魅力就在于创造。在代码的世界里,通过一行行代码,创造着属于我的科技成果。这是一种“创造”的乐趣。

  小学毕业的暑假,父亲送给我一个iPod touch。虽然那时苹果操作系统还不叫iOS,背景界面还是全黑的一片,没有Retina高清屏,也没有扁平化的图标,却带给我极大的震撼,一如后来树莓派带给我的。不同于编程,iPod touch带给我的是“探索”的乐趣。第一次“越狱”、第一次安装“插件”、第一次“美化”界面等许许多多个第一次带来了尝试新鲜事物的乐趣。iPod touch也开启了我的写作之路。那时起,我开始尝试着将自己在探索iPod tocuh时得到的一些经验心得写下来,放到网上与他人一同分享。这种分享也带给了我许多的快乐,分享的快乐是相互的,是一种人与人之间互相给予的快乐。这种快乐一直伴随着我。这也是我为什么热爱“开源”的原因。

  在初中时,我热衷于折腾各类电子产品,也爱上了动手制作。当时是智能手机兴起的时期,也是手机变革的时代。从那时起,诺基亚逐渐被iPhone和各类安卓智能手机取代,手机处理器日渐强大,从单核到双核再到四核,初二时,尝试着自己做一个移动电源。当时,买了一块5000毫安的电池、充电板、升压板、USB母口和MINI USB母口等配件,然后尝试着用电烙铁与焊锡丝进行焊接,最后成功地做成了一个移动电源。这种“制作”的快乐又不同于“编程”时“创造”的快乐。编程时是随心所欲,因为创造没有的东西而产生的快乐,而“制作”移动电源的快乐则是通过自己努力去尝试,按照计划的路线,经过遇到问题与解决问题等一系列过程后,收获的喜悦。后来“苹果皮”(苹果皮由坤明科技研发)出现,使得iPod touch也可以拥有打电话、发短信和上网等功能。那时候,我曾尝试着把iPod touch和苹果皮“大卸八块”,然后买来iPhone的配件,如后盖、中框、中板和液晶框等,最终组合成一台“TouchPhone”。

  以上是我在遇到树莓派以前的种种经历,以及从中收获到的乐趣。在初三毕业的暑假,自从第一次接触到树莓派,就由此开始了一条新的道路。树莓派,使我发现了开源硬件的魅力。与树莓派的邂逅,带给我的是一种惊喜,就像初次遇到计算机和iPod touch时的那样。有人曾说:“人会随着年岁增长,慢慢变得麻木,会越来越少有小时候那种眼前一亮的感觉。”但树莓派又再次带给了我这种感觉。

  树莓派就好像是一座桥,把我以前所学的知识与未来连接到了一起。树莓派带给我编程“创造”的乐趣,简洁明了的命令行能够使我最大程度地集中注意力。树莓派也带给我“探索”新事物的乐趣,不同于对iPod touch的探索,树莓派使我能够感受到更多、更精彩的乐趣。同时,树莓派也给了我“制作”的乐趣,能利用树莓派搭建一台家用服务器、一个影音盒子、一台智能路由器,甚至以树莓派为终端的智能化家居。树莓派带给我更多乐趣,如创造、探索、制作,但似乎还有一样乐趣没有提到—“分享”!说到这,大家可能明白了我写这本书的初衷。我想通过这本书与大家分享在树莓派学习道路上的点点滴滴,让大家也体会到其中的精彩与乐趣!说了那么多我自己的故事,也该给大家讲讲这本书了。通过这本书向大家详细介绍了打造15个酷炫应用的方法。前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作。读者可通过这3章内容了解树莓派基本的使用方法;第4章~第18章主要介绍15个以树莓派为载体的酷炫应用。大家可以按照教程一步一步来学习个人网站、影音盒子、下载机、私有云、智能路由器、智能家居等应用的制作方法;最后一部分内容为附录,包含了树莓派常用的操作命令和一些使用技巧,方便大家更好地使用树莓派。

  由于我自己也是一个学习者,所以,我在写作时也是以一个学习者的角度出发,最大限度地使教程内容简单化、详细化。根据自己的学习体会,我认为实践绝对是最好的学习方式。单纯想利用树莓派来体验一下酷炫应用的读者,只需要照着书上的操作,即可成功搭建一个个应用。而想利用树莓派来进一步学习编程及开源硬件知识的读者,先按照书中的步骤成功搭建应用,再去体会其中蕴含的深刻奥妙。希望大家能够在阅读本书的过程中,感受到我曾经感受过的“创造”“探索”“制作”等乐趣,并能够与他人分享自己的乐趣。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'开源硬件创客15个酷应用玩转树莓派的PDF电子书免费下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);