-
Notifications
You must be signed in to change notification settings - Fork 2
/
shortcuts.txt
373 lines (291 loc) · 12.1 KB
/
shortcuts.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
このファイルは、コマンドライン入力を簡略化するためのショートカット集です。
コピー&ペースト機能を使うことでコマンドやURLの入力の手間を省くことができます。
(本ファイルの文字コードはUTF8、改行コードはLFです。)
■ お知らせ
Raspberry PiのOSのバージョンによって、異なる場合があります。
全動作を確認したときOSは Raspbian 8 Jessie です。
主要動作は Raspberry Pi OS 10 Buster まで確認しています。
以降も情報やソフトウェアの更新を行っていますが、対応できていない場合があります。
動作しないソフトに関して、どうしても動かしたい場合は、Jessieを導入して下さい。
正し、Jessieを使う場合は、インターネットに接続した状態では使用しないでください。
その他、更新内容についてはgit logにて確認して下さい。
バージョンの確認方法
cat /etc/debian_version
バージョン,コード名
6 Squeeze 初期のRaspberry Pi用OS
7 Wheezy 2015年ごろまで使われていたOS
8 Jessie 動作確認済みOS (但しleafpad ⇒ mousepad 置換済み)
9 Sretch 主要プログラムの動作を確認済み
10 Buster 主要プログラムの動作を確認済み
11 Bullseye 現行OS・動作未確認
12 Bookworm 次期OS(未リリース)
13 Trixie 次次期OS
■ 本書に含まれない情報
・Raspberry Pi用のOS Raspbianは、Raspberry Pi OSに改名されました。
・NOOBSを使わずにインストールできるようになりました(後述)。
・OSの通常版の種類が2つに、またそれぞれに64bit版が加わりました。
Lite版 テキスト文字だけで利用するCLI(コマンドラインインタフェース)
通常版 GUI(グラフィカルユーザインタフェース)が利用可能
Full版 オフィスソフト LibreOffice などが含まれる完全版
32-bit Raspberry Pi 1,2,Zero, Zero W用(3以降でも動作する)
64-bit Raspberry Pi 3以降、Zero 2以降用(CPUに最適化されている)
・Lite版では git コマンドのインストールが必要です。
sudo apt install git
■ 第1章 Raspberry Piの使い方
Raspberry Pi OS(旧名 Raspbian) のインストール方法(Bullseye対応)
※NOOBSを使ったインストールよりも簡単な方法です。
https://bokunimo.net/raspi/install.pdf
SDフォーマッター(上記を使えば不要)
https://www.sdcard.org/downloads/formatter/
NOOBS(上記を使えば不要)
http://downloads.raspberrypi.org/NOOBS_lite/images/
フォントのインストール(現行版では不要)
sudo apt-get install ttf-kochi-gothic
sudo apt-get install fonts-takao
Raspbianのシャットダウン
sudo shutdown -h now
オフィスソフト LibreOffice のインストール(Full版では不要)
sudo apt install libreoffice
IPアドレスを確認する
ifconfig
ネットワークのインタフェースの設定ファイル
sudo mousepad /etc/network/interfaces &
ネットワークサービスの再起動
sudo service networking restart
ブロードキャストPING(終了は[Ctrl]+[C])
ping -b 255.255.255.255
リモートデスクトップ用サーバ xrdp のインストール
sudo apt-get install xrdp # 最新版では不要
※最新のRaspbianには類似のソフトVNC Serverが含まれているので、
xrdp をインストールすることなく Windows からアクセスできます。
使用にするには、Raspberry Piの「設定」の「インターフェイス」
タブ内の「VNC」を有効にしてください。
PC側のクライアントソフトは、VNC-Viewerをダウンロードしてくだ
さい。
https://www.realvnc.com/
ファイル共有サーバ Samba のインストール
sudo apt install samba
sudo mousepad /etc/samba/smb.conf &
[homes]
read only = no
create mask = 0644
sudo pdbedit -a pi
sudo /etc/init.d/samba restart #再起動;最新版では不要
# 最新版(sudo systemctl restart smbd.service)
ファイヤーウォール
sudo apt install iptables-persistent
sudo mousepad /etc/iptables/rules.v4
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p udp --sport 53 -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
# Ping
-I INPUT -p icmp --icmp-type 0 -j ACCEPT
-I INPUT -p icmp --icmp-type 8 -j ACCEPT
# UDP実験用
-A INPUT -p udp --dport 1024 -j ACCEPT
-A INPUT -p udp --dport 3054 -j ACCEPT
-A INPUT -p udp --dport 49152 -j ACCEPT
# SAMBA用
-A INPUT -p tcp --dport 139 -j ACCEPT
-A INPUT -p udp --dport 137 -j ACCEPT
-A INPUT -p udp --dport 138 -j ACCEPT
-A INPUT -p tcp --dport 445 -j ACCEPT
# node-red用
-A INPUT -p tcp --dport 1880 -j ACCEPT
# ntp用
-A INPUT -p udp --dport 123 -j ACCEPT
-A INPUT -p udp --sport 123 -j ACCEPT
COMMIT
sudo iptables-apply /etc/iptables/rules.v4
Raspberry Pi OSのアップデート
sudo apt update # リストのみ更新
sudo apt upgrade # アップデート実行
sudo reboot # システムの再起動
■ 第2章 Linux用コマンドラインシェル:bashの使い方
Text Editorのインストール(mousepadが起動しないときのみ)
sudo apt install mousepad
システムファイルの編集
sudo mousepad システム用ファイル名 &
日本語マニュアルのインストール
sudo apt-get install manpages-ja manpages-ja-dev
プロセスの表示
ps aux
ps aux |tail
プロセスIDの表示(例)
pidof mousepad
■ 第3章 Linux上でC言語プログラミング演習
練習用プログラムのダウンロード
cd
git clone https://github.com/bokunimowakaru/RaspberryPi.git
練習用プログラムのフォルダへ移動
cd RaspberryPi/practice/
コンパイル
make
練習用プログラムの実行
./practice01
./practice02
./practice03
./practice04
./practice05
./practice06
./practice07
./practice08
GPIOの制御
cd ~/RaspeberryPi/gpio
make
./raspi_gpo 4 1
./raspi_gpo 4 0
GPIO使用ポートの開放
./raspi_gpo 4 -1
温度を測定する
cat /sys/devices/virtual/thermal/thermal_zone0/temp
■ WiringPi 【執筆後の追記】
最新のRaspbianにはWiringPiがインストールされており、gpioコマンドで
簡単にGPIOを制御することが可能になりました。
GPIOポート4(7番ピン)を出力に設定する
gpio -g mode 4 out
GPIOポート4(7番ピン)を出力にHighに設定する
gpio -g write 4 1
■ XBee ZigBee 通信
米Digi International社のホームページ
http://www.digi.com/
XBee ZB 管理ライブラリのインストールとテストソフトの実行
git clone -b raspi https://github.com/bokunimowakaru/xbeeCoord.git
cd xbeeCoord/tools/
make
./xbee_test
AT/Transparentモード用のコマンド実行ソフト
cd ~/xbeeCoord/tools
make
./xbee_com B0 +++
./xbee_com B0 ATCB01
サンプルの実行方法(gcc利用)
cd ~/xbeeCoord/cqpub_pi/
gcc example01_rssi.c
./.a.out
サンプルの実行方法(make利用)
cd ~/xbeeCoord/cqpub_pi/
make
./example01_rssi
XBee ZB 管理ライブラリのオブジェクト作成およびリンク方法
cd ~/xbeeCoord/cqpub_pi/
gcc -c ../libs/xbee.c
gcc example01_rssi.c xbee.o
■ Wi-Fi 設定
Windows用のパケットモニタソフト「SocketDebuggerFree」
https://www.udom.co.jp/sdg/
Raspberry Pi用のパケットキャプチャソフト「WireShark 」
sudo apt install wireshark
Wi-Fiアクセスポイントの設定
sudo mousepad /etc/wpa_supplicant/wpa_supplicant.conf &
network={
ssid="SSIDを入力"
psk="ネットワーク用パスワードを入力"
proto=WPA WPA2
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
}
Wi-Fi用DHCPクライアントの設定(最新版では不要)
sudo mousepad /etc/network/interfaces &
sudo mousepad /etc/network/interfaces &
iface wlan0 inet dhcp
設定の有効化
sudo service wpa_supplicant restart
sudo service networking restart
ifconfig
■ Bluetooth 通信
Bluetooth プロトコルスタックのインストール(現行版では不要)
sudo apt-get install bluez # 現行版では不要
シリアル端末cuのインストール
sudo apt install cu
Bluetooth RFCOMM接続
hcitool scan # 最新版では不要
sudo rfcomm connect /dev/rfcomm 00:00:00:00:00:00
cu -h -s 115200 -l /dev/rfcomm0
cu -h -s 115200 -l /dev/ttyUSB0
■ Bluetooth Low Energy 通信
Bluetooth プロトコルスタックのインストール
sudo apt install bluez # 最新版では不要
sudo apt install bluez-hcidump
BLE受信
sudo hcitool lescan --pa --du
又は
sudo hcitool lescan --passive --duplicates
Bluetoothデータ解析
sudo hcidump
sudo hcidump -R
BLE GATTコマンド(READ)送信
sudo gatttool -b 00:1B:DC:44:xx:xx --char-read -a 0x0003
BLE GATTコマンド(WRITE)送信
sudo gatttool -b 00:1B:DC:44:xx:xx --char-write -a 0x000d -n 01
■ Raspberry Pi 3 / Pi Zero W でのGPIO端子のUART制約事項【執筆後の追記】
拡張用GPIO端子を使った各種シリアル通信 (/dev/ttyAMA0)
内蔵の Bluetooth機能を無効する
sudo raspi-config または「設定」⇒「Interface」⇒「Serial」
The serial login shell is disabled
The serial interface is enabled
boot/config.txt に下記を追加
dtoverlay=pi3-disable-bt
sudo reboot
それでも動かない場合はシリアルシェル(コンソール)を無効に
sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl disable serial-getty@ttyS0.service
または
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
■ インターネット通信
本サポートページの更新情報
curl -s https://bokunimo.net/bokunimowakaru/cq/pi.txt
wget -q -O /dev/stdin https://bokunimo.net/bokunimowakaru/cq/pi.txt
データの解析
curl -s https://bokunimo.net/bokunimowakaru/cq/pi.txt|grep '<info>'
curl -s https://bokunimo.net/bokunimowakaru/cq/pi.txt|grep '<info>'|cut -f2|cut -d'<' -f1
curl -s https://bokunimo.net/bokunimowakaru/cq/pi.txt|grep '<info>'|tr '<' ' '|awk '{print $2}'
ファイル転送
curl -u pi:password -k -T filename sftp://192.168.xx.xx/home/pi/
curl -u username:password -T filename ftp.xxx.ne.jp/dir/
HTTPサーバ
sudo apt install apache2
sudo /etc/init.d/apache2 start
sudo mousepad /var/www/html/index.html
sudo chown pi.pi /var/www/html/index.html
■ 便利な alias (.bashrcへ登録)
#ファイル削除時などに問い合わせ確認を行う
alias rm='rm -i'
alias mv='mv -i'
alias cp='cp -i'
#ファイルの種別に応じた色とマーク表示
alias ls='ls -F --color=auto'
alias ll='ls -laF --color=auto'
#プロセス表示を開始時刻順に表示
alias ps='ps --sort=start_time'
#バイナリファイルのダンプ表示
alias dump='od -Ax -tx1z'
#ソースリスト(*.cと*.ino、*.sh)内の文字検索
alias search='find . -type f \( -name "*.c" -o -name "*.ino" -o -name "*.sh" \) -print0 | xargs -0 grep'
#GPIOの状態一覧表示
function gpiolist() { clear;while true;do tput cup 0 0;gpio readall;if [ $# -eq 0 ];then sleep 1;else sleep $1;fi;done }
■ 関連 Git HUB レポジトリ
XBee(本書で紹介するRaspberry Pi用 XBeeライブラリ)
git clone -b raspi https://github.com/bokunimowakaru/xbeeCoord.git
ESP(超特急Web接続ESP!マイコン・プログラム全集用)
git clone https://github.com/bokunimowakaru/esp.git
IoT
git clone https://github.com/bokunimowakaru/iot.git
■ 関連リンク
ボクにもわかるRaspberry Pi
https://bokunimo.net/raspi/
--------------------------------------------------------------------------------
本ドキュメントの利用・改変・再配布は可能ですが、損害については補償いたしません。
Copyright (c) 2015-2021 Wataru KUNINO
https://bokunimo.net/raspi/