2020年11月2日月曜日

RaspberryPiOSにPython3をインストールし使えるようにする

RaspberryPiOSにPython3をインストールする

以上。終わり。

いやいや。RaspberryPiOSをダウンロードから初めて、SDカードに書き込めばすでにPython3がインストールされています。また、すでによく使われるライブラリもインストールされています。

では、現時点でインストールされているPython3を確認していましょう。

$ python3

Python 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>

Ctrl+D で終了

続いてインストールされているライブラリを確認してみます。

$ pip3 list
Package Version
----------------- -----------
asn1crypto 0.24.0
astroid 2.1.0
asttokens 1.1.13
automationhat 0.2.0
beautifulsoup4 4.7.1
blinker 1.4
blinkt 0.1.2
buttonshim 0.0.2
Cap1xxx 0.1.3
certifi 2018.8.24
chardet 3.0.4
Click 7.0
colorama 0.3.7
colorzero 1.1
cookies 2.2.1
cryptography 2.6.1
docutils 0.14
drumhat 0.1.0
entrypoints 0.3
envirophat 1.0.0
ExplorerHAT 0.4.2
Flask 1.0.2
fourletterphat 0.1.0
gpiozero 1.5.1
html5lib 1.0.1
idna 2.6
isort 4.3.4
itsdangerous 0.24
jedi 0.13.2
Jinja2 2.10
keyring 17.1.1
keyrings.alt 3.1.1
lazy-object-proxy 1.3.1
logilab-common 1.4.2
lxml 4.3.2
MarkupSafe 1.1.0
mccabe 0.6.1
microdotphat 0.2.1
mote 0.0.4
motephat 0.0.3
mypy 0.670
mypy-extensions 0.4.1
numpy 1.16.2
oauthlib 2.1.0
olefile 0.46
pantilthat 0.0.7
parso 0.3.1
pgzero 1.2
phatbeat 0.1.1
pianohat 0.1.0
picamera 1.13
piglow 1.2.5
pigpio 1.44
Pillow 5.4.1
pip 18.1
psutil 5.5.1
pycrypto 2.6.1
pygame 1.9.4.post1
Pygments 2.3.1
PyGObject 3.30.4
pyinotify 0.9.6
PyJWT 1.7.0
pylint 2.2.2
pyOpenSSL 19.0.0
pyserial 3.4
python-apt 1.8.4.1
pyxdg 0.25
rainbowhat 0.1.0
requests 2.21.0
requests-oauthlib 1.0.0
responses 0.9.0
roman 2.0.0
RPi.GPIO 0.7.0
RTIMULib 7.2.1
scrollphat 0.0.7
scrollphathd 1.2.1
SecretStorage 2.3.1
Send2Trash 1.5.0
sense-hat 2.2.0
setuptools 40.8.0
simplejson 3.16.0
six 1.12.0
skywriter 0.0.7
sn3218 1.2.7
soupsieve 1.8
spidev 3.4
ssh-import-id 5.7
thonny 3.2.6
touchphat 0.0.1
twython 3.7.0
typed-ast 1.3.1
unicornhathd 0.0.4
urllib3 1.24.1
webencodings 0.5.1
Werkzeug 0.14.1
wheel 0.32.3
wrapt 1.10.11

ちなみにPython2はどうでしょうか。
$ python
Python 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Ctrl+D で終了

