怎么使用树莓派和 iPad Pro 备份图片_树莓pad照片


注意:它必须放在如果已经有的其它接口行**之上**。



**3. 编辑接口**

现在设置静态 IP,使用 sudo nano /etc/network/interfaces 打开接口配置文件,按照如下信息编辑wlan0部分:



allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


同样,然后 wlan1 编辑如下:



#allow-hotplug wlan1
#iface wlan1 inet manual

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


**重要:** 使用sudo service dhcpcd restart命令重启 dhcpd服务,然后用sudo ifdown eth0; sudo ifup wlan0 命令来重载wlan0的配置。



**4. 配置 Hostapd**

接下来,我们需要配置 hostapd,使用 sudo nano /etc/hostapd/hostapd.conf 命令创建一个新的配置文件,内容如下:



interface=wlan0

Use the nl80211 driver with the brcmfmac driver

driver=nl80211

This is the name of the network

ssid=YOUR_NETWORK_NAME_HERE

Use the 2.4GHz band

hw_mode=g

Use channel 6

channel=6

Enable 802.11n

ieee80211n=1

Enable QoS Support

wmm_enabled=1

Enable 40MHz channels with 20ns guard interval

ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

Accept all MAC addresses

macaddr_acl=0

Use WPA authentication

auth_algs=1

Require clients to know the network name

ignore_broadcast_ssid=0

Use WPA2

wpa=2

Use a pre-shared key

wpa_key_mgmt=WPA-PSK

The network passphrase

wpa_passphrase=YOUR_NEW_WIFI_PASSWORD_HERE

Use AES, instead of TKIP

rsn_pairwise=CCMP


配置完成后,我们需要告诉dhcpcd 在系统启动运行时到哪里寻找配置文件。 使用 sudo nano /etc/default/hostapd 命令打开默认配置文件,然后找到#DAEMON\_CONF="" 替换成DAEMON\_CONF="/etc/hostapd/hostapd.conf"。



**5. 配置 Dnsmasq**

自带的 dnsmasp 配置文件包含很多信息方便你使用它,但是我们不需要那么多选项,我建议把它移动到别的地方(而不要删除它),然后自己创建一个新文件:



sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf


粘贴下面的信息到新文件中:



interface=wlan0 # Use interface wlan0
listen-address=192.168.1.1 # Explicitly specify the address to listen on
bind-interfaces # Bind to the interface to make sure we aren’t sending things elsewhere
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don’t forward short names
bogus-priv # Never forward addresses in the non-routed address spaces.
dhcp-range=192.168.1.50,192.168.1.100,12h # Assign IP addresses in that range with a 12 hour lease time



**6. 设置 IPv4 转发**

最后我们需要做的事就是配置包转发,用 sudo nano /etc/sysctl.conf 命令打开 sysctl.conf文件,将包含 net.ipv4.ip\_forward=1的那一行之前的#号删除,它将在下次重启时生效。


我们还需要给连接到树莓派的设备通过 WIFI 分享互联网连接,做一个wlan0和eth0 之间的 NAT。我们可以参照下面的脚本来实现。



sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT


我命名这个脚本名为 hotspot-boot.sh,然后让它可以执行:



sudo chmod 755 hotspot-boot.sh


该脚本应该在树莓派启动的时候运行。有很多方法实现,下面是我实现的方式:


1. 把文件放到/home/pi/scripts目录下。
2. 输入sudo nano /etc/rc.local命令编辑rc.local 文件,将运行该脚本的命令放到 exit 0之前。(更多信息参照这里)。


编辑后rc.local看起来像这样:



#!/bin/sh -e

rc.local

This script is executed at the end of each multiuser runlevel.

Make sure that the script will “exit 0” on success or any other

value on error.

In order to enable or disable this script just change the execution

bits.

By default this script does nothing.

Print the IP address

