Raspberry 每5分钟拍一张照片并上传到远程服务器

  1. 启动 raspberry的 camera 功能
    命令行 raspi-config 找到拍照设置,enable 它。 退出并选则重启
  2. 编写拍照并上传的脚本 脚本放在 /var/spool/cron/pi 目录,命名为 photo.sh

    \#!/bin/sh

    cd /home/pi/photo
    time=$(date +"%H%M")
    suffix=.jpg
    fileName=img$time$suffix

    raspistill -t 1000 -o $fileName
    sshpass -p 密码 scp $fileName 用户名@192.168.1.108:/mnt/远程目录/$fileName
    rm $fileName

  3. 加入 cron job
    crontab -e
    加入 ×/5 5-23 × × × /var/spool/cron/pi/photo.sh
    (上面的×是星号)
  4. 重启 cron 进程
    sudo service cron restart

可能遇到的问题
sshpass 没有安装 : sudo apt-get install sshpass
脚本正常执行, 却没有scp copy 到远程: 可能没有接收ssh key, 手工 ssh 登录一次
不要使用 sudo crontab -e, 这是以 root 的身份加
上面的脚本只保留一天的照片所以第二天会覆盖第一天的。

Raspberry pi 2 B 初始设置

只买了 Raspberry Pi 2 B 的主机, wifi连接接口, 初始设置使用 hdmi 连接电视。需要先通过网线连接,到路由器管理界面看它的 树梅派 的IP 地址

  1. 官方下载 image
    (我下载的是 RASPBIAN JESSIE LITE 只有350多M,解压后的 .img 文件1.5G左右)
  2. 根据官方文档写入sd卡 我是linux 上写入, 其实就一个命令:
    dd bs=4M if=2015-11-21-raspbian-jessie.img of=/dev/sdd
  3. 插上显示器(我用的是hdmi 接电视)网线,无线wifi 接口,以及上面写入image的 mirco sd卡
  4. 到路由器界面看 树梅派 用的IP (我的192.168.1.141)
  5. ssh 登录到 树梅派 ssh pi@192.168.1.141
    密码是默认 raspberry
  6. 设置无线wifi
    官方文档 这里
    sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
    设置好之后,到路由器管理界面去看它的新IP, 就可以拔掉网线了
  7. 再次到路由器管理界面看树梅派使用无线wifi 连接的IP
  8. 添加新用户
    mkdir /home/foo //新建foo的home文件夹
    groupadd general //创建general group
    useradd -g general -d /home/foo foo //创建用户foo
    passwd foo //改密码
    chown /home/foo foo //赋予home文件夹 权限
    visudo 添加sudo权限 (ctr + M是写入)
  9. 更改root密码

爱上 Raspberry Pi - 读书笔记

Raspberry Pi 2 B 概要: https://www.raspberrypi.org/products/raspberry-pi-2-model-b/

Raspberry Pi 的基本输入输出接口:

GPIO: General Purpose Input and Output 通用输入输出接口
DSI: Display Serial Interface 用15针扁平线缆连接显示屏
CSI: Camera Serial Interface 连接摄像头

Raspbian 预装了 LXDE (Lightweight X11 Desktop Environment) 的图形桌面环境. 可以通过 raspi-config 设置默认启动与否. 如果没启动可以在名两行通过 startx 启动.

Raspberry pi 的 GPIO 无法连接到模拟信号输出的传感器上,必须通过一个模数转换器(ADC) 芯片, 才能读取模拟值.

官方关于GPIO: https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/
更多关于GPIO的内容: http://pinout.xyz/

WIFI 协议 读书笔记

