燒 SD 卡
把 micro SD 卡 插上 Adapter 後, 就可以透過 Adapter 讀寫 SD 卡裡面的內容
接下來插到電腦後,去 RPI 官網 下載 Image 檔,也就是等等 RPI 開機要用的作業系統,我都是裝這個 Raspbian Stretch Lite,這個不支援螢幕,反正我也不會用到。(要用螢幕可以用這個 Raspbian Stretch with desktop)
燒入的程式,我用 Rufus (這個也可以把 Image 燒進 USB 隨身碟裡)。
- 開機模式: 選剛剛下載的 Image
- 裝置: 剛剛插入的 SD 卡
偶而會執行失敗,第二次就可以。
完成後,先別急著移除 SD 卡。
開啟燒好的 SD 卡,要放兩個檔案(ssh
, wpa_supplicant.conf
),記得不要加副檔名(如 txt)
ssh
是空白檔案
wpa_supplicant.conf
裡面 寫入(注意,格式不可以跑掉)
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=TWnetwork={
ssid="your_SSID"
psk="your_PSK"
key_mgmt=WPA-PSK
}
- 基本上沒意外,大部分的設備都是 `WPA-PSK`
- your_ssid 就寫你 WIFI 的名字(大小也很重要)(括號要在)
- your_psk 就寫 wifi 密碼
當然你可以設定多個 像這樣
network={
ssid="your_SSID1"
psk="your_PSK"
key_mgmt=WPA-PSK
}
network={
ssid="your_SSID2"
psk="your_PSK"
key_mgmt=WPA-PSK
}
你可以使用自己手機筆電的 Hotspot ,移動到其他地方比較方便。
找到並登入 RPI
插入 SD 跟 電源後
- 如果你有 router 權限(如 自己開的 HotSpot),應該能看到 RPI 的 IP
2. 直接搜在哪裡
- windows: https://angryip.org/download/#windows
- linux: 用
nmap
先安裝sudo apt install nmap
,使用:nmap -sL 192.168.34.0/24
,可以看到Nmap scan report for raspberrypi (192.168.34.243)
這樣都沒找到,代表你可能密碼設錯了。(1, 重新燒 2. 接網路線到 router 或自己的電腦)
登入 By ssh
- windows: https://www.putty.org/
- linux:
ssh -Y pi@192.168.34.243
就可以了(預設port=22)
預設帳號是: pi
預設密碼是: raspberry
設定RPI
登入後,應該看到文字介面,請熟悉他,他就是 linux 系統,然後你輸入的就叫 Command line
- 第一件事情就是改密碼 輸入
passwd
- 更新
sudo apt-get update
sudo apt-get upgrade
3. 安裝一些重要的(Optional) sudo apt-get install tmux vim-gtk
4.升級韌體 sudo rpi-update
5. 如果有 locale 問題,可以參考這篇 https://unix.stackexchange.com/questions/277909/updated-my-arch-linux-server-and-now-i-get-tmux-need-utf-8-locale-lc-ctype-bu
6. 換時區sudo dpkg-reconfigure tzdata
使用 Camera
我是使用插 USB 的 Camera 拉,比較方便
然後程式語言是 python3
套件是 opencv
Note: 本章節當你會操作文字編輯器(如 vim 之類的) and 稍微熟悉 linux
安裝 opencv,因為我討厭從頭 Build ,所以使用 pip 安裝是最快的
sudo apt install -y python3-pip libatlas-base-dev webp libjasper-dev libilmbase-dev libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libqtgui4 libqt4-test libgstreamer1.0-dev
pip3 install numpy opencv-python
- 測試,應該能看到拍攝圖片
# test.py
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
cv2.imshow('image', frame)
cv2.waitKey(10000)
cv2.destroyAllWindows()
cap.release()
執行就 python3 test.py
之後都是這樣
結果
- 每秒拍三張拍照並儲存但不會顯示
(注意儲存路徑)
- 每小時拍一張
使用 crontab,sudo service crontab start
設定排程 crontab -e
,然後在最後面加這一行
0 * * * * (cd /home/pi && python3 save_one.py >> cron.txt)
至於前面五個符號是甚麼意思,你可以玩玩看這個 https://crontab.guru/