ついでにPython2のライブラリを見てみます
$pip list
Package           Version
----------------- -----------
arandr            0.1.9
asn1crypto        0.24.0
automationhat     0.2.0
blinker           1.4
blinkt            0.1.2
buttonshim        0.0.2
Cap1xxx           0.1.3
certifi           2018.8.24
chardet           3.0.4
Click             7.0
colorama          0.3.7
colorzero         1.1
configparser      3.5.0b2
cookies           2.2.1
cryptography      2.6.1
dnspython         1.16.0
drumhat           0.1.0
entrypoints       0.3
enum34            1.1.6
envirophat        1.0.0
ExplorerHAT       0.4.2
Flask             1.0.2
fourletterphat    0.1.0
funcsigs          1.0.2
gpg               1.12.0
gpiozero          1.5.1
idna              2.6
ipaddress         1.0.17
itsdangerous      0.24
Jinja2            2.10
keyring           17.1.1
keyrings.alt      3.1.1
MarkupSafe        1.1.0
microdotphat      0.2.1
mock              2.0.0
mote              0.0.4
motephat          0.0.3
numpy             1.16.2
oauthlib          2.1.0
olefile           0.46
pantilthat        0.0.7
pbr               4.2.0
phatbeat          0.1.1
pianohat          0.1.0
picamera          1.13
piglow            1.2.5
pigpio            1.44
Pillow            5.4.1
pip               18.1
pycairo           1.16.2
pycrypto          2.6.1
pygame            1.9.4.post1
PyGObject         3.30.4
pyinotify         0.9.6
PyJWT             1.7.0
pyOpenSSL         19.0.0
pyserial          3.4
pyxdg             0.25
rainbowhat        0.1.0
requests          2.21.0
requests-oauthlib 1.0.0
responses         0.9.0
RPi.GPIO          0.7.0
RTIMULib          7.2.1
scrollphat        0.0.7
scrollphathd      1.2.1
SecretStorage     2.3.1
sense-hat         2.2.0
setuptools        40.8.0
simplejson        3.16.0
six               1.12.0
skywriter         0.0.7
sn3218            1.2.7
spidev            3.4
touchphat         0.0.1
twython           3.7.0
unicornhathd      0.0.4
urllib3           1.24.1
Werkzeug          0.14.1
wheel             0.32.3

さて、ここまで見て
お気づきいただけましたでしょうか…。

$python
として実行するとPython2が実行されています。

Python3を実行するには
$python3
として実行します。

自分が使っているPython3のライブラリを追加しようとしてpip install ほにゃららとすると、そのpipはpip2を呼び出しているため、Python2へ追加されてしまいます。Python3のライブラリとして使用できません。し、当然インポート時にもエラーになります。

Python2サポート終了

さて、このpython2。サポートが2020年1月1日に終了しています。
Python2最終版が
Python 2.7.18 April 20, 2020

Python Foundationはもう使用しないでくださいと案内しています

とはいえ、Python2アンインストールするのはちょっと怖い。
どうなるのだろうか。



2020年10月31日土曜日

RaspberryPi にsshdとSambaサーバの設定をする


1.sshdとSambaを設定する

1.1 sshd/SSH ネットワーク経由でRasberryPiが操作できる

sshdを設定するとWindowsパソコンからターミナルで接続できるようになり、設定作業がWindowsパソコンからできます。さらに設定した内容が記録としても残せるので、後で操作を確認したりもできますし、なにより画面が広くアプリが揃ったWindowsパソコンで調べた結果をコピペして設定することができ作業効率が格段と高まります。接続にはSSHに対応したターミナルソフトを使用しますが、Windows10では標準でSSHクライアント機能をもつようになったので、コマンドプロンプトからSSH接続でき非常に便利になりました。

1.2 Sambaファイル共有とは

Sambaを設定するとWindowsパソコンとファイル共有ができるので、Raspberry Piへプログラムを送ったり、RasberryPiで収集した結果をパソコンに持ってきたりが簡単にできるようになります。

2. sshdの設定 WindowsパソコンからSSHで接続できるようにする

2.1 RasbberryPi OSのSSHDの有効化

RasbberryPi の画面上で設定する方法とターミナルからコマンドを入力して設定する方法とがあります。

2.1.1 RasbberryPi の画面上で設定する

左上のラズベリーマークから[設定][Raspberry Pi の設定]をクリック
[インターフェイス]タブからSSH(●)有効をクリックします。
[OK]をクリックでSSHDが起動し他のPCからSSHで接続できます。

2.1.2 ターミナルで設定する 

左上のラズベリーマークの隣にある黒い■マークをクリックします。
次のようにコマンドを入力し有効化します。
$sudo su -
#cd /etc/ssh
#cp sshd_config sshd_config_org
#nano sshd_config

sshd_configファイルが開きます。次の箇所の#を削除します。
[sshd_config]
 :
Port 22
 :
PasswordAuthentication yes

Port 22 を開きます #を削除します
PasswordAuthentication を有効にします #を削除します
キーボードのコントロールを押しながらO(オー)でファイル上書き
キーボードのコントロールを押しながらXで編集終了

