Raspberry Pi」カテゴリーアーカイブ

MicroSD(32GB, Raspberry Pi)をイメージファイル(.img)にする Raspberry Pi

MicroSD(32GB, Raspberry Piで動作) → .imgイメージファイル(32GB)、ツール Disk@ubuntu

.imgファイル(32GB) → MicroSD(32GB)に書き込む、ツールはDisk@ubuntu
Raspberry Piで動作する(Restore OK)

.imgファイル(32GB)を7z圧縮 → サイズが2.2GBになる

MicroSD(32GB)・パーティション(31GB)をリサイズしFree Space(27GB)を確保
ツールはGparted@ubuntu

MicroSD(32GB)・パーティション(31GB)をリサイズしFree Space(27GB)を確保
ツールはDisk@ubuntu

MicroSD(32GB, FreeSpace27GB) → .imgイメージファイル(32GB)、ツール Disk@ubuntu

MicroSD(32GB, FreeSpace27GB) をマウントし、容量などを確認、リネーム

.imgイメージファイル(32GB) → .imgイメージファイル(3.6GB) リサイズする
$ fdisk -lu x.img
$ truncate –size=$[(6969343+1)*512] x.img

.imgイメージファイル(3.6GB)をマウントし、容量などを確認

.imgイメージファイル(3.6GB) → MicroSD(16GB, FreeSpace12GB)に書き込む
Raspberry Piで動作する(Restore OK)

Raspberry Piで動作確認OK、使用可能容量2.9GB

MicroSD(16GB, FreeSpace12GB)、パーティションをリサイズし使用可能容量を増やす

Raspberry Piで動作確認OK、使用可能容量14GB

SWAPを無効にする Raspberry Pi Zero

SWAPを無効にする Raspberry Pi Zero スワップ領域
#設定確認 /etc/dphys-swapfile > CONF_SWAPSIZE=100
$ free -h #スワップサイズを確認する

#スワップを無効にする
$ sudo swapoff –all #一時的に無効になるだけでシステム再起動するとサービスが自動起動する
$ sudo reboot #システム再起動

#サービスを停止して自動起動も無効にする
$ sudo systemctl stop dphys-swapfile #サービス停止
$ sudo systemctl disable dphys-swapfile #サービスを無効にする(自動起動も)
$ sudo reboot #システム再起動

#サービス開始して自動起動も有効にする
$ sudo systemctl enable dphys-swapfile #サービスを有効にする(自動起動も)
$ sudo systemctl start dphys-swapfile #サービス開始(システム再起動不要)

#swapファイルを削除する(swapをしない場合)
サービス停止(上記など)、 /var/swap ファイルを削除、 システム再起動、 /var/swap が生成されていない

#※ swapパッケージを削除する、後で検証する
$ sudo apt purge dphys-swapfile #設定ファイルも含めた完全削除
$ sudo apt autoremove dphys-swapfile #不要なパッケージも削除

検証 GPIO 出力ポートを反転 トグル出力

検証 GPIO 出力ポートを反転 トグル出力 Raspberry PI Zero WH
(test.py)
import RPi.GPIO as GPIO
#GPIOポート設定
GPIO.setwarnings(False) #disable RuntimeWarning: This channel is already in use, continuing anyway
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT, initial=GPIO.HIGH) #default=HIGH?
GPIO.setup(18, GPIO.OUT) #default=HIGH? 前回の設定が継続される

GPIO.output(17, 0) #トグル信号発信
print(GPIO.input(17)) #0が表示される
GPIO.output(17, 1) #トグル信号発信
print(GPIO.input(17)) #1が表示される

print(not 0,not 1,1^1,1^0) #True False 0 1

GPIO.output(18, 1^GPIO.input(18)) #xor ビット反転 #入力ピンの値なのか出力レジスタ値なのかは不明
print(GPIO.input(18))

#GPIO.cleanup(17) #GPIO.cleanup(here) OR GPIO.setwarnings(above)

#入力ピンの値ならノイズの影響を受ける

ディレクトリパーミッション ディレクトリ内のファイル操作について

ディレクトリパーミッション ディレクトリ内のファイル操作について chown directory permission
40755 owner[rwx] group[r-x] other[r-x]
OK RW@ssh@terminal
OK code実行@ssh@terminal
OK code実行@cron

40744 owner[rwx] group[r–] other[r–]
OK RW@ssh@terminal
OK code実行@ssh@terminal

40700 owner[rwx] group[—] other[—]
OK RW@ssh@terminal
OK code実行@ssh@terminal