_IP= ( h o s t n a m e − I ) ∣ ∣ t r u e i f [ " (hostname -I) || true if [ " (hostnameI)∣∣trueif["_IP" ]; then
printf “My IP address is %s/n” “$_IP”
fi

sudo /home/pi/scripts/hotspot-boot.sh &

exit 0



**安装 Samba 服务和 NTFS 兼容驱动**

![怎么使用树莓派和 iPad Pro 备份图片怎么使用树莓派和 iPad Pro 备份图片](http://www.linuxprobe.com/wp-content/uploads/2016/09/%E6%A0%91%E8%8E%93%E6%B4%BE.png "怎么使用树莓派和 iPad Pro 备份图片怎么使用树莓派和 iPad Pro 备份图片")


我们要安装下面几个软件来启用 samba 协议,使文件浏览器能够访问树莓派分享的文件夹,ntfs-3g 可以使我们能够访问移动硬盘中 ntfs 文件系统的文件。



sudo apt-get install ntfs-3g
sudo apt-get install samba samba-common-bin


你可以参照这些文档来配置 Samba。


**重要提示:**参考的文档介绍的是挂载外置硬盘到树莓派上,我们不这样做,是因为在这篇文章写作的时候,树莓派在启动时的 auto-mounts 功能同时将 SD 卡和优盘挂载到/media/pi/上,该文章有一些多余的功能我们也不会采用。



**Python 脚本**

树莓派配置好后,我们需要开发脚本来实际拷贝和备份照片。注意,这个脚本只是提供了特定的自动化备份进程,如果你有基本的 Linux/树莓派命令行操作的技能,你可以 ssh 进树莓派,然后创建需要的文件夹,使用cp或rsync命令拷贝你自己的照片从一个设备到另外一个设备上。在脚本里我们用rsync命令,这个命令比较可靠而且支持增量备份。


这个过程依赖两个文件,脚本文件自身和backup\_photos.conf这个配置文件,后者只有几行包含被挂载的目的驱动器(优盘)和应该挂载到哪个目录,它看起来是这样的:



mount folder=/media/pi/
destination folder=PDRIVE128GB


重要提示:在这个符号=前后不要添加多余的空格,否则脚本会失效。


下面是这个 Python 脚本,我把它命名为backup\_photos.py,把它放到了/home/pi/scripts/目录下,我在每行都做了注释可以方便的查看各行的功能。



#!/usr/bin/python3

import os
import sys
from sh import rsync

‘’’
脚本将挂载到 /media/pi 的 SD 卡上的内容复制到目的磁盘的同名目录下,目的磁盘的名字在 .conf文件里定义好了。

Argument: label/name of the mounted SD Card.
‘’’

CONFIG_FILE = ‘/home/pi/scripts/backup_photos.conf’
ORIGIN_DEV = sys.argv[1]

def create_folder(path):

print ('attempting to create destination folder: ',path)
if not os.path.exists(path):
    try: 
        os.mkdir(path)
        print ('Folder created.')
    except:
        print ('Folder could not be created. Stopping.')
        return
else:
    print ('Folder already in path. Using that instead.')

confFile = open(CONFIG_FILE,‘rU’)
#重要: rU 选项将以统一换行模式打开文件,
#所以 /n 和/或 /r 都被识别为一个新行。

confList = confFile.readlines()
confFile.close()

for line in confList:
line = line.strip(‘/n’)

try:
    name , value = line.split('=')

    if name == 'mount folder':
        mountFolder = value
    elif name == 'destination folder':
        destDevice = value


except ValueError:
    print ('Incorrect line format. Passing.')
    pass

destFolder = mountFolder+destDevice+‘/’+ORIGIN_DEV
create_folder(destFolder)

print (‘Copying files…’)

取消这行备注将删除不在源处的文件

rsync(“-av”, “–delete”, mountFolder+ORIGIN_DEV, destFolder)

rsync(“-av”, mountFolder+ORIGIN_DEV+‘/’, destFolder)

print (‘Done.’)

![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)



最全的Linux教程,Linux从入门到精通

======================

1.  **linux从入门到精通(第2版)**

2.  **Linux系统移植**

3.  **Linux驱动开发入门与实战**

4.  **LINUX 系统移植 第2版**

5.  **Linux开源网络全栈详解 从DPDK到OpenFlow**



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)



第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)



**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**

> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论


  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值