private knowhow
Rev. | 40901d4de83c5f5e08ebff7dfd1f905fb667dae1 |
---|---|
Tamanho | 16,484 bytes |
Hora | 2024-11-04 23:14:31 |
Autor | hyperoga |
Mensagem de Log | add trouble shoot
|
Raspberry Pi ノウハウ
http://www.raspberrypi.org/downloads Raspbian
----
http://www.mztn.org/rpi/rpi21.html
http://www.pc-links.com/blog/raspberrypi/setup/
http://www.alpha-do.com/blog/2013/10/15/%E3%80%90raspberry-pi%E3%80%91sd%E3%82%AB%E3%83%BC%E3%83%89%E3%81%B8%E3%81%AEos%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%89%8B%E9%A0%86/
1. default user/pass
pi/raspberry
2022/05/11追記: 今はイメージのインストーラで初期ユーザIDを指定可能
2. 初めにやること
2.1 LANケーブルを接続して、sshでログイン
IPアドレスはルータのDHCPリース状況から調査
2.2 $ sudo raspi-config
(1)1 Expand Filesystem (SDの未使用領域を利用可能にする)
(2)2 Change User Password (piユーザ(?)のパスワードを変更する場合)
(3)4 Internationalisation Options
I1 Change Locale => ja_JP.UTF-8 を追加
ロケールの設定です。最初は設定しない ほうがいいでしょう。
「ja_JP.UTF-8 UTF-8」を選択するとメニューなどが 日本語化されますが、
最初は日本語フォントがインストールされていないため、 文字化けします。
I2 Change Timezone => Asia/Tokyo を設定
I3 Change Keyboard Layout
(4)8 Advanced Options
A1 Overscan
A2 Hostname
A3 Memory Split (GPUへのメモリ割り当て量を設定 default:64MB)
A4 SSH
A5 SPI
A6 Update
2.3 SD保護
頻繁にアクセスする場所(/var/log等)はRAM DISKにする
http://www.pc-links.com/blog/raspberrypi/ramdisk/
https://gris-et-blanc.net/raspi/841/ (2022/05/11)
/etc/fstab
----
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that
# add by oga. 2013/12/22
tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0
----
/etc/rc.local等で初期に必要なログディレクトリ、ファイルを作っておく
---
# 起動時、自動的にディレクトリを作成
mkdir -p /var/log/apt
mkdir -p /var/log/ConsoleKit
mkdir -p /var/log/fsck
mkdir -p /var/log/news
mkdir -p /var/log/ntpstats
mkdir -p /var/log/samba
chown root.ntp /var/log/ntpstats
chown root.adm /var/log/samba
# 起動時、自動的にLastlogとwtmp,btmpファイルの空ファイルを作成
touch /var/log/lastlog
touch /var/log/wtmp
touch /var/log/btmp
chown root.utmp /var/log/lastlog
chown root.utmp /var/log/wtmp
chown root.utmp /var/log/btmp
---
2.4 追加パッケージ
vim
lv
samba
apache2
locate
whois
rcs
ftp
ispell
nkf
10. sambaインストール http://www.mztn.org/rpi/rpi21.html
root@raspberrypi:~# apt-get update
root@raspberrypi:~# apt-get install samba
root@raspberrypi:~# vi /etc/samba/smb.conf
sambaのユーザの追加にはこれまで「smbpasswd」コマンドを使っていましたが、
wheezyでは「smbpasswd」コマンドは普通にsambaをインストールしても
使えないので、代わりに「pdbedit」を使う。
root@raspberrypi:~# pdbedit -a -u pi
(2016/12/17)
以下をインストールして、smbpasswd -a oga
でもユーザ追加できた
# apt-get install samba-common-bin
samba導入後はラズパイのIPを調べなくてもホスト名(raspberrypi)で
TeraTermでssh可能
11. SourceForge(OSDN)のソースアクセス
(1)$ ssh-keygen
(2)右上ユーザ名→ユーザ設定→「SSH公開鍵管理ページへ」で
~/.ssh/id_rsa.pub の内容を、登録する。
12. sys Filesystem
SoC 温度
$ cat /sys/class/thermal/thermal_zone0/temp
41160 (41.16℃?)
SoC クロック
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
700000 (KHz)
SDアクセスLED
$ echo 1 > /sys/class/leds/led0/brightness (点灯)
$ echo 0 > /sys/class/leds/led0/brightness (消灯)
DS18B20 温度センサー
# modprobe w1-gpio
# modprobe w1-therm
$ cat /sys/bus/w1/devices/28-00000647ecf9/w1_slave
<</etc/modules>>
# add by oga. (2014/10/04)
w1-gpio
w1-therm
19. 消費電力
LANケーブルなし : 5V/0.33A = 1.65w
LANケーブル接続 : 5V/0.38A = 1.90w
高負荷(700MHz) : 5V/0.42A = 2.10w
20. GPIO pin
制御はBroadcomNameのGPIO番号で行う
PiName/BroadcomName (Raspberry Pi1)
+--------+
3.3v [P1]| 1□□ 2|5v
SDA0/I2C0 SDA | 3□□ 4|DNC(5v)
SCL0/I2C0 SCL | 5□■ 6|0v(GND)
*GPIO 7/GPIO 4 | 7□□ 8|TX/UART TXD
DNC(GND) | 9■□10|RX/UART RXD
*GPIO 0/GPIO 17|11□□12|GPIO 1/GPIO 18*
*GPIO 2/GPIO 21|13□■14|DNC(GND)
*GPIO 3/GPIO 22|15□□16|GPIO 4/GPIO 23*
DNC(3.3v) |17□□18|GPIO 5/GPIO 24*
SPI MOSI |19□■20|DNC(GND)
SPI MOSO |21□□22|GPIO 6/GPIO 25*
SPI SCLK |23□□24|SP10 CEO N
DNC(GND) |25■□26|SP10 CE1 N
+--------+
温度測定モジュール
P1 3.3v
P6 GND
P7 GPIO4
赤外線モジュール
P1/P17 3.3v (受信)
P2 5.0v (送信)
P6/P20 GND (送受信)
P18 GPIO24 (受信)
P22 GPIO25 (送信)
Rev1 Rev2
-----------------------------
3 SDA : GPIO 0 GPIO 2 (BroadName)
5 SCL : GPIO 1 GPIO 3
7 GPIO 4: GPCLK0
8 TXD : GPIO 14
10 RXD : GPIO 15
12 GPIO 18: PCM_CLK
13 GPIO 21: GPIO 21 GPIO 27
19 MOSI : GPIO 10
21 MOSO : GPIO 9
23 SCLK : GPIO 11
24 CE0 : GPIO 8
26 CE1 : GPIO 7
IDEケーブル (コネクタコード側から見た場合)
2 4 6 810121416182022242628303234363840
□□□□□□□□□×□□□□□□□□□□
赤■□□□□□□□□□□□□□□□□□□□
1 3 5 7 9111315171921232527293133353739
FDケーブル (コネクタコード側から見た場合)
2 4 6 810121416182022242628303234
□□□□□□□□□□□□□□□□□
赤■△□□□□□□□□□□□□□□□
1 3 5 7 9111315171921232527293133
P2P4 26
Raspberry □□□□□□□□□□□□□
□□□□□□□□□□□□□
P1P3 5 7 91113151719212325
GDI7 I0I1I2GDI3I4 I5 GD I6 GD
P1P2P3P4P5P6P7P8P91011121314151617181920212223242526
oooooooo○○○○○●○○●○○○○●○○○○○●○○○○●○
12345678 910111213141516171819202122232425262728293031323334
12345678 1 2 3 4 5 6 7 8 91011121314151617181920212223242526
PiName/BroadcomName (Raspberry Pi3A+)
+--------+
3.3v [P1]| 1□□ 2|5v
SDA0/I2C0 SDA | 3□□ 4|DNC(5v)
SCL0/I2C0 SCL | 5□■ 6|0v(GND)
*GPIO 7/GPIO 4 | 7□□ 8|TX/UART TXD
DNC(GND) | 9■□10|RX/UART RXD
*GPIO 0/GPIO 17|11□□12|GPIO 1/GPIO 18*
*GPIO 2/GPIO 21|13□■14|DNC(GND)
*GPIO 3/GPIO 22|15□□16|GPIO 4/GPIO 23*
DNC(3.3v) |17□□18|GPIO 5/GPIO 24*
SPI MOSI |19□■20|DNC(GND)
SPI MOSO |21□□22|GPIO 6/GPIO 25*
SPI SCLK |23□□24|SP10 CEO N /GPIO 8
DNC(GND) |25■□26|SP10 CE1 N /GPIO 7
IDSD HAT |27□□28|ID_SC HAT
/GPIO 5 |29□■30|DNC(GND)
/GPIO 6 |31□□32| /GPIO 12
/GPIO 13|33□■34|DNC(GND)
/GPIO 19|35□□36| /GPIO 16
/GPIO 26|37□□38| /GPIO 20
DNC(GND)|39■□40| /GPIO 21
+--------+
21. TeraTerm
現環境では以下の設定
設定→端末
漢字-受信: SJIS
漢字-送信: SJIS
Sambaの文字コード設定は30.3参照
22. CPU情報表示
# disp temperature
alias cputemp='cat /sys/class/thermal/thermal_zone0/temp |sed -e "s/^\(..\)/\1./"'
# disp CPU current clock
alias cpuclock='cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq | sed -e "s/...$/MHz/"'
23. LaTeX 導入
1. 導入 (RaspberryPi)
(1)インストール (RaspberryPi)
# apt-get install texlive-lang-cjk xdvik-ja latexmk
(2).texのコンパイル
# platex xxx.tex
→xxx.dviができる
(3)div→PDF
# dvipdfm xxx.dvi
(注)日本語を使う場合はUTF8でtexファイルを作成する。
24. apache2
(1)/etc/apache2/sits-available/000-default.conf
--------
# change by oga. (2014/11/16)
#DocumentRoot /var/www/html
DocumentRoot /home/oga/www
# add by oga. start (2024/09/23,2014/11/16)
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
# change by oga. (2014/11/16)
#<Directory /var/www/>
#<Directory /home/pi/www/>
<Directory /home/oga/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#Order allow,deny
#allow from all
Require all granted
</Directory>
# change by oga. (2014/11/16)
#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
#<Directory "/usr/lib/cgi-bin">
#ScriptAlias /cgi-bin/ /home/pi/www/cgi-bin/
#<Directory "/home/pi/www/cgi-bin">
ScriptAlias /cgi-bin/ /home/oga/www/cgi-bin/
<Directory "/home/oga/www/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
#Order allow,deny
#Allow from all
Require all granted
</Directory>
# add by oga. end (2024/09/23,2014/11/16)
:
# not change by oga. (2014/11/16)
#CustomLog ${APACHE_LOG_DIR}/access.log combined
CustomLog "|/usr/bin/rotatelogs ${APACHE_LOG_DIR}/access.log.%a 86400" common
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
# change by oga. (2024/09/23)
#Include conf-available/serve-cgi-bin.conf
Include conf-available/serve-cgi-bin.conf
--------
(2)/etc/apache2/conf-available/serve-cgi-bin.conf
---
<IfDefine ENABLE_USR_LIB_CGI_BIN>
# change by oga. (2024/09/23) (2022/05/11)
#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
#<Directory "/usr/lib/cgi-bin">
ScriptAlias /cgi-bin/ /home/oga/www/cgi-bin/
<Directory "/home/oga/www/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
# add by oga. (2024/09/23) (2022/05/11)
<Directory "/home/oga/public_html/cgi">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
</IfDefine>
---
(3)/etc/apache2/mods-available/mime.conf
---
# change by oga. (2024/09/23)
#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi
---
(4)# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/cgi.load cgi.load
{
30. 各種設定
30.1 /etc/modules
(温度センサーモジュールの設定)
-----
# add by oga. (2014/10/04)
w1-gpio
w1-therm
-----
Raspbian 2015-01-31(NOOBS1.3.12)以降では1-wireを有効にするため以下も必要
/boot/config.txt
-----
# Enable GPIO4 by oga. (2022/05/21)
dtoverlay=w1-gpio-pullup,gpiopin=4
-----
30.2 /etc/fstab
coLinuxの10GBドライブの利用
-----
/hdimg/hdd_10gb /hd ext4 loop 0 0
-----
30.3 samba
(1)ユーザ追加
pdbedit -a -u <user>か
以下をインストールして、smbpasswd -a oga でもユーザ追加できた
# apt-get install samba-common-bin
(2)/etc/smb.conf
-----------
[global]
:
# add by oga. (2013/12/29, 2016/12/17, 2022/05/11)
# follow sym links
wide links = yes
unix extensions = no
dos charset = CP932
unix charset = CP932
default case = lower
case sensitive = no
:
[homes]
:
# read only = yes
# change by oga (2022/05/13)
read only = no
-----------
30.4 less
SJISが使えなくなっているので、
lvをインストールして.bashrc 以下を追加
-----------
#export PAGER=less
export PAGER='lv -As'
-----------
30.5 .bashrc
----------
# oga's env
#alias lsf='ls -F'
#alias lll='ls -ltr'
alias lsf='ls -F --show-control-chars'
alias ll='ls -l --show-control-chars'
alias lll='ls -ltr --show-control-chars'
alias psef='ps -ef |grep'
alias apts='apt-cache search'
alias apti='apt-get install'
alias pkggrep='dpkg -l |grep '
alias langc='export LANG=C'
alias sjis='export LANG=ja_JP.SJIS'
alias utf='export LANG=ja_JP.UTF-8'
# disp temperature
alias cputemp='cat /sys/class/thermal/thermal_zone0/temp |sed -e "s/^\(..\)/\1./"'
# disp CPU current clock
alias cpuclock='cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq | sed -e "s/...$/MHz/"'
alias templog='tail -f ~/log/temp.log'
set convert-meta off
set meta-flag on
set output-meta on
export EDITOR=vi
#export PAGER=less
export PAGER='lv -As'
export CDPATH=.:/home/oga:/home/pi/git
export NODE_JS_HOME=/home/pi/nodejs/app/node-v0.10.28-linux-arm-pi
export PATH=$PATH/bin:$PATH/etc:$PATH:$NODE_JS_HOME/bin
export LANG=C
----------
30.6 無線LAN設定
(1)初期設定
メージのインストーラで初期SSID, パスフレーズを設定する
(2)追加設定
/etc/wpa_supplicant/wpa_supplicant.conf
----
network={
ssid="aterm-097944-g"
psk=85************************************************************1f
priority=0
}
network={
ssid="37DBBCB87A30E18D18F05F2F72015C2C"
psk="E7**********************92"
priority=1
}
----
30.7 swapファイル設定
SDで動作するのでswapはoffにした方が良いが、メモリが不足する場合は以下で設定する。
Raspberry Piでは仮想メモリをdphys-swapfileというサービスで管理している
ため、これを止めてから設定の変更を行なう
(1)現在のスワップ設定値確認
$ swapon -s
Filename Type Size Used Priority
/var/swap file 102396 69120 -2
100MBになっている
(2)設定
$ sudo service dphys-swapfile stop
$ sudo vim /etc/dphys-swapfile
このファイル内のCONF_SWAPSIZEの値を変更する
例:CONF_SWAPSIZE=1024
$ sudo service dphys-swapfile start
30.8 自動起動設定
/etc/rc.localでWinDFに情報提供するsysinfdを起動する
----
if [ -x /home/oga/bin/sysinfd ]; then
echo "start sysinfd..."
/home/oga/bin/sysinfd &
fi
if [ -x /home/oga/etc/temp ]; then
echo "start temp logging..."
(/home/oga/etc/temp -loop 600 >> /home/oga/logs/temp.log) &
fi
----
30.9 ommit display sleep
/etc/xdg/lxsession/LXDE/autostart
@xset s off
@xset s noblank
@xset -dpms
/etc/lightdm/lightdm.conf
#
# ommit display standby, suspend
# (2022/06/13 oga)
[SeatDefaults]
xserver-command=X -s 0 -dpms
{
--- smb.conf.diff
oga@raspberrypi /etc/samba $ diff -C4 smb.conf.org smb.conf
*** smb.conf.org Fri May 6 05:14:08 2022
--- smb.conf Sun Dec 31 06:22:43 2023
***************
*** 163,179 ****
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
! read only = yes
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0700
--- 163,194 ----
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes
+ # add by oga. (2013/12/29, 2016/12/17, 2022/05/11)
+ # follow sym links
+ wide links = yes
+ unix extensions = no
+ dos charset = CP932
+ unix charset = CP932
+ default case = lower
+ case sensitive = no
+
+ # add by oga. (2023/12/31) for Win2000
+ server min protocol = NT1
+
+
#======================= Share Definitions =======================
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
! # read only = yes
! # change by oga (2022/05/13)
! read only = no
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0700