文档章节

Raspberry Pi入门指南

枫TI
 枫TI
发布于 2017/04/20 12:31
字数 2308
阅读 131
收藏 0

第一部分:树莓派系统安装

所需材料:

  1. 一块树莓派的板子
  2. SD卡一块
  3. 显示器一个
  4. 键盘一个
  5. HDMI连接线一条

 

1.树莓派板子

最新树莓派板子型号:树莓派3代B型 Raspberry Pi 3 Model B 1G 

本人是在亚马逊上购买的,附带了一个5V 2.5A的电源适配器,另收取了¥12运费,建议还是去京东购买

亚马逊
京东

买树莓派之前看了别人写的书,还要单独购买无线网卡,没有仔细的研究最新版本的树莓派,亚马逊上的那家店购买树莓派免驱无线网卡需要等2~3才能发货,于是就在天猫上购买了一块无线网卡

(可无)

说明:树莓派拿到手里,装上系统后,买噶自带网络模块了,可以直接连接wifi,浪费了点碎银子。无线网卡浪费了,长记性,玩弄事务之前要好好研究一番,别人的经验可能不适合你。

2.SD卡

树莓派板子上是没有附带硬盘,需要你购买一个micro SD,用来安装系统及存储程序及数据,本人在购买了一块 32G的闪迪:SanDisk 闪迪 高速移动MicroSDHC UHS-I存储卡 TF卡 32GB Class10 读速80Mb/s

当然了,需要一个读卡器用来读写SD的读卡器,不到17块人民币(包邮)读卡器

安装操作系统时当然需要 显示器 + 键盘 + 鼠标 用来选择安装那一款了 

查看SD文件格式

3.显示器

本人直接使用的是家里的Skyworth电视机(支持HDMI接口)

4.键盘

键盘:家里还有一个无线的罗技键盘,找到后确实成为了真正无线键盘,接收器不知道哪去了,由于不是优联的,也没法跟无线罗技优联鼠标共用接收器了,难不成还得再买个新的键盘,这个就能当垃圾丢了么。这情况下万能的淘宝起到救命作用了,键盘接收器,生活处处有淘宝啊。需要重新跟键盘配对才能使用。

鼠标:这个就用我平时工作时的M215罗技无线鼠标了。

5.HDMI连线

如何让树莓派链接显示器呢,由于树莓派板子上有HDMI结构,当然就得利用起来了,当然也有其他的接口喽。还得购买一根HDMI,一头插在树莓派的HDMI接口,另一头插在电视机的HDMI接口上,不过我够买的这根线太硬了,不过嫌麻烦就没有退货,不建议购买。

6.下载操作系统

Download

Noobs工具分离线安装和在线安装,离线安装把操作系统下载到本地了,离线安装过程来自网络

7.Noobs安装操作系统

下载Noobs安装工具

8.镜像安装--有桌面操作

大小为1.5G

RASPBIAN JESSIE WITH PIXEL

RASPBIAN

 

9.镜像文件安装-无桌面操作系统

输入用户名/密码

进入操作系统后的画面

大小为307.8M

RASPBIAN JESSIE LITE

RASPBIAN

MacOS系统下

localhost:dev xxxxxx$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            250.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           +249.8 GB   disk1
                                 Logical Volume on disk0s2
                                 B6B678F0-99B3-46C1-B745-5FC8CE586ACF
                                 Unencrypted

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +20.0 MB    disk2
   1:        Apple_partition_map                         32.3 KB    disk2s1
   2:                  Apple_HFS Flash Player            20.0 MB    disk2s2

/dev/disk3 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +19.5 MB    disk3
   1:        Apple_partition_map                         32.3 KB    disk3s1
   2:                  Apple_HFS Flash Player            19.4 MB    disk3s2

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.9 GB    disk4
   1:             Windows_FAT_32 NO NAME                 31.9 GB    disk4s1

/dev/disk5 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +20.0 MB    disk5
   1:        Apple_partition_map                         32.3 KB    disk5s1
   2:                  Apple_HFS Flash Player            20.0 MB    disk5s2

/dev/disk7 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +19.5 MB    disk7
   1:        Apple_partition_map                         32.3 KB    disk7s1
   2:                  Apple_HFS Flash Player            19.4 MB    disk7s2

localhost:dev wangliang$

 /dev/disk4 (external, physical):这个就是我们的SD卡

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.9 GB    disk4
   1:             Windows_FAT_32 NO NAME                 31.9 GB    disk4s1

 diskutil unmountdisk /dev/disk4

localhost:dev wangliang$ diskutil unmountdisk /dev/disk4
Unmount of all volumes on disk4 was successful

