#author("2019-07-01T20:58:59+09:00","","")
#author("2019-07-02T09:19:16+09:00","","")
#navi(../)

&color(red){''***** 作成中 *****''};

* ラズベリーパイでPowerShellを動かしてみる v6.2.1 [#m1d7df92]
PowerShellがオープンソースとなり、LinuxでもPowerShellが動作するようになりましたね。~
GitHubにはArm32bit版のバイナリーも公開されていうるので、ラズベリーパイにインストールして簡単な動作確認までしてみようと思います。
GitHubにはArm32bit版のバイナリーも公開されているので、ラズベリーパイにインストールして簡単な動作確認(bitFlyerからビットコイン板情報の取得)までしてみようと思います。

#htmlinsert(minipc-top.html)
#contents

* 関連サイト [#b3c8e7bf]
-[[PowerShell Team GitHub>https://github.com/PowerShell]]

* 動作確認をしたRaspberry Pi [#j3df4009]
PowerShellをインストールし動作確認したPiは以下の通りです。
PowerShellをインストールし動作確認したラズベリーパイは以下の通りです。
- Raspberry Pi 3 Model B~
[[Raspberry Piの購入(Amazonへのリンクです)>https://amzn.to/2IIrAhM]]
[[Raspberry Piの購入(Amazonへのリンク)>https://amzn.to/2IIrAhM]]
- Raspbian Buster~

* インストールしたPowerShell Coreバージョン [#k823a262]
インストールしたPoewerShellバージョンは v6.2.1 Release of PowerShell Core になります。~
-[[v6.2.1 Release of PowerShell Core>https://github.com/PowerShell/PowerShell/releases/tag/v6.2.1]]

尚、PowerShell CoreのリリースURLは以下の通りです。~
https://github.com/PowerShell/PowerShell/releases
PowerShell CoreのリリースURLは以下の通りです。~
- https://github.com/PowerShell/PowerShell/releases

* インストールする前にRaspbianをアップデート [#gee13a70]
PowerShell Coreで必要なパッケージをインストールする必要があります。~
* インストールする前に念の為、Raspbianをアップデート [#gee13a70]
Raspbianのupadte / upgradeを実施します。~
ターミナル&ref(t.png);を起動します。~
以下のコマンドを入力し実行してください。
 sudo apt udpate && sudo apt -y upgrade
 sudo apt update && sudo apt -y upgrade

* PowerShell Core実行のために必要なパッケージについて [#d3ca2710]
本記事では、''Raspbian Buster'' with desktop and recommended software イメージを使用しました。~
特に追加のパッケージも必要なく、以下に記すようにPowerShell Coreのファイルを展開するだけで動作しました。

* v6.2.1 Release of PowerShell Coreのダウンロード [#m8a6b8f6]
本記事ではm、v6.2.1のインストールを行います。~
本記事では、PowerShell Core v6.2.1のインストールを行います。~
以下のURLから ''powershell-6.2.1-linux-arm32.tar.gz'' をダウンロードしました。
 https://github.com/PowerShell/PowerShell/releases/tag/v6.2.1
#br
#ref(01.png)

* ダウンロードしたファイルを展開(解凍) [#d11453e9]
ダウンロードしたファイルを以下のコマンドで展開します。~
+展開するディレクトリに関しては以下の場所にしました。
 /opt/powershell/6.2.1
+ ダウンロードしたtar.gzを展開するディレクトリを以下のコマンドで作成。
 sudo mkdir -p /opt/powershell/6.2.1
+ダウンロードしたファイルを以下のコマンドで展開。~
 sudo tar zxvf ダウンロードしたファイル -C 展開するディレクトリ
今回はブラウザでダウンロードしたので、ダウンロードしたファイルは~/Downloadにあります。~
上記で作成したディレクトリに以下のコマンドで展開します。
 sudo tar zxvf ~/Downloads/powershell-6.2.1-linux-arm32.tar.gz -C /opt/powershell/6.2.1/
+ PowerShellコマンドである、pwshのパーミッションは以下のようなっており実行できないので、chmodコマンドを使って実行できるようにします。
++ パーミッションの確認
 $ ls -l /opt/powershell/6.2.1/pwsh
 -rwxr--r-- 1 root root 77172  5月 17 05:25 /opt/powershell/6.2.1/pwsh
++ パーミッションの変更
 sudo chmod +x /opt/powershell/6.2.1/pwsh
++ パーミッションを確認しxが立っていることを確認しました。
 $ ls -l /opt/powershell/6.2.1/pwsh
 -rwxr-xr-x 1 root root 77172  5月 17 05:25 /opt/powershell/6.2.1/pwsh

* パスが通るようにする [#lb5f6239]
端末からpwshと入力し動作するように /usr/local/binにシンボリックリンクを以下のコマンドで作成します。
 sudo ln -s /opt/powershell/6.2.1/pwsh /usr/local/bin/
シンボリックリンクファイルが作成されていることを確認します。
 ls -l /usr/local/bin/
 合計 0
 lrwxrwxrwx 1 root root 26  7月  1 23:58 pwsh -> /opt/powershell/6.2.1/pwsh

* pwshを実行してみる [#u554a3cd]
起動するまで少々時間がかかりましたが、無事動作しました。
#ref(02.png)
#br

* いくつかコマンドを実行してみる [#k1d1d7fa]
Windows向けに公開している「[[PowerShell備忘録>https://win.just4fun.biz/?PowerShell]]」にあるいくつかのコマンドを実行してみます。

以下の動作例は、bitFlyerのビットコイン板情報をJSONで取得した実行例です。
 PS /home/pi> $board_api = "https://api.bitflyer.jp/v1/getboard"
 PS /home/pi> $board = Invoke-RestMethod -UseBasicParsing -Uri $board_api
 PS /home/pi> $board
 
 mid_price bids
 --------- ----                                                                 
   1114004 {@{price=1113008; size=0.001}, @{price=1113006; size=0.04}, @{price=…
 
 PS /home/pi> $board.asks | % { "$($_.price) : $($_.size)" } | Select-Object -First 3
 1115000 : 5.51641232
 1115316 : 0.09
 1117605 : 0.002
 PS /home/pi> $board.bids | % { "$($_.price) : $($_.size)" } | Select-Object -First 3 
 1113008 : 0.001
 1113006 : 0.04
 1113005 : 0.8
 PS /home/pi> 

#ref(03.png)
#br

以上、ラズベリーパイにPowerShell Coreをインストールして動かしてみた記事でした。

#htmlinsert(minipc-btm.html)


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS