Windows10にPyCharmをインストールしてみる

Windows10にPyCharmをインストールしてみる

前から興味はあったのですが、なかなかインストールできなかったpythonIDE環境PyCharmをインストールしてみました。PyCharmはあのIntelliJ IDEAやReSharperで有名なJetBrainsさんのIDEですので、かなり期待期待しています。いまのところVScodeVim(ほとんど設定のされていない)でpythonのコードを書いていますが、pythonシンタックスにそんなに詳しいわけでもないので(というかかなり間違える)のでやっぱIDE入れるしかねえと思ってます。

インストール作業

下記のサイトにいってまずはダウンロードになります。

www.jetbrains.com

画面中の【Download Now】のボタンをクリックすると

f:id:ueponx:20170830181746p:plain

【Professional】か【Community】のエディション選択になります。自分はFreeでも十分かなと思っているので【Community】エディションを選びました。Communityエディションの【Download】ボタンをクリックします。

f:id:ueponx:20170827135449j:plain

ダウンロードすると以下のファイルが保存されます。(2017/08/27現在)

f:id:ueponx:20170827135500j:plain

ダウンロード後はWeb画面は以下のようになりますが、ほおっておいても問題ないでしょう。 内容は手順の説明などになっています。

f:id:ueponx:20170827135508j:plain

インストーラを起動します。ここは【Next】ボタンをクリックします。 (ほかのアプリは落としたほうがいいよって内容です)

f:id:ueponx:20170827135517j:plain

次はインストールパスの設定です。基本デフォルトでいいと思います。変更しないなら【Next】ボタンをクリックします。

f:id:ueponx:20170827135532j:plain

続いてインストールオプションの設定になります。デスクトップのランチャー(ショートカットの作成)や拡張子の関連付けの設定になります。

f:id:ueponx:20170827135538j:plain

自分は以下のように設定しましたが、正直、拡張子の関連付けはいらないかもなあ…とは思います。設定が終わったら【Next】ボタンをクリックします。

f:id:ueponx:20170827135542j:plain

続いてスタートメニューの設定になりますが、変更しないなら【Install】ボタンをクリックします。

f:id:ueponx:20170827135551j:plain

あとはプログレスバーが100%になるのを待ちます。意外と長かったなという印象でした。

f:id:ueponx:20170827135557j:plain

処理が完了するとセットアップは完了になりますので【Finish】ボタンをクリックします。Finishと同時にPyCharmを起動したい場合はチェックをしてください。

f:id:ueponx:20170827135605j:plain

先ほどインストール作業でデスクトップにショートカットの作成を行ったので、以下のようなアイコンができていれば大丈夫です。インストーラーの作業はこれで終わるのですが、JetBrainsのアプリケーションでは初回の起動でも設定する必要があります。

f:id:ueponx:20170827135611j:plain

デスクトップのショートカットをクリックしてPyCharmを起動すると

f:id:ueponx:20170827135620j:plain

過去バージョンの設定を引き継ぐか尋ねられます。初回なのでラジオボタンを【Do not import setting】とし、【OK】ボタンをクリックします。

続いてJetBrainsさんのプライバシーポリシーの同意を求められますので【Accept】ボタンをクリックします。

f:id:ueponx:20170827135630j:plain

これでPyCharmのスプラッシュスクリーンが表示されるのでインストール終わった!と思うのですが。

f:id:ueponx:20170827135636j:plain

キーマップ、テーマ、アイコン、フォントの設定を行うダイアログが表示されます。あとからでも変えられるのでここでは【OK】ボタンをクリックします。

f:id:ueponx:20170827135643j:plain

やっと起動できました!万歳!見た目もなんとなくIntelliJ IDEAに似ていますっていうかそのものに近い。

f:id:ueponx:20170827135650j:plain

あとはプロジェクトを作成(【Create New Project】)を選択して、開発を始めることになります。

f:id:ueponx:20170831001408j:plain

【Create New Project】をクリックするとプロジェクトの場所【Location】と【Interpreter】(実行するPythonの場所)の選択のダイアログが表示されます。【Interpreter】の欄の右にある歯車をボタンクリックするとVirtualENVなども設定できるようです。

f:id:ueponx:20170827135657j:plain

これで終わったと思うのですが、実は起動後もファイルの設定などを行っているので即テストコードをつくって実行しようとするとRunできないという罠があります(メニューがそもそもアクティブにならない。)。少し待つとGUIのボタンなどもアクティブになるので心配はありません。