PKI: Public Key Infrastructure, 有又称 非对称加密 asymmetric encryption;
PSK: Pre-Shared Key.
MAC: Media Access Control;
WPA: Wi-Fi Protected Access;
TKIP: Temporal Key Integrity Protocol;
MIC: Michael integrity check, TKIP 使用这个 Michael 作为完整性check的方法.
TSC: TKIP sequence, 类似 IV;
TLS/SSL :Transport Layer Security/Secure Sockets Layer;
SSH: Secure Shell;
EAP: extensible authentication protocol;
FCS: frame check sequence, 有很多实现, CRC 32 就是其中一种实现算法;
ICV: Integrity Check Value, MAC 层加密之前后边追加 ICV, 加密之后的 frame 上追加的是 CRC, CRC可以被中间人截获,重算, ICV 不可能, 因为没有被解密, 无法重算;
MSDU: MAC service data unit, IP层传给 MAC 层的数据单元, 可以拆分成多个 MPDU;
MPDU: MAC protocol data unit;
RC4: Rivest Cipher 4, Rivest 设计的第4代加密算法, 加密解密用一个函数.

使用命令行扫描无线访问点:
iwlist wlan0 scanning
sudo iwlist wlan0 scan
使用命令行配置访问点: (iwconfig 相对于ifconfig, 只设置 wireless 相关的接口设置).
iwconfig wlan0 essid "tp_link_89s3sd"
使用命令行设置IP
ifconfig wlan0 192.168.0.2 netmask 255.255.255.0 up
显示路由表 (显示或者操作路由表)
route -n

WEP -> RC4 -> 128 (104 bit key + 24 bit IV) -> 流加密 -> 24 bit IV 明文传输 -> IV reuse.
WEP -> 两种Key -> Default Key[4 keys] 和 Key Mapping Key

WPA -> TKIP -> RC4
RSN -> WPA2 ->

802.3 -> Ethernet -> Hub
802.11 -> WLAN -> AP (Infrastructure)

802.11 -> Infrastructure & ad-hoc mode

802.11 和 WIFI 的关系就是, 一个是理论, 一个是实际实现.

WEP
RSN (WPA + WPA2).

加密算法: 流式加密/块加密
解密方式: 对称加密/非对称加密

WPA2 is used in CCMP (counter with CBC MAC protocol) mode for implementing AES in 802.11i, including:

-128-bit keys;
-Using AES in CBC-MAC mode for calculating MIC and AES in counter mode for data encryption; and
-Guaranteeing 48 bit initialisation vector.

WEP 加密过程:
WEP.png

WEP, WPA, WPA2 对比
wepwpawpa2Diff.jpg

[读书笔记] 802.11 RSN WPA

IEEE 802.11 工作组是一个技术标准委员会, WIFI 联盟是主要的WIFI 设备厂家的联盟. 经过 WIFI 联盟的测试程序测试通过的, 可以打上 WIFI 的logo. 在这个测试中不是所有 802.11 的功能都是必须的, 同时还添加了一下其他小的功能, 来保证互操作性.

802.11i 定义了一种新的无线网络, 称之为: robust security network (RSN). RSN 只能和 RSN 设备互操作.
802.11i 对应于 RSN.
由于算法的不同, 老的 WEP 设备不能升级到 RSN 算法的网络.
transitional security network (TSN) 是一个介于 WEP 和 RSN的中间过度网络.

TKIP: Temporal Key Integrity Protocol. TKIP 是 RSN 网络下一个可选的 模式. 对应于 RC4 和 AES.

由于新的标准 RSN 迟迟不能完成, 即使完成, 也无法在现有支持 WEP的设备上通过软件升级使用, WIFI联盟 就想定义一个新的协议可以在现有设备上运行, 这个协议就是 TKIP, 但是TKIP 的审批需要很长时间, 于是WIFI 联盟就采用了一个基于 RSN 草案的安全方法, 但是仅仅采用TKIP算法, 这种新的RSN 之集的标准, 称之为: WPA (Wi-Fi Protected Access)

RSN 和 WPA 使用通用的架构和方式, RSN 让实现更灵活, WPA 则强调实现一种方式去实现网络. RSN 支持 AES 芯片加密, WPA 则主要是 TKIP.