### ex3-1 ### # 在樹莓派官方網頁,下載作業系統的燒錄程式 https://www.raspberrypi.com/software/ ### ex3-2 ### # 加入下面四行 (第一行為註解) 到樹莓派的 /boot/config.txt # Enable TTL dtoverlay=pi3-miniuart-bt core_freq=250 enable_uart=1 ### ex3-3 ### # PL2303 driver for Windows (https://24h.pchome.com.tw/prod/DSAJ2B-A9009BJ6X) http://avrtx.cn/download/USB%20driver/PL2303/pl2303_332102_64.zip # PL2303 舊版驅動 https://drive.google.com/file/d/1Q_L1XVLaOp3ElZTmf9u57FwiF5ldTc6F/view?usp=sharing # PL2303 舊版驅動安裝教學 https://reurl.cc/y6OOj8 ### ex3-4 ### # 下載 putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html ### ex3-5 ### ~$ nano myfile.txt ### ex3-6 ### ~$ mkdir ex3-1 # 建立目錄 ~$ rm -rf ex3-1 # 刪除目錄 ~$ rm myfile.txt # 刪除檔案 ~$ mkdir ex3-1 # 建立目錄 ~$ cd ex3-1 # 變更目錄到指定位置 ~$ cd ~ # 回到家目錄 ### ex3-7 ### ~$ ifconfig wlan0 # 檢查第一張無線網卡的設定 ~$ ifconfig # 檢查所有網卡的設定 ### ex3-8 ### ~$ sudo raspi-config ### ex3-9 ### # 手動設定無線網卡 ~$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ### ex3-10 ### # 下載 VNC Viewer https://www.realvnc.com/en/connect/download/viewer/ ### ex3-11 ### # 調整解析度分辨率 ~$ sudo nano /boot/config.txt ### ex3-12 ### # 檢查相機狀態指令 ~$ vcgencmd get_camera ### ex3-13 ### # 5 秒後拍照 (預設),檔案 test.jpg (-o) ~$ raspistill -o test.jpg # 3 秒後拍照,並編碼成 png 格式 (-e),長 640 x 寬 480 ~$ raspistill -t 3000 -o test.png -e png -w 640 -h 480 ### ex3-14 ### # WinSCP 下載 https://winscp.net/eng/download.php ### ex3-15 ### # Xming 下載 https://sourceforge.net/projects/xming/ ### ex3-16 ### # 遠端開啟照片檔 ~$ gpicview test.jpg & ~$ gpicview test.png & ### ex3-17 ### # 修改 X11Forwarding no --> yes ~$ sudo nano /etc/ssh/sshd_config ### ex3-18 ### ~$ python -V # 顯示目前的 Python 2 版本 ~$ python3 -V # 顯示目前的 Python 3 版本 ~$ python # 進入 Python 2 的互動模式 ~$ exit() # 離開互動模式 ~$ python3 # 進入 Python 3 的互動模式 ### ex3-19 ### ~$ mkdir ~/ch3 && cd ~/ch3 # 在家目錄下建立 ch03 資料夾,並進入該資料夾 ~/ch3$ nano ex3-1.py # 新增一個 Python 的程式檔 ### ex3-20 (ex3-1.py) ### # 暫停 5 秒後,印出 Hello World! from time import sleep sleep(5) print('Hello World!') ### ex3-21 ### ~/ch3$ python3 ex3-1.py # 用 python3 執行程式檔 ### ex3-22 ### ~$ sudo apt-get update # 更新軟體資料庫 ~$ sudo apt-get upgrade # 更新已安裝的軟體 ~$ sudo apt-get install leafpad # 安裝 leafpad ~$ leafpad & # 執行 leafpad ### ex3-23 ### ~$ sudo apt-get install thonny # 安裝 thonny ~$ thonny & # 執行 thonny ### ex3-24 ### # 安裝 virtualenv 和 virtualenvwrapper 套件 ~$ sudo pip3 install virtualenv ~$ sudo pip3 install virtualenvwrapper # 使用 pip3 執行檢查目前安裝的 Python 3 模組,檢查是否有安裝 virtualenv 和 virtualenvwrapper ~$ pip3 list ### ex3-25 ### # 編輯 .bashrc 檔,新增路徑設定,以便可以執行 virtualenvwrapper ~$ sudo nano ~/.bashrc # 加入下列三行到 .bashrc export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh # 重新載入更新的路徑設定 ~$ source ~/.bashrc ### ex3-26 ### # 新增名為 opencv 的 Python 虛擬環境 ~$ mkvirtualenv opencv -p python3 # 關閉目前虛擬環境 ~$ deactivate # 顯示已建立的虛擬環境 ~$ lsvirtualenv # 啟動虛擬環境 ~$ workon opencv # 移除虛擬環境 ~$ rmvirtualenv opencv # 複製虛擬環境 ~$ cpvirtualenv opencv opencv_new ### ex3-27 ### # 步驟一:更新與升級已安裝的套件 ~$ sudo apt-get update # 軟體資料庫同步,升級前都先做 ~$ sudo apt-get upgrade # 升級已安裝的軟體 ### ex3-28 ### # 步驟二:安裝 OpenCV 的相關支援套件 # 安裝 HDF (Hierarchical Data Format version 5) 資料集的套件 ~$ sudo apt-get install -y libhdf5-dev # 安裝矩陣運算和 JPEG-2000 圖片函式庫 ~$ sudo apt-get install -y libatlas-base-dev ~$ sudo apt-get install -y libjasper-dev # 安裝 QT GUI 圖形介面的套件 ~$ sudo apt-get install -y libqtgui4 ~$ sudo apt-get install -y libqt4-test ~$ sudo apt-get install -y python3-pyqt5 ### ex3-29 ### # 步驟三:新增名為 opencv 的 Python 3 虛擬環境 ~$ mkvirtualenv opencv -p python3 # 檢查目前安裝的 Python 模組 (opencv) ~$ pip list ### ex3-30 ### # 步驟四:在虛擬環境安裝支援的 Python 套件 (opencv) ~$ pip install numpy==1.21.4 (opencv) ~$ pip install matplotlib (opencv) ~$ pip install imutils ### ex3-31 ### # 步驟五:在 Python 的虛擬環境中,安裝 OpenCV (opencv) ~$ pip install opencv-python==4.5.4.60 (opencv) ~$ pip install opencv-contrib-python==4.5.4.60 # 輸入指令來檢視虛擬環境安裝的套件清單: (opencv) ~$ pip list ### ex3-32 ### (opencv) ~$ python >>> import cv2 >>> cv2.__version__ ### ex3-33 ### (opencv) ~$ wget http://max543.com/debugger/class/python02/人臉辨識與物體辨識/code/ch1.zip (opencv) ~$ unzip ch1.zip (opencv) ~$ cd ~/ch1 (opencv) ~/ch1$ python 1-7.py ### ex3-34 ### # 步驟一:下載 YOLOv5 原始碼 (opencv) ~$ deactivate # 離開目前的虛擬環境 ~$ cpvirtualenv opencv yolov5 # 從虛擬環境 opencv,複製出一個虛擬環境 yolov5 (yolov5) ~$ cd ~ # 先切換至到家目錄 (yolov5) ~$ git clone https://github.com/ultralytics/yolov5 # 下載 YOLOv5 原始碼 (yolov5) ~$ cd yolov5 # 進入 YOLOv5 資料夾 ### ex3-35 ### # 步驟二:手動安裝所需模組 (yolov5) ~/yolov5$ pip install ipython # 安裝 ipython 互動模式 (yolov5) ~/yolov5$ pip install matplotlib # 安裝 matplotlib (虛擬環境 opencv 已安裝) (yolov5) ~/yolov5$ pip install numpy==1.21.4 # 安裝 numpy (需降級,虛擬環境 opencv 已安裝) (yolov5) ~/yolov5$ pip install opencv-python==4.5.4.60 # 安裝 OpenCV (需降級,虛擬環境 opencv 已安裝) (yolov5) ~/yolov5$ pip install Pillow # 安裝 Pillow (yolov5) ~/yolov5$ pip install psutil # 安裝 psutil (yolov5) ~/yolov5$ pip install PyYAML # 安裝 PyYAML (yolov5) ~/yolov5$ pip install requests # 安裝 requests (yolov5) ~/yolov5$ pip install PyYAML # 安裝 PyYAML (yolov5) ~/yolov5$ pip install scipy # 安裝 scipy # 手動安裝下載的 torch 與 torchvision (yolov5) ~/yolov5$ git clone --recursive https://github.com/sungjuGit/Pytorch-and-Vision-for-Raspberry-Pi-4B # 下載樹莓派 4B 專用的 Pytorch (yolov5) ~/yolov5$ cd Pytorch-and-Vision-for-Raspberry-Pi-4B # 進入 Pytorch-and-Vision-for-Raspberry-Pi-4B 的資料夾 (yolov5) ~/yolov5$ pip install torch-1.8.0a0+56b43f4-cp37-cp37m-linux_armv7l.whl # 安裝 torch-1.8.0a0 (yolov5) ~/yolov5$ pip install torchvision-0.9.0a0+8fb5838-cp37-cp37m-linux_armv7l.whl # 安裝 torchvision-0.9.0a0 (yolov5) ~/yolov5$ sudo apt-get install libopenblas-dev # 安裝 torchvision-0.9.0a0 # 繼續安裝剩餘的模組 (yolov5) ~/yolov5$ pip install thop # 安裝 thop (yolov5) ~/yolov5$ pip install tqdm # 安裝 tqdm (yolov5) ~/yolov5$ pip install tensorboard # 安裝 tensorboard (yolov5) ~/yolov5$ pip install pandas # 安裝 pandas (yolov5) ~/yolov5$ pip install seaborn # 安裝 seaborn ### ex3-36 ### # 使用 YOLOv5 的指令稿進行攝影機偵測,第一台攝影機參數為 --source 0 (yolov5) ~/yolov5$ python detect.py --img 40 --source 0 ### ex3-37 ### # 在樹莓派裡直接下載 Chapter 2 的專案 (ch2.zip) (yolov5) ~/yolov5$ wget http://max543.com/debugger/class/python02/人臉辨識與物體辨識/code/ch2.zip (yolov5) ~/yolov5$ unzip ch2.zip (yolov5) ~/yolov5$ cd ~/ch2/yolov5-master (yolov5) ~/yolov5$ python detect.py --weight runs/train/exp/weights/best.pt --img 40 --source 0 (yolov5) ~/yolov5$ python detect.py --weight runs/train/exp/weights/best.pt --source https://www.youtube.com/watch?v=7BwW2dH6ZI0