Tipsのダイアログは消して作業を進めます。

プロジェクトペイン上で作成したプロジェクトで上で右クリックし【NEW】→【Python File】を選択します。

f:id:ueponx:20170831002150j:plain

ファイル名入力のダイアログが表示されるので入力します。

f:id:ueponx:20170831003140p:plain

ファイルの編集を行ったら

f:id:ueponx:20170831010811j:plain

メニューバー上の【RUN】→【RUN】を選択します。

f:id:ueponx:20170831010830j:plain

実行ファイルの選択ダイアログが表示されるので、対象となるファイルを選択します。

f:id:ueponx:20170831011204j:plain

すると、ウインドウの下部に実行時のコンソールが開きます。これで実行完了です。

f:id:ueponx:20170831012415j:plain

終わりに

ブレークポイントの指定をしたデバックや変数のモニタもできます。いままでとは大違いで開発が容易になりました!スニペットも使えるし、ハイライトも、ファイルのDiffも取れるので超便利!いろいろ捗るので今後も使っていこうと思います。

Windows10のAWS CLI経由でAmazon Pollyを使用してみる

Windows10のAWS CLIを使ってAmazon Pollyを使用してみる

先日、JAWS-UG名古屋の勉強会に行ってきました。久々のCLIという感じだったのですが、RaspberryPiを触っているので何とかなるだろうと思っていたのですが、Windows10のBash環境からの前提だったためか、Webの画面からのコピー&ペーストがうまくいかず泣きたくなりました。

jawsug-nagoya.doorkeeper.jp

CLIの使い方に関しては勉強にはなりましたが、コマンドラインヘルパーみたいなものがないと正直厳しいなあと感じました。

Windows10のBash環境はさすがにアレなので、それ以外の方法を探してみたらふつうにあるんすね>標準のCLIインストーラ。ってことで復習もかねてWindows10でAWS CLIをインストールして、さらに最近Amazonの方が会社に来られたときにPollyっていうのもあるんですよと言われていたので、CLI経由で試してみることにしました。(基本はRESTでの使用ではなく、SDK経由の利用っぽいですけど。)

f:id:ueponx:20170827155118j:plain

Amazon Pollyとは?

Amazon Pollyは、文章をリアルな音声に変換するサービスで、話すことができるアプリケーションを作成でき、まったく新しいカテゴリの音声対応製品を構築できます。Amazon Polly は、高度なディープラーニング技術を使用したテキスト読み上げサービスで、人間の声のような音声を合成します。

引用元 aws.amazon.com

TTS+ディープラーニングという感じのようです。抑揚の部分なんかがディープラーニングの効果なんでしょうかね。

AWS CLIのインストール

AWS コマンドラインインターフェイスAWS CLI)のインストーラは以下のリンクからダウンロードできます。

aws.amazon.com

リンクを開くと以下のような画面になると思います。

f:id:ueponx:20170827155126j:plain

画面の右のほうにインストーラのダウンロードリンクがありますので、OSのbit数にあわせてインストーラをダウンロードします。自分は64bit版を選択しました。

f:id:ueponx:20170827155141j:plain

Windows10のBash環境やそのほかのOSではPythonpipを使ってインストールできます。どっちが簡単かというと…難しいところですね。(Windows10のBash環境でコピペができなかったのはWindowsのビルドに関係しているような気がします。) ダウンロードが終わったらインストーラを起動します。

インストーラが起動したら【Next】ボタンをクリックします。

f:id:ueponx:20170827155152j:plain

続いてライセンス確認の画面になるので、下にある【I accept the terms in the License Agreement】にチェックを入れて、【Next】ボタンをクリックします。

f:id:ueponx:20170827155158j:plain

次はインストールする場所の設定画面になります。デフォルトのロケーションはC:\Program Files\Amazon\AWSCLI\になりますので、変更する際は【Browse…】を押して変更を行ってください。問題ない場合には【Next】ボタンをクリックします。

f:id:ueponx:20170827155204j:plain

あとはインストールを行うだけです。ここまでで問題なければ【Install】ボタンをクリックします。

f:id:ueponx:20170827155211j:plain

進捗がプログレスバーに表示されます。

f:id:ueponx:20170827155218j:plain

以下の画面がでればインストールは完了です。【Finish】をクリックしてインストーラを終了させます。

f:id:ueponx:20170827155229j:plain

あとは実行の確認です。powershellを起動し、以下のように打ち込みます。

PS C:\> aws --version
aws-cli/1.11.141 Python/2.7.9 Windows/8 botocore/1.6.8

CLIのバージョン情報がでていれば問題ありません。(Windows10なのになぜWindows8ってなるのだろうか?)

f:id:ueponx:20170827155312j:plain

インストーラでセットアップを行うとpowershellだけでなくcmdでもAWS CLIを使用できます。

f:id:ueponx:20170827155238j:plain

(注意)PowerShellのCodePageをchcpコマンドで変更していると実行できないようです。

PS > aws configure
Traceback (most recent call last):
  File "aws", line 27, in <module>
  File "aws", line 23, in main
  File "awscli\clidriver.pyc", line 56, in main
  File "awscli\clidriver.pyc", line 192, in main
  File "awscli\argparser.pyc", line 100, in parse_known_args
LookupError: unknown encoding: cp65001

このようになったら

PS > chcp 932
現在のコード ページ: 932

として変更してください。つまりShift_JIS環境でしか使えないということです。cmdでの実行には関係はありません。

Amazon Pollyを使用するためのIAMの設定する

AWS CLIでは使用する際に認証情報を設定しないといけないのでAWSマネージメントコンソールからIAMを設定し、CLIに設定する必要があります。ここからはその設定になります。ここからはあまり自分も詳しくないのでつらい…

IAMの画面からユーザの追加を選択します。今回のユーザー名はpolly_userとして【プログラムによるアクセス】にチェックを入れ、画面下の【次のステップ:アクセス権限】ボタンをクリックします。

f:id:ueponx:20170827155532j:plain

作成されたpolly_userの権限を追加する画面です。

f:id:ueponx:20170827155540j:plain

アクセス権限に【既存のポリシーを直接アタッチ】を選択し、フィルターの検索ボックスにpollyと入力して検索をします。

f:id:ueponx:20170827155550j:plain

すると検索されたリストに

  • AmazonPollyFullAccess
  • AmazonPollyReadOnlyAccess

がでてくるので、今回はAmazonPollyFullAccessにチェックをいれて、【次のステップ:確認】ボタンをクリックします。

(注意)実際には、適切な権限を与えるようにしてください。

ボタンをクリックすると、作成内容の確認画面になります。問題なければ【ユーザの作成】ボタンをクリックします。

f:id:ueponx:20170827155558j:plain

成功すると以下のような画面に遷移します。

f:id:ueponx:20170827155655j:plain

ユーザ名、アクセスキーID、シークレットアクセスキーが表示されますが、画面の中ほどにある【.csvのダウンロード】ボタンをクリックすれば、表示された情報が含まれたCSVファイルがダウンロードできるのでそれをダウンロードしておきます。この情報をあとの手順で使用します。

Amazon PollyをAWS CLIから使用する

CLIに先ほど作成したユーザ名のIAM情報を登録します。 powershell上から以下のコマンドを実行します。

PS C:\> aws configure 
AWS Access Key ID : <ダウンロードしたCSVに記載>
AWS Secret Access Key :<ダウンロードしたCSVに記載>
Default region name :ap-northeast-1
Default output format :json

これで設定できました。 早速、pollyコマンドを実行してみたいと思います。 以下の情報を参考にしています。

docs.aws.amazon.com

すると…

PS C:\> aws polly synthesize-speech --output-format mp3 --voice-id Joanna --text 'Hello,
earned about the W3C on 10/3 of last year.' hello.mp3

Could not connect to the endpoint URL: "https://polly.ap-northeast-1.amazonaws.com/v1/speech"

APIのエンドポイントに接続できないといわれました。 先ほどの設定ではデフォルトのリージョンをap-northeast-1にしていました。このリージョンはpollyに対応していないので対応しているリージョンに変更する必要があります。環境変数で指定してもいいのですが、今回はデフォルト値を変更することにしました。

再度、awsコマンドで設定を行います。デフォルトのリージョンをus-west-2に変更しています。あとは入力せずEnterで前回の設定値が引き継がれます。

これを行わなくても良いようです。Optionスイッチに以下を追加すれば都度リージョンを変更できます。 --region us-west-2

PS C:\> aws polly synthesize-speech --region us-west-2 --output-format mp3 --voice-id Joanna --text 'Hello,
earned about the W3C on 10/3 of last year.' hello.mp3
PS C:\> aws configure 
AWS Access Key ID [********************]: <そのままEnter>
AWS Secret Access Key [********************]:<そのままEnter>
Default region name [ap-northeast-1]:us-west-2
Default output format [json]:<そのままEnter>

設定後、もう一度pollyにアクセスすると…

PS C:\> aws polly synthesize-speech --output-format mp3 --voice-id Joanna --text 'Hello, my name is Joanna. I l
earned about the W3C on 10/3 of last year.' hello.mp3
{
    "ContentType": "audio/mpeg",
    "RequestCharacters": "71"
}
PS C:\Users\CTV> ls hello.mp3

    ディレクトリ: C:\Users\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2017/08/27     15:12          33743 hello.mp3

無事にPollyによってTTSを行ったmp3ファイル(hello.mp3)がダウンロードされています。

f:id:ueponx:20170827155720j:plain

日本語の場合にはオプションを変更すれば問題ありません。(環境変数を指定してもOKです)

PS C:\Users\> aws polly synthesize-speech --output-format mp3 --voice-id Mizuki --text '坊やだからさ。' polly.mp3
{
    "ContentType": "audio/mpeg",
    "RequestCharacters": "7"
}

f:id:ueponx:20170827155727j:plain

実験してみたのですが、英語と日本語の混じった文章ではどうなるのかなと思ったのですが、英語の部分は英語にしてくれているのでAIっぽさのあるTTSになっているのだなと思いました。他のだと混じっているとうまくいかないことが多いのでかなり助かります。

