JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

スポンサーリンク

Raspberry Pi のスクリプト作成に PyCharm を使ってみた

わたし、Raspberry Pi の GPIO 制御に Python を使ってます。

 

そしてメイン PC の Windows から VNC で Raspberry Pi に接続して Python IDLE でスクリプトを書いてますが、それでも VNC するにはとっても非力な Linux です。

マウス操作の反応は鈍いし、たまにフリーズもするし・・・スムーズに作業ができないので結構イライラしちゃいます。

 

このまま、このスタイルで開発を続けるって精神衛生上よくないと思うし、もう少し気の利いたツールはないものかとネットで探してみました。

そして見つけたのが PyCharm という Python 統合開発環境です。

 

この PyCharm の Professional Edision にはリモートデバッグ機能があるので、Raspberry Pi と SSH でリモート接続することができます。

これで、普段使っている Windows PC にインストールした PyCharm で、PyCharm の持つ強力な IDE を使いながら Python スクリプトを作り、そのまま *.py ファイルを Raspberry Pi に転送して GPIO の確認ができるようになります。

 

これで VNC で GUI を動かすなどというメモリ喰いなことをする必要もなくなり、無駄なストレスから解放されること間違いなしです。

 

ということで、今日は Windows PC に PyCharm をインストールしたよ。っていうお話しです。

 

www.jetbrains.com

 

まず、PyCharm で Raspberry Pi をリモートするに当たり、Raspberry Pi 側の IP アドレスは固定アドレスに設定しておいた方がいいと思います。

 

ただ一つ残念なことがあるとすれば、リモート接続するためには、有償の Professional Edision を使う必要があるということ。

これは貧乏ハムの私にとって大きな痛手で、パーソナルライセンス(個人)でも、年間1万円近くの使用料が必要になります。

ただし、30 日間無料で試せるフリートライアルはありますが。。。

 

有償版にはしたいけど、今のわたしには、今進めている和文電信の bot のため、ちょっと試せればいいかな程度のことなので、この無料期間内でスクリプトを作ればいいかなって、思ったりしています。

 

まぁ、今のところは Raspberry Pi 中心に遊んでいるわけでもないので。。。 

他に何か継続ネタでも見つかれば有償にすることも考えますが・・・暫くは様子見になりそうです。 

(・・・って、ホントは、年間じゃなくて、永久ライセンスなら買ってもいいけど。。。)

 

SSH リモートデバッグの設定メモ 

f:id:JH1LHV:20171024231907j:plain

File -> Settings -> Project Interpreter -> Project Interpreter の一番右のボタンをクリックします。

 

f:id:JH1LHV:20171024231917j:plain

Add Remote を選択します。

 

f:id:JH1LHV:20171024231846j:plain

Deployment configuration ボックスの一番右のボタンをクリックします。

(ボックス内の「ssh://pi@ ~~」は、設定後に表示されます。)

 

f:id:JH1LHV:20171024231857j:plain

Raspberry Pi の IP アドレス等、SSH を設定します。 

 

あとは、Raspberry Pi 側のスクリプト蔵置フォルダの Path mappings を設定します。

そしてスクリプトの実行は、ファイルを upload して Run するだけです。

 

スクリプトを書く過程で Google 検索などによる情報収集は必須なことであり、

メイン PC の Windows で全ての作業が行える、このリモートデバッグは最高のツールです。

 

--------------------- 2017/11/20 追記 --------------------- 

Raspberry Pi を固定 IP にする方法(無線 LAN) 

$ ifconfig   <--- 現状確認

$ sudo nano /etc/dhcpcd.conf    <--- 最後に追加

# static ip
interface wlan0
static ip_address=192.168.1.16
static routers=192.168.1.1
static domain_name_servers=192.168.1.1