树莓派入门
1.什么是树莓派?
树莓派(英语:Raspberry Pi),是一款基于Linux的单片机电脑。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。
树莓派配备一枚博通(Broadcom)出产的ARM架构700MHz BCM2835处理器,256MB內存(B型已升级到512MB内存),使用SD卡当作存储媒体,且拥有一个Ethernet、两个USB接口、以及HDMI(支持声音输出)和RCA端子输出支持。
树莓派基金会提供了基于ARM架构的Debian、Arch Linux和Fedora等的发行版[12]供大众下载,还计划提供支持Python作为主要编程语言[13][14],支持BBC BASIC[15](通过RISC OS映像或者Linux的"Brandy Basic"克隆)[16]、C语言和Perl等编程语言。 摘录维基百科
2.树莓派可以做什么?
树莓派好比一台计算机,只是体积更加微小,价格比较低廉,性能不如x64平台外,功能上并无太大区别。因为体积过小,功耗过小,更加适合极客们的喜爱,并支持众多LinuxArm发行版。
你可以用来打造一个家庭影院(XBMC),智能路由器(OpenWrt/LEDE),BT下载服务器,FTP文件服务器,自建本地DNS(DNSMasq),自建本地代码托管(SVN),搭建网站(LNMP),搭建hadoop集群,B站直播点歌台等等
没有做不到,只有你想不到。因为有GPIO的存在,用GPIO控制一些电路实现更加灵活的DIY。
3.树莓派的购买选择?
个人推荐在淘宝上购买,虽然价格差异还是比较大,但这是主要的购买途径了。如果不建议是二手物品推荐上咸鱼,价格上优惠很大,比如我手上是树莓派2B,之前买的时候是205元,虽然是一年多以前了,现在也就100左右的价格。
3B+已经出来了,加强了Wi-Fi等,但是由于资源的少,很多系统还是不能够兼容的,比如较多派友反映并没有支持Android,所以不推荐立即购买,支持是必然的,我们可以等价格稍微降低些,再去考虑。
如果你是入门推荐树莓派2B,如果你是土豪推荐3B+,3B就没有必要考虑了。
4.树莓派系统的选择?
新手推荐官方系统,如果你不是非要图形的话,推荐你去使用LITE,这个版本是没有桌面的其他并无区别。官方版本是基于Debian。
你也可以选择,ArchLinuxARM,OpenSUSE,FreeBSD,Ubuntu,KailLinux,Centos等等。关于这些发行版你可以这里找到。
我觉得ArchLinux和官方版系统更适合 ,因为Arch更轻巧,并且有着ArchWiki的支持,官方版就不用说了吧。
5.购买无线网卡?
如果你是3B+就不用考虑网卡了,因为相比上个版本有所加强。并且支持5G网搜索连接。
笔者手里是2B,如果考虑WI-Fi还是选购网卡的,我用3070的芯片,玩过无线破解的朋友想必都是听过的吧,支持monitor监听模式的。对没错,我3070就是以前折腾剩下的产物(无线小黑联盟)。
其实我认为现在Linux内核更新后里面自带的开源驱动大部分网卡都是可以直接驱动,所以手上有闲置的网卡不妨试试效果如何哦。
6.储存卡的选择?
有钱买好点的,最好8G以上,我测试用4G的卡,用Lite的版本够用,只是不能安装太多的软件罢了。
如果你有想法,表示支持我,可以送我卡哦,联系:554412630@qq.com(支付宝同号)
7.电源的选择?
- 我使用的是手机的电源,如果你不接硬盘盒子电压是够使用的。推荐硬盘盒子使用外接电源,不要使用USB口供电,因为电压不够。
8.烧录系统?
Windows下:
- 推荐使用SD Formatter格式化储存卡,win32diskimager-v0.9-binary去烧录镜像即可。
MacOS下:
先用自带的磁盘工具格式化下,然后推荐使用Etcher,虽然SD Formatter也有MacOS平台的。
也可以使用dd去烧录:
dd bs=4m if=2013-02-09-wheezy-raspbian.img of=/dev/rdisk1
等烧录结束后,插卡通电,就可以在路由器后台路由表里看到树莓派的ip了(图中为演示备份截图香橙派):
9.连接树莓派?
你可以尝试SSH和VNC去连接,但是推荐SSH,因为这符合Linux终端操作的习惯。
推荐使用Xshell或者Putty,Linux下直接ssh pi@192.168.1.x 即可 。
也可以尝试TTL去连接树莓派,使用secureCRT,接口是com3 。
树莓派的默认帐号密码:帐号pi,密码raspberry
10.更新系统并配置源?
- 因为官方源在国内某些时候是跑不了满速的,Arch的源支持airia2加速下载,这点就比其他发行版有特色。
sudo nano /etc/apt/sources.list #添加如下源(清华,) deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi #deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi #更新系统 sudo apt-get update && sudo apt-get upgrade #安装软件,比如vim sudo apt-get install vim
#更新系统 sudo apt-get update && sudo apt-get upgrade #安装软件,比如vim sudo apt-get install vim
11.CPIO驱动安装
树莓派内核中已经编译自带了GPIO的驱动,我们长通过第三方库写好的函数库完成具体的操作。库有:Python GPIO,WiringPi(C语言编写),BCM2835 C Library (C编写)
#安装 Python-dev(这是Python主程序) sudo apt-get install python-dev wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz tar xvzf RPi.GPIO-0.5.3a.tar.gz cd RPi.GPIO-0.5.3a && sudo python setup.py install
#例子: # -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time # BOARD编号方式,基于插座引脚编号 GPIO.setmode(GPIO.BOARD) # 输出模式 GPIO.setup(11, GPIO.OUT) while True: GPIO.output(11, GPIO.HIGH) time.sleep(1) GPIO.output(11, GPIO.LOW) time.sleep(1) #执行: #GPIO.setmode(GPIO.BOARD),采用插座引脚编号方式。 #由于采用插座引脚编号方式,此处的 11 脚相当于 BCM2835 寄存器编号方式的引脚 11。 sudo python led.py
#安装WiringPi sudo apt-get install git && git clone git://git.drogon.net/wiringPi cd wiringPi && ./build #检查安装成功 gpio -v gpio readall #出现IO图标 #最后一种方式就不在这里阐述了
12.编译最新树莓派内核
待续~~
其他一些教程请参考我的简书:不着调的小男生。
推荐些关于树莓派的博客吧:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring AOP总结
我们的程序从编写到执行,单个模块一般都是从上到下、垂直、连续的。 AOP是一种“横切”技术,能够在合适的地方“拦腰截断”、插入一些“代码”,使得原有功能进行增强。 为什么需要AOP 当我们要进行一些日志记录、权限控制、性能统计等时,在传统应用程序当中我们可能在需要的对象或方法中进行,而且比如权限控制、性能统计大部分是重复的,这样代码中就存在大量重复代码,即使有人说我把通用部分提取出来,那必然存在调用还是存在重复,像性能统计我们可能只是在必要时才进行,在诊断完毕后要删除这些代码;还有日志记录,比如记录一些方法访问日志、数据访问日志等等,这些都会渗透到各个要访问方法中;还有权限控制,必须在方法执行开始进行审核,想想这些是多么可怕而且是多么无聊的工作。如果采用Spring,这些日志记录、权限控制、性能统计从业务逻辑中分离出来,通过Spring支持的面向切面编程,在需要这些功能的地方动态添加这些功能,无需渗透到各个需要的方法或对象中;有人可能说了,我们可以使用“代理设计模式”或“包装器设计模式”,你可以使用这些,但还是需要通过编程方式来创建代理对象,还是要耦合这些代理对象,而采用Spring ...
- 下一篇
ajax 跨域解决
function _do_edit(id) { $.confirm({ boxWidth: '900px', title: '商品编辑', content: '<iframe src="/index.php?call=mall.spu_edit&id=' + id + '" frameborder="0" scrolling="no" id="spuform" name="spuform" style="width:95%;height:500px;"></iframe>', buttons: { close: {text: '关闭'}, exec: {text: '保存', btnClass: 'btn-blue', action: function () { window.frames["spuform"].document.forms["spuform"].submit();//跨域问题解决 location.reload(); }} }, onOpen: function () { } }); }
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8