it技術:ラズベリーパイ
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
it技術:ラズベリーパイ [2022/03/03 09:22] – [USBメモリ内のファイルを実行可能にする] yajuadmin | it技術:ラズベリーパイ [2022/04/11 18:17] (現在) – [Pyinstaller] yajuadmin | ||
---|---|---|---|
行 23: | 行 23: | ||
* armhf … ARMv7 (32bit) までのプロセッサに対応 | * armhf … ARMv7 (32bit) までのプロセッサに対応 | ||
* arm64 … ARMv8 (64bit) からのプロセッサに対応 | * arm64 … ARMv8 (64bit) からのプロセッサに対応 | ||
+ | |||
+ | 32-bit OS と 64-bit OSの両方あるが、今回の実機はARMv7 (32bit)を使用している。\\ | ||
+ | [[https:// | ||
==== USBメモリのアクセス ==== | ==== USBメモリのアクセス ==== | ||
ラズパイ上では自動で認識してマウントしてくれる。 | ラズパイ上では自動で認識してマウントしてくれる。 | ||
行 38: | 行 41: | ||
==== USBメモリ内のファイルを実行可能にする ==== | ==== USBメモリ内のファイルを実行可能にする ==== | ||
実行時に「許可がありません」が表示される。\\ | 実行時に「許可がありません」が表示される。\\ | ||
- | USBメモリー上のファイルに実行可能パーミッションがつかない。 chmod +x してもつかない。実行できない。 | + | USBメモリー上のファイルに「chmod +x 」としても実行可能パーミッションがつかないし、実行できない。 |
=== 原因 === | === 原因 === | ||
行 46: | 行 49: | ||
> | > | ||
- | === 対応方法1 === | + | === 対応方法1 === |
+ | [[https:// | ||
+ | |||
+ | usbmountの設定を書き換えます。場所は/ | ||
+ | <code ini usbmount.conf> | ||
+ | MOUNTOPTIONS=" | ||
+ | FS_MOUNTOPTIONS=" | ||
+ | </ | ||
+ | |||
+ | === 対応方法2 | ||
USBメモリ内のファイルを実行可能にするには、一苦労する。\\ | USBメモリ内のファイルを実行可能にするには、一苦労する。\\ | ||
[[https:// | [[https:// | ||
- | === 対応方法2 === | + | === 対応方法3 === |
+ | * [[https:// | ||
+ | * [[http:// | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | ||
- | NTFSパーティションが外部USBドライブ上にある場合、たとえば、パーティションが接続時にオンザフライでマウントされることを意味する場合、次の方法を使用して、実行権限を持つutevマウントntfsパーティションを作成できます。\\ | + | <wrap em> |
- | ターミナルウィンドウを開き、次の手順を実行します。 | ||
- | < | ||
- | $ sudo nano / | ||
- | </ | ||
- | |||
- | 次に、この行を空白/ | ||
- | |||
- | < | ||
- | ENV{ID_FS_TYPE}==" | ||
- | </ | ||
- | 次に、保存して閉じます。ドライブのプラグを抜き、ターミナルで行います。 | ||
- | |||
- | < | ||
- | $ sudo service udev restart | ||
- | </ | ||
- | 次に、ドライブを接続し直します。 | ||
==== 固定IP接続 ==== | ==== 固定IP接続 ==== | ||
行 552: | 行 549: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== Python ===== | ||
+ | C# | ||
+ | |||
+ | ラズパイの実機は外部ネットワークに接続できないため、ラズパイ(raspi3)のエミュレーター環境で行う。 | ||
+ | |||
+ | ==== Python3に切り替え ==== | ||
+ | ラズパイのPythonのバージョンがデフォルトが2系になっているで、3系をデフォルトにする。 | ||
+ | <code bash> | ||
+ | cd /usr/bin | ||
+ | |||
+ | sudo unlink python | ||
+ | sudo ln -s python3 python | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ==== 仮想環境作成 ==== | ||
+ | Python3ならデフォルトで仮想環境作成の「venv」が備わっている。 | ||
+ | |||
+ | <code bash> | ||
+ | pyhton -m venv {環境名} | ||
+ | # 例 | ||
+ | pyhton -m venv cnvnet | ||
+ | </ | ||
+ | |||
+ | === 仮想環境の有効化 === | ||
+ | |||
+ | <code bash> | ||
+ | source {環境名}/ | ||
+ | # 例 | ||
+ | source cnvnet/ | ||
+ | </ | ||
+ | |||
+ | コマンドラインの先頭に(環境名)が追加された状態になります。 | ||
+ | |||
+ | <code bash> | ||
+ | ({環境名}) pi@raspberrypi: | ||
+ | # 例 | ||
+ | (cnvnet) pi@raspberrypi: | ||
+ | </ | ||
+ | |||
+ | ==== Pyinstaller ==== | ||
+ | === Pyinstallerのインストール === | ||
+ | 仮想環境にPyinstallerをインストールする | ||
+ | |||
+ | <code bash> | ||
+ | (cnvnet) pi@raspberrypi: | ||
+ | |||
+ | (cnvnet) pi@raspberrypi: | ||
+ | 4.10 | ||
+ | </ | ||
+ | |||
+ | === テスト === | ||
+ | <code bash> | ||
+ | (cnvnet) pi@raspberrypi: | ||
+ | (cnvnet) pi@raspberrypi: | ||
+ | </ | ||
+ | |||
+ | <code python test.py> | ||
+ | (cnvnet) pi@raspberrypi: | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | (cnvnet) pi@raspberrypi: | ||
+ | </ | ||
+ | [[https:// | ||
+ | |||
+ | テストフォルダ配下にdistフォルダが作成され実行ファイルの「test」ファイルができる。\\ | ||
+ | 実行すると" | ||
+ | <code bash> | ||
+ | (cnvnet) pi@raspberrypi: | ||
+ | Hello cnvnet | ||
+ | </ | ||
+ | |||
+ | ==== Windows側にファイル転送 ==== | ||
+ | Windows側に「WinSCP」をインストールして、「WinSCP」を使用すればGUI上でファイル転送ができる。\\ | ||
+ | https:// | ||
+ | |||
+ | ==== 速度検証 ==== | ||
+ | dotNET版の半分程度の速度改善が見られた。 | ||
+ | |||
+ | ^種類^1回目^2回目^3回目^4回目^5回目^ | ||
+ | ^dotNET版|4440ms|3130ms|3120ms|3110ms|3130ms| | ||
+ | ^Python版|3690ms|1670ms|1630ms|1620ms|1620ms| |
it技術/ラズベリーパイ.1646266960.txt.gz · 最終更新: 2022/03/03 09:22 by yajuadmin