たとえば以下のようにすると```you````の部分はユーと話してくれます。ルー語もOKのようです。

PS C:\Users\> aws polly synthesize-speech --output-format mp3 --voice-id Mizuki --text 'youは坊やだからさ。' polly.mp3

{
    "ContentType": "audio/mpeg",
    "RequestCharacters": "11"
}

番外編

RaspberryPiにもAWS CLIをインストールしてみました。ドキュメント通りpip install awscliでインストールしています。

$ pip install awscli
Collecting awscli
  Downloading awscli-1.11.141-py2.py3-none-any.whl (1.2MB)
    100% |????????????????????????????????| 1.2MB 225kB/s
Collecting PyYAML<=3.12,>=3.10 (from awscli)
  Downloading PyYAML-3.12.tar.gz (253kB)
    100% |????????????????????????????????| 256kB 807kB/s
Collecting rsa<=3.5.0,>=3.1.2 (from awscli)
  Downloading rsa-3.4.2-py2.py3-none-any.whl (46kB)
    100% |????????????????????????????????| 51kB 1.7MB/s
Collecting botocore==1.6.8 (from awscli)
  Downloading botocore-1.6.8-py2.py3-none-any.whl (3.6MB)
    100% |????????????????????????????????| 3.6MB 71kB/s
Collecting docutils>=0.10 (from awscli)
  Downloading docutils-0.14-py2-none-any.whl (543kB)
    100% |????????????????????????????????| 552kB 419kB/s
Collecting s3transfer<0.2.0,>=0.1.9 (from awscli)
  Downloading s3transfer-0.1.10-py2.py3-none-any.whl (54kB)
    100% |????????????????????????????????| 61kB 1.8MB/s
Collecting colorama<=0.3.7,>=0.2.5 (from awscli)
  Downloading colorama-0.3.7-py2.py3-none-any.whl
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli)
  Downloading pyasn1-0.3.3-py2.py3-none-any.whl (63kB)
    100% |????????????????????????????????| 71kB 1.9MB/s
Collecting python-dateutil<3.0.0,>=2.1 (from botocore==1.6.8->awscli)
  Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
    100% |????????????????????????????????| 194kB 968kB/s
Collecting jmespath<1.0.0,>=0.7.1 (from botocore==1.6.8->awscli)
  Downloading jmespath-0.9.3-py2.py3-none-any.whl
Collecting futures<4.0.0,>=2.2.0; python_version == "2.6" or python_version == "2.7" (from s3transfer<0.2.0,>=0.1.9->awscli)
  Downloading futures-3.1.1-py2-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore==1.6.8->awscli)
  Downloading six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: PyYAML
  Running setup.py bdist_wheel for PyYAML ... done
  Stored in directory: /home/pi/.cache/pip/wheels/2c/f7/79/13f3a12cd723892437c0cfbde1230ab4d82947ff7b3839a4fc
Successfully built PyYAML
Installing collected packages: PyYAML, pyasn1, rsa, six, python-dateutil, docutils, jmespath, botocore, futures, s3transfer, colorama, awscli
Successfully installed PyYAML-3.12 awscli-1.11.141 botocore-1.6.8 colorama-0.3.7 docutils-0.14 futures-3.1.1 jmespath-0.9.3 pyasn1-0.3.3 python-dateutil-2.6.1 rsa-3.4.2 s3transfer-0.1.10 six-1.10.0

awsコマンドを実行してもうまく行かなったのですが、インストールパスが違っていたようです。

$ ~/.local/bin/aws --version
aws-cli/1.11.141 Python/2.7.13 Linux/4.9.41-v7+ botocore/1.6.8
$ ~/.local/bin/aws configure
AWS Access Key ID : <ダウンロードしたCSVに記載>
AWS Secret Access Key :<ダウンロードしたCSVに記載>
Default region name :us-west-2
Default output format :json

設定はこれでOKです。

では、Pollyを呼び出して見ます。

$ ~/.local/bin/aws polly synthesize-speech --output-format mp3 --voice-id Mizuki --text 'youは坊やだからさ。' polly.mp3 ; mpg321 polly.mp3
{
    "ContentType": "audio/mpeg",
    "RequestCharacters": "11"
}
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
Version 0.3.2-1 (2012/03/25). Written and copyrights by Joe Drew,
now maintained by Nanakos Chrysostomos and others.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

Playing MPEG stream from polly.mp3 ...
MPEG 2.0 layer III, 48 kbit/s, 22050 Hz mono

[0:01] Decoding of polly.mp3 finished.

無事にTTSが行われました。

おわりに

AWS CLIAmazon Pollyを使ってみました。アルファベット混じり文章も使えるし、抑揚もいい感じなので使えそうですね!というか英語はもう実用レベルでしょう。

DragonBoard410cでもつかえるのかな?pythonだし使えると思いますが、あとで実験してみます。

Windows10にPython3を入れたくなったのでAnacondaでインストールしてみる

Windows10にPython3を入れたくなったのでAnacondaでインストールしてみる

最近、pythonを使うことが多くなってきたのですが、いろいろうまくいかないこともあってインストールに迷うことが多くありました。

それまでは以下からインストーラをダウンロードしていました。

www.python.org

f:id:ueponx:20170827105301j:plain

こちらをインストールしていても問題なく使えてはいたのですが。たまにパッケージ関係や環境によって引っかかることも、ワークショップでこれにひかっかるとそのあとは全くなにもできなくなってしまいます。

MACなどでは引っかからないみたいですし、個人的にもUbuntuやRaspberryPiでは引っかかったことはないのでWindowsに特有な話なのかもしてません。

以前、コミュニティなどの集まりに行ったときによく聞いたのは

Anacondaをインストールして環境構築をしたほうが容易ですよ!

ということでした。

今後のことも考えてWindows10にAnacondaをインストールしてみます。

インストール

以下のサイトからAnacondaをダウンロードします。

Download Anaconda Now! | Continuum

OSのbitに合わせてファイルを選択してください。

f:id:ueponx:20170827104800j:plain

自分は64bitOSにインストールするので64bit版を選択しました。

Anaconda3-4.4.0-Windows-x86_64.exe(2017.08.27時点)

f:id:ueponx:20170827104809j:plain

ダウンロードが完了したら、インストーラを起動します。

AnacondaのStepupダイアログが開いたら【Next】ボタンをクリックします。

f:id:ueponx:20170827104815j:plain

次に適応するユーザの設定の選択になります。 JustMe(自分のみ)かAll User(全ユーザ)から選択することになります。今回はJustMeを選択しました。 ラジオボタンを選択したら【Next】ボタンをクリックします。

f:id:ueponx:20170827104823j:plain

次はインストールパスの設定になります。特にこだわりがなければデフォルトでいいと思います。(最近はこだわる理由がなくなってきたので、デフォルトパスにすることにしました。)画面中は【Destination Folder】の欄が空欄になっているのですが、実際はデフォルトのインストールパスが格納されています。

設定ができたら【Next】ボタンをクリックします。 クリックすると【Advance Option】の選択画面となります。

f:id:ueponx:20170827104833j:plain

内容としては * Anacondaのインストール先を環境変数のPATHに登録するか * デフォルトのpythonをAnacondaでインストールとされたものとするか

になります。

f:id:ueponx:20170827104845j:plain

自分はコマンドラインから使う可能性もあったので一応パス登録しました。 Startメニュー経由で起動するだけならPATHの登録はいらないかもしれません。

f:id:ueponx:20170827104851j:plain

チェックが終わったら【Install】ボタンをクリックします。

f:id:ueponx:20170827105006j:plain

プログレスバーが進んでいって

f:id:ueponx:20170827105016j:plain

インストールが完了します。

f:id:ueponx:20170827105026j:plain

これで終了です。Setuo終了後にAnaconda CloudとAnaconda Supportに関する情報を出すかのチェックボックスがでますが、一読してもいいかなと思います。【Finish】をクリックします。

インストールが完了するとスタートメニューからAnacondaを選択することができます。

f:id:ueponx:20170827110629j:plain

スタートメニューからPythonCLIを使用する場合にはAnaconda Promptを選択します。この場合はcmd環境になるので、保管なども効かないので若干使いにくいかもしれません。

また、AnacondaをインストールするとJupyter NoteBookなども同時にインストールできるので便利ですね。

スタートメニューでクリックするとコンソールが開いてローカルサーバープロセスが起動し、ブラウザで使用できるようになります。

f:id:ueponx:20170827125525j:plain

f:id:ueponx:20170827125537j:plain

かなりいい感じです。

おわりに

インストールも問題なく終わりました。 Jupyter Notebookもありますし、pipなどでモジュールのインストールも容易にできるので満足です。

Bash on Ubuntu on Windowsなどにインストールしてもいいのかなと思ったりもしたのですが、まあ、当面はこれでやっていこうと思います。

RaspberryPiにBonjourをインストールしてみる

RaspberryPiにBonjourをインストールしてみる

前々から気にはなっていたんですが、別途ソフトのインストールが必要だったので尻込みしていたのですが、Windows10の最近のビルドではデフォルトでBonjourに対応している様です。そこで固定IP以外で、名前でもホスト指定できるようにしようと思います。

以下のブログを参考にさせていただきました。(実質、Windows10側は何も設定しなくても大丈夫でした)

moguno.hatenablog.jp

virtnote.blogspot.jp

Windows10側の設定の確認

Windows10はBonjourは対応しているのですが、ファイアウォールの設定でアクセスできないこともあるので内容の確認をしておきます。

【コントロールパネル】を開き、

f:id:ueponx:20170820142033p:plain

その中の【システムとセキュリティ】をクリックし、

f:id:ueponx:20170820142646p:plain

更に【WindowsDefenderファイアウォール】をクリックします。

f:id:ueponx:20170820143341p:plain

ウインドウの左側のペインから【詳細設定】をクリックします。

f:id:ueponx:20170820143515p:plain

クリック後に表示されるファイアウォール設定のウインドウの左側のペインから【受信の規則】を選択すると、

f:id:ueponx:20170820144154p:plain

中にBonjourの設定があるのがわかると思います。 Bounjourの設定が複数ありますが、TCPUDPなどの細かい設定の違いがあるようです。 複数あるなかに以下のような設定のあるものがあれば問題はなさそうです。

f:id:ueponx:20170820152314p:plain

  • プロトコルの種類:UDP
  • ローカルポート:全てのポート
  • リモートポート:全てのポート

ポートは5353に制限してもいいかなとは思いますが今回はそのままにしています。

RaspberryPi側の設定

Windows側の設定が確認できたので次はRaspberryPiの設定になります。設定するのはBonjourではありますが、パッケージ名はavahi-deamonとなります。 Avahi はBonjourのZeroconf仕様の実装とのことです。

参考:Avahi - Wikipedia

インストールは以下でOKです。

$ sudo apt-get install avahi-daemon
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
avahi-daemon はすでに最新バージョン (0.6.32-2) です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 2 個。

既に最新版がインストールされていました。調べてみるとRasbian jessie以降にはデフォルトでインストールされているようです。

動作確認

これでhostnameをつかってpingSSHなどを行うことができます。

RaspberryPi上からの自ホストへのping

$ ping raspberrypi.local
PING raspberrypi.local (192.168.0.8) 56(84) bytes of data.
64 bytes from 192.168.0.8 (192.168.0.8): icmp_seq=1 ttl=64 time=0.109 ms
64 bytes from 192.168.0.8 (192.168.0.8): icmp_seq=2 ttl=64 time=0.102 ms
64 bytes from 192.168.0.8 (192.168.0.8): icmp_seq=3 ttl=64 time=0.099 ms
64 bytes from 192.168.0.8 (192.168.0.8): icmp_seq=4 ttl=64 time=0.096 ms
64 bytes from 192.168.0.8 (192.168.0.8): icmp_seq=5 ttl=64 time=0.098 ms
64 bytes from 192.168.0.8 (192.168.0.8): icmp_seq=6 ttl=64 time=0.092 ms
64 bytes from 192.168.0.8 (192.168.0.8): icmp_seq=7 ttl=64 time=0.095 ms
^C
--- raspberrypi.local ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6231ms
rtt min/avg/max/mdev = 0.092/0.098/0.109/0.012 ms

RaspberryPi上からのWindows10へのping

Windows10側のホストネームはUindows10にしています。

$ ping UINDOWS10.local
PING UINDOWS10.local (192.168.0.5) 56(84) bytes of data.
64 bytes from 192.168.0.5 (192.168.0.5): icmp_seq=1 ttl=128 time=1.67 ms
64 bytes from 192.168.0.5 (192.168.0.5): icmp_seq=2 ttl=128 time=1.61 ms
64 bytes from 192.168.0.5 (192.168.0.5): icmp_seq=3 ttl=128 time=4.54 ms
64 bytes from 192.168.0.5 (192.168.0.5): icmp_seq=4 ttl=128 time=8.80 ms
64 bytes from 192.168.0.5 (192.168.0.5): icmp_seq=5 ttl=128 time=5.97 ms
64 bytes from 192.168.0.5 (192.168.0.5): icmp_seq=6 ttl=128 time=4.56 ms
^C
--- UINDOWS10.local ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5008ms
rtt min/avg/max/mdev = 1.612/4.529/8.801/2.482 ms

RaspberryPi上からの自ホストへのssh

$ ssh pi@raspberrypi.local
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Aug 20 14:48:22 2017 from 192.168.0.8

$ exit
ログアウト
Connection to raspberrypi.local closed.
$

Windows10上からの自ホストへのSSH

PS C:\> ping UINDOWS10.local

Pinging UINDOWS10.local [XXXX::XXXX:XXXX:42ea:XXXX%11] with 32 bytes of data:
Reply from XXXX::XXXX:XXXX:42ea:XXXX%11: time<1ms
Reply from XXXX::XXXX:XXXX:42ea:XXXX%11: time<1ms
Reply from XXXX::XXXX:XXXX:42ea:XXXX%11: time<1ms
Reply from XXXX::XXXX:XXXX:42ea:XXXX%11: time<1ms

Ping statistics for XXXX::XXXX:XXXX:42ea:XXXX%11:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
PS C:\>

Windows10上からのRaspberryPiへのping

PS C:> hostname
UINDOWS10
PS C:\Users\uepon> ping raspberrypi.local

Pinging raspberrypi.local [XXXX::XXXX:XXXX:aa9:XXXX%37] with 32 bytes of data:
Reply from XXXX::XXXX:XXXX:aa9:XXXX%37: time=4ms
Reply from XXXX::XXXX:XXXX:aa9:XXXX%37: time=4ms
Reply from XXXX::XXXX:XXXX:aa9:XXXX%37: time=6ms
Reply from XXXX::XXXX:XXXX:aa9:XXXX%37: time=4ms

Ping statistics for XXXX::XXXX:XXXX:aa9:XXXX%37:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 6ms, Average = 4ms

Windows10上からのRaspberryPiへのSSHTeratermから)

HOST設定にraspberrypi.localを設定する点だけが変更点になります。

f:id:ueponx:20170820160529p:plain

無事接続できています。

f:id:ueponx:20170820160652p:plain

Windows10上からRaspberryPiへのSSHBash On Ubuntu On Windowsから)

Bash On Ubuntu On WindowsではSSHがあるので同様にできそうなのですが…

$ sudo apt-get install avahi-daemon
$ sudo service avahi-daemon start
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: 接続を拒否されました
 * Starting Avahi mDNS/DNS-SD Daemon avahi-daemon
$ ssh pi@raspberrypi.local
ssh: Could not resolve hostname raspberrypi.local: Name or service not known

名前解決ができないため、アクセス出来ないようです。 もちろん、IPアドレス直接であれば問題なくアクセスはできています。

ググってみると同様の現象がでているようです。

github.com

github.com

Dbusというdeamonも影響しているようです。ちょっと残念ですが、今後修正されていくことでしょう。

おわりに

今回はほとんど何も設定していませんでしたが…。 Windows10でもデフォルトでBonjourのサービスが含まれたので特別にアプリケーションをインストールすることなく、Bonjourを使うことができました。それも容易です。IPが変わる可能性のある環境だとこちらのほうが圧倒的にいいのかもしれません。

食わず嫌いだったということですかね、やっぱり。

RaspberryPi3へのRaspbianインストール(2017/08/20版)

RaspberryPi3へのRaspbianインストール(2017/08/20版)

いままでRaspberryPiも2ばかり使っていたのでそろそろRaspberryPi3を使おうと思いました。(そろそろ機械学習なんかにも手をだしたいなあとということもあってマシンパワーが欲しくなった)

タイミングとしてはつい先日Raspbianの新しいバージョンがリリースされたこともあるのでクリーンな状態でインストールすることにしました。(Release date:2017-08-16)

ダウンロードとイメージの書き込み

まずは新しいイメージをダウンロードします。

www.raspberrypi.org

f:id:ueponx:20170820095344j:plain

自分はこの中からRASPBIAN STRETCH WITH DESKTOPのZip版をダウンロードしています。

f:id:ueponx:20170820095402j:plain

ダウンロードできたらおなじみのWin32DiskImagerで書き込みを行います。

ja.osdn.net

f:id:ueponx:20170820095407j:plain

起動すると確認ダイアログが表示されますが管理者権限で行う作業なので問題はありません。書き込むファイルを2017-08-16-raspbian-stretch.imgを指定、書き込み先のSDカードのドライブを指定、そして、【Write】ボタンをクリックします。

f:id:ueponx:20170820095420j:plain

少し時間はかかりますが、イメージファイルの書き込みが行われます。

f:id:ueponx:20170820100305p:plain

完了すると以下のようなダイアログが表示されます。

f:id:ueponx:20170820100733p:plain

ここまでは変化はありません。

起動と初期設定

起動してもあんまり変化はありません。 ロケールタイムゾーン、日本語フォントなどのインストールに関してはそのままかなと思いました。このあたりは過去のエントリなどをそのままで対応しました。

uepon.hatenadiary.com

変化はないかと思います。

少し変わったなあとおもたのはraspi-configかなと思いました。

f:id:ueponx:20170820115514p:plain

7.Advance Optionの画面を開くと

f:id:ueponx:20170820115429p:plain

VNCの項目が増えています。これをONにするとrealVNCサーバが起動します。 VNCクライアントで接続すれば、デスクトップがネットワーク経由で操作できます。 別途VNCサーバをインストールする必要はもうないようですが…。

クライアントソフトのインストールがしたくない場合にはxrdpをインストールします。

$ sudo apt-get install xrdp

これでWindows標準のリモートデスクトップ接続で接続できます。

f:id:ueponx:20170820120123j:plain

接続後はSessionはXorgで接続できます。

f:id:ueponx:20170820121200p:plain

f:id:ueponx:20170820121418p:plain

問題ないようです。

不具合?

作業中にapt-getがうまくいかないことがありました。

f:id:ueponx:20170820115336p:plain

エラーメッセージにもあるとおり以下のコマンドを打つと復帰できるので、大きくは問題ないかなと思います。

$ sudo dpkg --configure -a

あと、リモートデスクトップ接続の場合には、RaspberryPiの設定アプリは起動しても表示できないようです。

f:id:ueponx:20170820123103p:plain

コンソールでは表示できるのでこちらも問題はないかもしれないです。

気になっていたことの確認

これまで使っていた環境ではOpneCVなどのカメラ画像がうまく表示できないため X11VNCをインストールしていましたが、RealVNCではどうか確認してみます。

過去のエントリーを参考にしてみると…

uepon.hatenadiary.com

f:id:ueponx:20170820131457p:plain

RealVNCでは問題なく表示できるようです!気になっていたことは大丈夫でした!

おわりに

なんとかインストールできたみたいです。また、気になっていたこともバージョンアップによりデフォルトの設定で解決していたようです。 とくに内容が薄くなってしましましたがそういう日もあるということで。

/* -----codeの行番号----- */