最後にSSHDサーバーを有効化し再起動します
#/etc/init.d/ssh enable
#/etc/init.d/ssh restart

2.2 IPアドレスを固定する

各種ネットワークサーバーをRaspberry Piで動作させるのに、IPアドレスが毎回変わるようだと接続が面倒になります。そのためIPアドレスを固定します。いろいろ調べたところIPアドレスの固定はDHCPClientDを使って固定する方法を推奨しているようなので、ここではその方法に習って設定します。
左上のラズベリーマークの隣にある黒い■マークをクリックします。
次のようにコマンドを入力します。

$sudo su -
$ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (ローカルループバック)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.11 netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::2f42:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x20<link>
        inet6 2405:6587:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx  prefixlen 64  scopeid 0x0<global>
        ether b8:27:eb:12:41:0d  txqueuelen 1000  (イーサネット)
        RX packets 18772  bytes 4701790 (4.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1649  bytes 258988 (252.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


#cd /etc
#cp dhcpcd.conf dhcpcd.conf.org
#nano dhcpcd.conf

パソコンでも確認してみます。Windows10のコマンドプロンプトを開きます。
スタートボタン田の右の虫眼鏡マークよこに
cmd
と入力しキーボードEnterを押します。
ipconfigとarp -a として確認します。

C:\Users\Owner>ipconfig
Windows IP 構成
イーサネット アダプター 192.168.0.12:
   接続固有の DNS サフィックス . . . . .: flets.jp
   IPv6 アドレス . . . . . . . . . . . .: 2405:6587:xxxx:xxxx:xxxx:xxxx:xxxx
   一時 IPv6 アドレス. . . . . . . . . .: 2405:6587:xxxx:xxxx:xxxx
   一時 IPv6 アドレス. . . . . . . . . .: 2405:6587:xxxx:xxxx:xxxx:xxxx:xxxx
   一時 IPv6 アドレス. . . . . . . . . .: 2405:6587:xxxx:xxxx:xxxx:xxxx
   リンクローカル IPv6 アドレス. . . . .: fe80::4989:xxxx:xxxx
   IPv4 アドレス . . . . . . . . . . . .: 192.168.0.12
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: fe80::225:xxxx
                                          192.168.0.1

C:\Users\Owner>arp -a

インターフェイス: 192.168.0.52 --- 0xf
  インターネット アドレス 物理アドレス           種類
  192.168.0.1           00-XX-XX-XX-XX-XX-XX-da     動的
  192.168.0.3           34-XX-XX-XX-XX-XX-XX-be     動的
  192.168.0.5           84-XX-XX-XX-XX-XX-XX-50     動的
  192.168.0.8           00-XX-XX-XX-XX-XX-XX-f7     動的
  192.168.0.12          00-XX-XX-XX-XX-XX-XX-96     動的
  192.168.0.18          00-XX-XX-XX-XX-XX-XX-9f     動的
  192.168.0.65          38-XX-XX-XX-XX-XX-XX-d3     動的
  192.168.0.66          d4-XX-XX-XX-XX-XX-XX-9e     動的
  192.168.0.67          cc-XX-XX-XX-XX-XX-XX-c4     動的
  192.168.0.73          dc-XX-XX-XX-XX-XX-XX-cc     動的
  192.168.0.74          a8-XX-XX-XX-XX-XX-XX-9e     動的
  192.168.0.81          b8-XX-XX-XX-XX-XX-XX-0d     動的
  192.168.0.87          00-XX-XX-XX-XX-XX-XX-64     動的
  192.168.0.255         ff-XX-XX-XX-XX-XX-XX-ff     静的
  224.0.0.22            01-XX-XX-XX-XX-XX-XX-16     静的
  224.0.0.251           01-XX-XX-XX-XX-XX-XX-fb     静的
  224.0.0.252           01-XX-XX-XX-XX-XX-XX-fc     静的
  239.255.255.250       01-XX-XX-XX-XX-XX-XX-fa     静的
  239.255.255.253       01-XX-XX-XX-XX-XX-XX-fd     静的
  255.255.255.255       ff-XX-XX-XX-XX-XX-XX-ff     静的


このWindows10パソコンのIPアドレスは192.168.0.12です。
デフォルトゲートウェイ(ルーターのアドレス/インターネットへの出口)は
192.168.0.1です。

以上を踏まえ、次のような行を探し行頭の#を削除しIPアドレスを設定します。
このとき事前に調べたIPアドレスを参考に修正します。
[dhcpcd.conf]
interface wlan0
static ip_address=192.168.0.126/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
 
interface wlan0
このwlan0は、ifconfigで得られた名前です。RaspberryPiOSのWifiはこの名前です。
static ip_address=192.168.0.126/24
この192.168.0としているところはWindows10パソコンの値を参考にして同じにします。
static ip_address最後の3桁126としているところは、120~126とか220~250ぐらいならだいたい他の機器で使用されておらず問題が起こりにくいのですが、この番号をどの番号にするかはルーターの設定状況と接続機器によって変わります。
先の arp -a で、同じ番号が無いことを確認し、なければたいがい問題ありません。もしあれば別の番号に変更します。
この番号の選定について、さらに詳しくはIPアドレスとDHCPについて調べてみてください。
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
はデフォルトゲートウェイの値を使います。

以上で編集は終了です。
キーボードのコントロールを押しながらO(オー)でファイル上書きし、
キーボードのコントロールを押しながらXで編集終了します。
最後に設定を反映させるために再起動します。

#reboot

以下RaspberryPiのIPアドレスは192.168.0.126として説明いたしますが、適宜環境に合わせて読み替えてください。

2.3 Windows10からSSHで接続する

Windows10 April 2018 UpdateよりSSH接続が正式対応しました。今までだとSSH接続用にPuttyやTeraTermやRLoginといったソフトのインストールが必要だったところが、Windowsに標準搭載されたことで、すぐにSSH接続できるようになりました。
Windows10のコマンドプロンプトを開きます。
スタートボタン横の検索窓からcmdと入力します。

コマンドプロンプトが開きます



以下次のように入力します。
C:\Users\Owner>ssh pi@192.168.0.126

@以下の192.168.0.126は先のページのdhcpcd.confで設定したRasberryPiのIPアドレスです。

Are you sure you want to continue connecting (yes/no)? yes

yesと入力します。

pi@192.168.0.126's password:

RasberryPiOSの初期設定で設定したパスワードを入力します。

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Oct 31 06:43:07 2020
pi@raspberrypi:~ $

このような表示が出てくればSSHでの接続が成功しています。

3 Sambaの設定

以下のURLの記事を参考にいたしました。
リモートワークで使えるRaspberry Piで作るファイル共有サーバhttps://qiita.com/Brutus/items/d3b3caee982852587b77

3.1 Sambaのインストール

$sudo su -
#apt-get install -y samba samba-common-bin  

DHCP から WINS 設定を使うように smb.conf を変更しますか?
と表示が出たら<いいえ>を選んでEnter

3.1.1 共有フォルダの作成

# mkdir /var/samba
共有フォルダへアクセスするユーザの作成
# useradd smbuser

3.1.2 パスワードの設定

他のパソコンから接続するためのパスワードを設定します。
これも、後で使用するので必ず控えてください。
# passwd smbuser
新しいパスワード: ********
新しいパスワードを再入力してください: ********
passwd: パスワードは正しく更新されました

3.1.3 権限変更

# chown smbuser:smbuser /var/samba/
Sambaのアクセス設定
# pdbedit -a smbuser
new password: ********
retype new password: ********
Unix username:        smbuser
NT username:
 :

3.1.4 共有フォルダの公開設定

# cp -p /etc/samba/smb.conf /etc/samba/smb.conf.org
# nano /etc/samba/smb.conf

/etc/samba/smb.confファイルに以下を追記する。
pi126の箇所は、先の固定IPを割り当てたものを使用しています。

[pi126]
   comment = Share Folder
   browseable = yes
   path = /var/samba
   writable = yes
   valid users = smbuser
   force user = smbuser

3.1.5 Sambaの再起動

動作状態の確認
# service smbd status
smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-10-31 10:40:12 JST; 26min ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)


Active: active (running) となっていれば動作中です。
再起動します。
# service smbd restart


pdbedit
pdbeditコマンドは、SAM データベース (Samba ユーザーのデータベース) を管理します。
SAM データベース内に保持されるユーザーアカウントを管理するために利用され、 root だけが実行できます。

pdbeditを使用することで、ユーザーアカウントの追加、ユーザーアカウントの削除 、ユーザーアカウントの変更、ユーザーアカウントの一覧表示、ユーザーアカウントのインポートの操作が行えます。

データベースのユーザーアカウントを一覧表示
$ sudo pdbedit -L
smbuser:1001:

データベースのユーザーアカウントを一覧表示(詳細)
$ sudo pdbedit -L -v
---------------
Unix username:        smbuser
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1950213270-485466186-3954191822-1000
Primary Group SID:    S-1-5-21-1950213270-485466186-3954191822-513
Full Name:            
Home Directory:       \\raspberrypi01\smbuser
HomeDir Drive:        
Logon Script:         
Profile Path:         \\raspberrypi01\smbuser\profile
Domain:               RASPBERRYPI01
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    水, 25  3月 2020 15:11:40 JST
Password can change:  水, 25  3月 2020 15:11:40 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
ファイル共有サーバのアクセス
Raspberry Pi側でファイアウォールを有効にしている場合は、Sambaで使用する通信が許可されていることを前提とし、WindowsとMacそれぞれのアクセス方法について記載しています。

3.1.6 共有フォルダーにユーザーpiを追加する

このままではユーザーsmbuserしかファイルの操作ができません。smbuserは外からアクセスしてきたユーザーとなるので、自動ログインするユーザーpiにも権限を与えなければ、この共有フォルダーを使用できません。
ユーザーpiをsmbuserグループに追加します。
#adduser pi smbuser
ユーザ `pi' をグループ `smbuser' に追加しています...
ユーザ pi をグループ smbuser に追加
完了。

所属グループを確認するには
#cat /etc/group
:
systemd-coredump:x:996:
sambashare:x:116:
smbuser:x:1001:pi

続いてこのままでは未だに/var/sambaフォルダーはユーザーsmbuserからしか読み書きできません。ユーザーpiは読み込みのみです。そのため、ユーザーpiもこのフォルダーへの読み書きできるようにするにはフォルダーのアクセス権限を変更します。
変更前のアクセス権限の確認。
#ls -l /var
drwxr-xr-x  2 smbuser smbuser      4096 10月 31 10:43 samba

グループに所属するユーザーにも書き込み権限を与える
#chmod 775 /var/samba

変更後のアクセス権限の確認
#ls -l /var
drwxrwxr-x  2 smbuser smbuser      4096 10月 31 10:43 samba
#exit
$cd /var/samba
$echo Hello > test.txt
-bash: test.txt: 許可がありません

いえいえ慌てなくても大丈夫です。RaspberryPiにログインし直します。
$exit
>ssh pi@192.168.0.126
$cd /var/samba
$echo Hello > test.txt
$ls -al
合計 12
drwxrwxr-x  2 smbuser smbuser 4096 10月 31 19:10 .
drwxr-xr-x 12 root    root    4096 10月 31 10:43 ..
-rw-r--r--  1 pi      pi         6 10月 31 19:10 test.txt
このようにtest.txtが作成できました。

3.2 Windowsで共有フォルダーを開く

Windows10でSambaにアクセスするためには、Samba(SMB)のクライアントが必要になります。
Windows 10の場合はSMB 1.0 が無効になっているため、以下の手順でSambaのクライアントを有効にします。以前にファイル共有の設定が終わっていれば以下の設定は必要ありません。が、一応確認されたほうが良いと思います。

コントロールパネルを開く


プログラムから、

[Windows の機能の有効化または無効化]を開く

SMB 1.0/CIFS ファイル共有のサポートを開き


[SMB 1.0/CIFS クライアント]にチェックを入れて、[OK]をクリックします。
以上でWindows10側のファイル共有の設定が終わりました。


Windows10でRaspberryPiの共有フォルダーを開いてみます。
エクスプローラーを開く。

一番下のネットワークからRASPBERRYPIがあればそれを開きます。
今回共有フォルダーにした[pi126]をダブルクリックします。

ユーザー名を先に登録したsmbuser
パスワード設定したものを入力し[OK]を押します。

もし、ネットワークに[RASPBERRYPI]が存在しなければIPアドレスを指定して開きます。
アドレスバーに\\192.168.0.126\
と入力します。

pi126を開きます。
ユーザー名は先に登録したsmbuser
設定したパスワードを入力し[OK]を押します。
test.txtを開いてみます。
うまく開けました。

3.3 Macで共有フォルダーを開くには

Macの場合はFinderからアクセスします。

Finderの[移動]から、[サーバへ接続]を選択する。
[サーバアドレス]にsmb://192.168.0.126 と入力し、[接続]をクリックする。
ユーザー名は先に登録したsmbuser
設定したパスワードを入力し[OK]を押します。



4 ホスト名を変更する

Windowsやその他デバイスからSambaのネットワークを開くとホスト名が
『raspberrypi』と表示されます。複数台数のRaspberryPiがネットワークに接続された状態で識別するには名前を変更します。

/etc/hostname

/etc/hosts

の両方のファイルの「raspberrypi」を任意のホスト名に置き換えます。
ここでは「pi126」とします。

変更後、rebootすると反映されます。

※/etc/hostnameのみの変更だとrebootした後に元に戻ってしまうため、必ず2つとも変更する



参考:

Raspberry Piのホスト名を変更するhttps://qiita.com/naoyukisugi/items/66fd21512da75b437465


 


2020年10月30日金曜日

Raspberry Pi 4 Model Bに Raspberry Pi OSをインストールする

 RaspberryPi OSの簡単インストール手順

RaspberryPiってなに?

いわゆるラズパイと呼ばれているワンボードマイコンです。これに入れるOSをラズビアンといっていたけど、諸般の事情でRaspberryPi OSと名称が変わったようです。

Raspberry Pi 4 Model B


Raspberry Pi 4 Model B
CPU ARM Cortex-A72 4Core 1.5GHz
4K-HDMI x2ポート
メモリ 2G~8G
GigabitEther
Wifi
USB3 x2  USB2 x2
ステレオオーディオ出力端子 

詳細な仕様
Specifications
Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
2GB, 4GB or 8GB LPDDR4-3200 SDRAM (depending on model)
2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE
Gigabit Ethernet
2 USB 3.0 ports; 2 USB 2.0 ports.
Raspberry Pi standard 40 pin GPIO header (fully backwards compatible with previous boards)
2 × micro-HDMI ports (up to 4kp60 supported)
2-lane MIPI DSI display port
2-lane MIPI CSI camera port
4-pole stereo audio and composite video port
H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
OpenGL ES 3.0 graphics
Micro-SD card slot for loading operating system and data storage
5V DC via USB-C connector (minimum 3A*)
5V DC via GPIO header (minimum 3A*)
Power over Ethernet (PoE) enabled (requires separate PoE HAT)
Operating temperature: 0 – 50 degrees C ambient
* A good quality 2.5A power supply can be used if downstream USB peripherals consume less than 500mA in total.

 これにMicroSD 32GとHDMIがある液晶テレビとUSB接続のキーボード・マウスがあるともうちょっとしたパソコンになります。それがなんと5000円あたりで購入できるのです。

このボードにRaspberryPi OSっていうソフトを入れればインターネットもレポートもかけるパソコンになります。プログラミングもできるし、頑張ればロボットを動かしたりもできます。いや、ホント素晴らしいです。
また、これにレトロパイってゲーム用OSを入れればファミコンゲームがやり放題になったりもしますが、それは今回は置いといて、RaspberryPi OSをインストールしてみます。
最終的には、GPSロガーにする予定で、先のRichoThetaZ1のGPS補正データに使用します。

必要なもの

最低限必要なもの 

Raspberry Pi 4 Model B 8G
マイクロSDカード 32G
USB Type-C アダプター かUSB電源とTypeA-TypeC変換ケーブル
マイクロHDMI-HDMIケーブル
キーボード・マウス(USB接続)
液晶テレビかパソコン用ディスプレイ(HDMI端子があるもの)
インターネット接続環境 Wifiか有線LAN スマホのテザリングでも可

 設定に必要なもの

Windowsパソコン
SDカードリーダー

 キットで揃えたほうが仕様を確認して揃える必要がないので楽ですし、安上がりなのでおすすめです。 

RaspberryPi OSをダウンロードする

マイクロSDカード32Gを準備しているとして、WindowsパソコンでRaspberryPi OSをダウンロードします。いろいろな方法がありますが、Raspberry財団が用意しているRaspberry Pi Imager for Windowsを使うのが一番簡単で確実です。
Windowsパソコンで次のページをインターネットで開きます。



Raspberry Pi Imager for Windows をクリックしてダウンロードします。
適当なとろこに保存します。

ダウンロードしたimager_14.exeをダブルクリックして実行します。
警告が出るかもしれませんがそのまま実行します。


[Install]をクリックします


[v]Run Raspberry Pi Imager にチェックが入っているのを確認し
[Finish]をクリックします

SDカードにRaspberry Pi OSを書き込む

上記記事の手順に従えばこのような画面が表示されます。

ライターが出てきましたここからOSをダウンロード書き込みを行います
まず、[CHOOSE OS]を選択します

Raspberry Pi OS (32-bit)を選択します
他のOSも選択できますが推奨の32-bit版を利用します


つづいてSDカードをパソコンに入れてから
CHOOSE SD CARDを選択します

認識されているSDカードを選択します

WRITEを押します

すべてのデータが消えます続けますか?
YESを押します

書き込み中

Raspberry Pi OS(32-bit)がSDカードに書き込まれました
カードリーダーから取り外しができます。
CONTINUEを押してSDカードを取り外します。

Raspberry Pi4の接続

Raspberry Pi4にマイクロSDカードを差し込みます。
マイクロHDMIケーブルでテレビと接続します。
キーボードとマウスを接続します。
USB Type-Cで電源アタプターを接続します。

Raspberry Pi OSの初期設定

アダプターの電源スイッチを入れます。
起動し始めるとラズベリーの絵が表示されます。さらに、ひたすら待ちます。3分~5分ぐらいで以下のような画面が表示されます。画面が黒くなっても待ちます。もし、10分も黒いままなら電源を切って接続を確認してもう一度電源を入れ直します。
画面が真っ黒のままでも慌てないでください。SDカードへの書き込みが失敗していると画面には何も出てきません。HDMIの端子はTypeCの隣が標準のHDMI端子です。オーディオ端子となりは2台目のディスプレイ用で画面が最初は出ません。パソコンのようなメーカーロゴのようなものやBIOS画面みたいなものも出てきません。

無事起動できれば次のような画面が表示されます。

CountryでJapanを選びます。
マウスでEnglandとなっているところをクリックしJapanをクリックします。


[Next]をクリックします

パスワードを設定します
後で使うので必ず記録します
[Next]をクリックします

そのまま[Next]をクリックします

Wifiで接続なら接続する無線ルーターを選択します
[Next]をクリックします

無線のパスワードを入力します
[Next]をクリックします

ソフトウエアの更新をします[Next]をクリックします

システムはアップデートされました
[OK]をクリックします

セットアップが完了しました
[Restart]をクリックします

以上で基本設定は終了です。これで晴れてラズパイが使えるようになりました。
お疲れさまでした。
これでインターネットを見たりはできますが、まだ必要最低限のことしかできません。
このあとは自分が使いたいアプリを入れて機能アップしていくことになります。













2020年10月10日土曜日

Synology DiskStation(NAS)でUSBメモリをExt4にフォーマットする

Synology DiskStation(NAS)でUSBメモリをExt4にフォーマットする

■事の始まりはRicho Theta Z1のOTG

先日、Richo Thetaなるパノラマカメラを購入しました。が、FAT32なUSBメモリ宛にデータをThetaからOTGで直接USBメモリに写真をコピーすると非常に遅い。その上、止まる。2000枚近くある写真を400枚ほど送信して勝手に止まるわ、それにも25分かかるわで頭を抱えていました。自宅で作業する分には問題ないのですが、山に写真を撮りに行って昼食中に写真をUSBに取り出しておこうとすると困ります。昼休みでちょっとしかコピーできない。写真がいっぱいになる→撮影できない。

Richo Thetaの内部OSはLinux系ということで本来のファイルシステムはExt4だったりするので、FAT32はどちらかといえば無理やり扱えるようにしたようなもの。PCからThetaをUSBで接続してPCからは外部USBメモリのようにしても、実際にはPCとLinuxOS間のファイル転送になるのでそれでも最高速度が出ることはありません。

・Ext4なUSBメモリなら速い!

しかし、Ext4なUSBメモリならもっと高速にファイル転送ができるはず…と実験してみたら。400枚の写真が2分でコピーできました。ざっと12.5倍高速です。これなら、昼休憩で2000枚の写真でも10分でコピーできる。これなら最高です。

Windows環境下でUSBメモリをExt4フォーマットしようとすると、意外と面倒だったりします。UbuntuのLiveDiskや起動しているCentOS等のUNIX系OSならかんたんなのですが、そういったものがすぐにない。

■USBメモリをExt4フォーマットするには Synology DiskStation(NAS)が簡単

自宅にはCentOSなPCがあるのでそれでかんたんにExt4フォーマットできるのですが、もっとかんたんに手軽に。。。。と考えたとき、LinuxなマシンはSynology のNASもそうだよなと。


で、SynologyのNASならある(笑)って言う環境ならかんたんにExt4でフォーマットできます。

SynologyNAS Webの管理画面より

コントロールパネル->外部デバイス->USB Disk1->フォーマット->EXT4->OK

このフォーマット一瞬で終わります。

しかも、ここで気がついたのは、Theta→NASで写真をそのままNASに高速コピーできてしまうので、Theta→WinPC→NASへコピーするよりも遥かに楽。編集するときにNASからPCへコピーするほうが、PCの容量を圧迫しませんし。



2020年9月7日月曜日

『ASAHIネットをご利用のお客様、おめでとうございます!』っていうプロバイダーを語ったフィッシング詐欺発生

■iPhoneが当たった!?

自宅にて某朝○新聞のネット記事を読んでいたら…

『ASAHIネットをご利用のお客様、おめでとうございます! (中略)

 無料の iPhone 11 Pro、サムソン Galaxy S20、アップルウォッチ等(中略)

当選できる賞品は 2 つと限定されています 』

と画面にでかでかと表示された。iPhone11Pro もらえるのか!なんてねw


<全文>

ASAHIネットをご利用のお客様、おめでとうございます!

お客様がインターネットプロバイダーにASAHIネットをお選び頂いたことに感謝の意を込めて、今から 7日間 (9月.7 -> 9月.14) 、皆様と一周年記念日をお祝いできればと考えております。

私たちは、無料の iPhone 11 Pro、サムソン Galaxy S20、アップルウォッチ等、 限定プレゼントを手にする幸運なユーザー様を毎日10人セレクトしております。お客様の IP アドレスが 2405:6587:40c0:3f00:c1e2:18dd:643d:1b64 選ばれました。

賞品獲得のため、以下の匿名アンケートへの回答をお願いいたします。お急ぎください! 8 人のユーザー様がこの招待状を受け取っており、当選できる賞品は 2 つと限定されています。

<ポップアップ画面>

ASAHIネットカスタマケア

ASAHIネットユーザの皆様、私達は一周年記念日をお祝いしています。本日、無料プレゼントの獲得者に選ばれました!賞品を請求するには、匿名アンケートに答える必要があります。

とあります。

よくあるフィッシング詐欺で、ちょっと前には『GoogleがiPhone当たりました!』みたいなフィッシング画面がよく出ていましたが、それと同じ系統ですね。そもそも、Android筆頭がなぜにiOS系を賞品に選ぶのか全く理解できないしおかしいのですが、そんなことはお構い無しで人気のあるものを賞品にしようと言うだけのことなんでしょう。

それはさておき、今回はプロバイダを標的にしたフィッシング詐欺で、通信回線を調べてそのプロバイダに合わせてフィッシング画面を表示しているところが新しいです。ちなみにASAHIネットはプロバイダ、朝○新聞とは別物です。

以前からも、メールでは使っているプロバイダに合わせたフィッシング詐欺がありました。が、メールの場合はメールアドレスをみればプロバイダもわかるので、難易度からすると今回のほうがずっと手が込んでいます。

とりあえず、このような画面が出た時は無視してください。また、プロバイダを識別していることから、他のプロバイダでも同様のメッセージが表示されているとも思われます。完全な詐欺なので完全スルーでお願いいたしますw

しかも、実はASAHIネットは通常はあまり使用しないプロバイダなので疑問点がいくつも湧いてきました。

つづきは後ほどこのページにて報告いたします。