sudo  dd if=/Users/wangliang/Downloads/2017-04-10-raspbian-jessie-lite.img of=/dev/disk4 bs=2m

localhost:dev xxxxxx$ sudo  dd if=/Users/wangliang/Downloads/2017-04-10-raspbian-jessie-lite.img of=/dev/disk4 bs=2m
Password:
618+1 records in
618+1 records out
1297862656 bytes transferred in 471.000383 secs (2755545 bytes/sec)
localhost:dev xxxxxx$

10.设置IP有两种方式,动态的和静态的,先来设置动态的

http://ju.outofmemory.cn/entry/158265

#动态IP
iface wlan0 inet dhcp
wpa-ssid xxxxx
wpa-psk xxxxxx
inface default inet dhcp

#静态IP设置
#iface wlan0 inet static
#wpa-ssid xxxxx
#wpa-psk xxxxxx
#address 192.168.1.108
#netmask 255.255.255.0
#gateway 192.168.1.1
#network 192.168.1.1
#inface default inet dhcp

 

第三部分:树莓派LNMP开Web服务器搭网站

sudo shutdowm -h now

ACT指示灯熄灭后,再拔掉USB电源。

 

第二部分:安全关闭树莓派

安装Nginx

sudo apt-get install nginx

这里要搞懂几个目录及文件

  1. /etc/nginx/
        1./etc/nginx/sites-available/default        #ngnix配置文件
  2. /etc/init.d/nginx                                       #启动/关闭/重启 ngnix服务
  3. /usr/share/nginx/html/                             #ngnix默认Web目录
        1./usr/share/nginx/html/index.html
  4. /var/www/html/                                       #通过配置文件修改为ngnix的Web目录
  5.     1./var/www/html/index.nginx-debian.html

nginx 安装在Linux的/etc/目录下

pi@xiaoxiao:/etc$ ls -l nginx/
total 56
drwxr-xr-x 2 root root 4096 Oct 28 02:34 conf.d
-rw-r--r-- 1 root root 1034 Oct 28 02:22 fastcgi.conf
-rw-r--r-- 1 root root  964 Oct 28 02:22 fastcgi_params
-rw-r--r-- 1 root root 2837 Oct 28 02:22 koi-utf
-rw-r--r-- 1 root root 2223 Oct 28 02:22 koi-win
-rw-r--r-- 1 root root 3957 Oct 28 02:22 mime.types
-rw-r--r-- 1 root root 1459 Oct 28 02:22 nginx.conf
-rw-r--r-- 1 root root  180 Oct 28 02:22 proxy_params
-rw-r--r-- 1 root root  596 Oct 28 02:22 scgi_params
drwxr-xr-x 2 root root 4096 Apr 18 09:26 sites-available
drwxr-xr-x 2 root root 4096 Apr 18 09:26 sites-enabled
drwxr-xr-x 2 root root 4096 Apr 18 09:26 snippets
-rw-r--r-- 1 root root  623 Oct 28 02:22 uwsgi_params
-rw-r--r-- 1 root root 3071 Oct 28 02:22 win-utf
pi@xiaoxiao:/etc$

安装完成,nginx已经启动了,如果没有启动,使用命令启动nginx

pi@xiaoxiao:/etc/init.d$nginx start

启动完成,打开浏览器输入本机ip:

看到如图内容,Nginx服务启动成功

nginx的默认Web目录为 /usr/share/nginx/html中

pi@xiaoxiao:~d$ ls /usr/share/nginx/html

index.html

可上图浏览器查看的文件存放在/var/www/html/目录下

目录:/var/www/html/

pi@xiaoxiao:/var/www/html$ ls -l
total 172
-rw-r--r-- 1 root root    867 Apr 18 09:26 index.nginx-debian.html
-rw-r--r-- 1 root root 168373 Apr 18 11:45 live.jpg
pi@xiaoxiao:/var/www/html$

配置文件中可修改站点目录的路径

修改方式,打开配置文件 

vi /etc/nginx/sites-available/default

 

我们修改Ngnix Web站点目录路径为:/var/www/html/

拷贝一个图片文件live.jpg到站点目录,并用浏览器查看

浏览器查看PHP文件

站点目录下创建PHP脚本文件:index-raspberry-pi.php

<! DOCTYPE html>
<tile>云创智能家庭</tile>
<body>
<p>欢迎回家</p>
<div></div>
</body>

浏览器查看该PHP文件http://192.168.1.100/index-raspberry-pi.php

结果浏览器并没有解析php文件内容,而是下载了文件。

配置Nginx

配置方式一:

参考文章https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&context=%7B%22sourceFrom%22%3A%22bjh%22%2C%22nid%22%3A%22news_3567640171901850820%22%7D

 中的方式配置方法:

打开站点配置文件,进行编辑:

sudo vi/etc/nginx/sites-available/default

然后按下i进入编辑模式,在

server{

……

}

的大括号内的最后加上:

location~.*\.php(\/.*)*${

    fastcgi_split_path_info^(.+\.php)(/.+)$;

    fastcgi_passunix:/var/run/php5-fpm.sock;

    fastcgi_indexindex.php;

    fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;

    includefastcgi_params;
}

然后按下ESC,再输入:

:wq

按下Enter,退出了编辑器。重启Nginx:

sudo  /etc/init.d/nginx  restart

重启失败,错误提示

第一次接触Ngnix,摸石头过河,网上搜索了一个多小时,无果。放弃了。

在无望之时,坐下来心平气和的喝杯茶,心平静下来后,还是得从配置的每一个选项开始研究,不能知其然而不知其所以然,经过研究,算是弄明白些,也配置成功了,浏览器可正确处理PHP代码了,最终的配置文件内容:

server {
        listen 8080 default_server;
        root /usr/share/nginx/html;
        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }
        location ~ \.php$ {
                root    /usr/share/nginx/html;
                try_files $uri = 404;
                include /etc/nginx/fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_index index.php;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
               #fastcgi_pass 127.0.0.1:9000;
        }
}

 

安装MySQL

MySQL是数据库服务程序。直接安装:

sudo apt-get installmysql-server mysql-client

安装过程中要求输密码,随便设定,最好设个强密码。这样就装好了。

 

安装PHP5

pi@xiaoxiao:/etc/init.d$ sudo apt-get install php5-fpm php5-cgi php5-cli php5-curl php5-gd php5-mcrypt php5-mysql

 

检验开发环境

启动Nginx服务

sudo /etc/init.d/nginx restart

查看html

<! DOCTYPE html>
<mate charset="utf-8"/>
<tile>云创智能家庭</tile>
<body>
<h1>欢迎访问云创智能家庭</h1>
<div></div>
</body>

查看PHP

<! DOCTYPE html>
<mate charset="utf-8"/>
<tile>云创智能家庭</tile>
<body>
<h1>欢迎访问云创智能家庭</h1>
<?php
"Hello, World!"
?>
<div></div>
</body>

到此,树莓派上搭建Web站点服务到此结束,有不清楚的留言!

树莓派LNMP开Web服务器搭网站,可外网访问:

https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&context=%7B%22sourceFrom%22%3A%22bjh%22%2C%22nid%22%3A%22news_3567640171901850820%22%7D

将树莓派变成一个Web服务器
http://www.eeboard.com/bbs/thread-27383-1-1.html

 

 

 

 

© 著作权归作者所有

枫TI
粉丝 14
博文 111
码字总数 66620
作品 2
东城
私信 提问
一本好书分享《Raspberry Pi快速入门指南》

Raspberry Pi快速入门指南 前言(摘取) Pi 也是一个了不起的 电子实验平台,与 Arduino 等流行的微控制器板不同的是,Pi 上可以运行一个完全成熟的操作系统,你可以选择各种通用的编程语言来...

奥松机器人
2013/12/06
6.3K
4
来自新手Banana Pi香蕉派初体验

一、前言 一段时间来对有强大的技术支持和完善的社区的Raspberry Pi很感兴趣,本想入一片学习学习,但转念一想Raspberry PI硬件配置似乎太老,有点“玩具”,于是徘徊了。3月底在eeboard闲逛...

sinovoip
2014/05/06
405
0
IoT 101:IoT 开发人员入门指南

IoT 101:IoT 开发人员入门指南 IoT 开发人员如何快速开始开发 Anna Gerber 和Michelle Corbin 2017 年 10 月 30 日发布 获取最佳工具、培训和社区资源的每月集萃,帮助您开始开发自己的 Io...

Anna Gerber
2017/10/30
0
0
Raspberry Pi 4 发布:更快的 CPU、更大的内存

Raspberry Pi 最新版 Raspberry Pi 4 Model B 已发布,此版本也是目前为止最快的版本。Raspberry Pi 公司称其桌面性能堪比入门级的 x86 PC 系统。 Raspberry Pi 4 采用了博通 BCM2711 SoC,包...

局长
06/24
22.6K
95
树莓派使用入门:如何更新树莓派

在我们的树莓派入门指南的第七篇学习如何给树莓派打补丁。 像平板电脑、手机和笔记本电脑一样,你需要更新树莓派。最新的增强功能不仅可以使你的派运行顺畅,还可以让它更安全,特别是在如果...

作者: Anderson Silva
03/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部