IntelliJ IDEAでRaspberryPi開発環境構築


Developed withJava IDE with advanced HTML/CSS/JS
editor for hardcore web-developers

目的

GPIO等 RaspberryPi上でしか実行できないプログラム開発の効率化を行う

  • RaspberryPi用のライブラリでもAutocompleteを効かせたい
    (素早く開発したい、Pythonも始めたばかりなので書き方を教えて欲しい)
  • RaspberryPi上でDebugを行いながら開発を行なえる環境を構築する
    (I2C通信のDebugとか大変だ、エンディアン,16進数 開発者電卓とにらめっこ...)
  • IDEはIntelliJ IDEAを利用したい
    (PyCharmでも一部メニューは異なりますが基本的には同じかと)

+GPIO周りの開発を行うためpiユーザの権限をrootユーザと同一に変更
既にPiユーザにはgpioグループ権限が付いているが実行できなかったため仕方なく

動作確認済 構成/環境

  • RaspberryPi Model B/B+
    with Raspbian
  • IntelliJ IDEA Ver13
    Windows/Mac共に全く同じ設定で動作確認できました

概要

下記を実施する事で目的を達成します
1. プロジェクトSDKにRaspberryPi上のPythonを設定
2. プログラムとデバッグ実行用のデプロイ設定
3. GPIO周りに触るためpiユーザをrootユーザと同じUIDに変更
他に方法がないか模索中(gpio groupに属していても実行時エラーが出てしまう)

設定

1. プロジェクトSDKにRaspPi上のPythonを設定

1.1. 新しいProject作成

Create New Projectを選択します

1.2. Project利用のSDK環境をRemote上に構築

下記を実行するとRaspberryPi上にヘルパーファイル群がアップロードされます

Add Remoteを選択

RaspberryPi情報を入力

1.3. 作成したSDK情報を利用し新しいPythonプロジェクトを作成

メインプログラムファイルを追加します

1.4. 新しいプロジェクト内でAutocompleteが利用できる事を確認

2. プログラム及びデバッグ実行方法を設定

2.1. 実行時設定を編集

IDE右上の実行ボタンがグレイアウトしたままなので設定を実施します

2.2. デプロイ設定

RaspberryPi情報をServerとして設定します
この際に接続方式でSFTPを選択すると簡単に設定出来ます

2.3. デプロイ実施

Tools -> Deployment -> Upload to [Server]
にてファイルをRapberryPi上にアップロードできます

2.4. 確認/自動デプロイ設定

下記が確認できたらAutomatic Upload設定にチェックを入れます
Tools -> Deployment -> Automatic Upload

2.5. 確認

実行結果確認 BreakPointを設定しDebugを実行
Watch式を設定, Step in/out 一般的な機能がひと通り揃っています

4. GPIO周りに触るためpiユーザをrootユーザと同じUIDに変更

心苦しいのですがGPIO周りのプログラムが動作しなかったため取り急ぎ設定しました IDE上で実行しながらLチカ的な動作まで確認完了です

お疲れ様でした!

リモート環境情報をどのように取得できているのか

Remote Python Interpreter設定を実施後下記ヘルパーファイルが
RaspberryPi上に展開されている事を確認できました。
ちょっと見ずらいですが、.pycharm_helpers ディレクトリが生成されています 上手くいかない場合は下記確認が必要と思います

Before

After

takashi