RPI 快速設定

linnil1
7 min readMar 19, 2019

--

隨著物聯網的普及,越來越多人使用 Raspberry Pi,可是安裝部分都有點點小麻煩,所以我發現了不用接網路線、不用外接螢幕的方式。

然後使用 python 的 opencv 來做影像蒐集,也發現其實安裝他不用從頭 build 很浪費時間,用 pip 裝就好,不過要在自己手動裝一些 dependency 的library。

硬體

我的機器是 RPI 3 Model B+。

從零件到組裝,應該不難ㄅ

盒子
RPI 本尊
貼上散熱片
加上盒子(選購)

燒 SD 卡

Micro Sd 卡 跟 Adapter

把 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=TW
network={
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 跟 電源後

正在運作中
  1. 如果你有 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

預設帳號是: pi

預設密碼是: raspberry

設定RPI

登入後,應該看到文字介面,請熟悉他,他就是 linux 系統,然後你輸入的就叫 Command line

  1. 第一件事情就是改密碼 輸入 passwd
  2. 更新
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/

--

--

linnil1
linnil1

Written by linnil1

目前做生物資訊與演算法,過去做過 Machine Vision(Deep learning),維護伺服器(k8s, docker),部分IOT(rpi, arduino)

No responses yet