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.

read more

IntelliJ IDEAでのProjectView Tree表示


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

目的

ProjectSettingsの変更や、日が経って開いたプロジェクトで表示が違う
ツリービュー表示で無くなっている事の解消

なぜ起きる?

Modules設定がなんらかの原因でクリアされてしまったりしている事が原因のようです

設定

File -> ProjectStructure -> Modules -> 緑色のプラスボタンで追加

Before

After

read more

Raspberry PiのgitをUpdate

目的

git subtree を利用したかったが
Raspbianレポジトリ上の古い git 1.7.10 では対応していなかったためコンパイル&インストール

Raspberry Pi B+にてconfigure/makeに合計1.5時間程かかりました...
オーバクロックするとどれくらい変わるのだろうか気になるところ

git1.7をアンインストール

# apt-get --purge remove git

インストール

依存パッケージのインストール

gettext が入っていないとmake途中でエラーとなる
apt-get でインストールしようとするとそもそも古いgitが入ってしまうためこちらもコンパイルする事に

# cd /usr/local/src
# wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.tar.gz
# tar -xzf gettext-0.19.tar.gz
# cd gettext-0.19
# ./configure --prefix=/usr --disable-csharp
# make && make install

git1.9 をインストール

# cd /usr/local/src
# wget https://git-core.
read more

Patlam-Pi Step2

目的

Raspberry Piでsmnptrapを受信し音と光で伝えてくれるパトランプを作成する
今回はハードウェア周りに触れてみます

工程

  1. スピーカの選定
  2. ライトの選定
  3. GPIO制御

全体図

1. スピーカの選定

近所の電器屋で一番安く手に入ったELECOMのUSBスピーカを利用しました
ステレオである必要はないため、もう一方のスピーカへ出ているケーブルを切断し
モノラル化したものを利用しました。

2. ライトの選定

こちらはコンセントに挿しておくと、夜間自動点灯する インテリアライトを改造して使いました

中身の基板を流用したかったため表面実装部品等は全て取り去り LEDを無理やり実装の上、ホットボンドで固定しました。

Raspberry Pi GPIOの電流制限に引っかからないように
IOポート一つに付きLEDを1個駆動します。(計2個)

3. GPIO制御

snmptrapd.conf の設定にて、下記Pythonスクリプトをキックしています。

Step1で編集した設定に追記でアラート受信時に音を鳴らし光るスクリプトを実行するように設定変更

#### When Recieve Trap
#default : write to syslog
#traphandle default /usr/bin/logger /tmp/test.log ## for test logging
traphandle default /prj/Patlam-pi/bin/trap_receive.py

#### Settings
doNotRetainNotificationLogs yes  
doNotLogTraps no  
doNotFork no

# authCommunity   TYPES COMMUNITY   [SOURCE [OID | -v VIEW
read more

Patlam-pi Step1

目的

Raspberry Piでsmnptrapを受信し音と光で伝えてくれるパトランプを作成する

工程

  1. OS選定
  2. USBスピーカ音出し
  3. 音声合成ソフトテスト
  4. snmptrap によるアラート受信を設定

1. OS選定

CUIのみ利用前提
http://www.raspberrypi.org/downloads/ よりダウンロード

Pidora

一番新しい PIDORA (ベースがFedora) を選択しインストールしたが
動作が重く感じた事と、yumレポジトリに接続できなかったため見送り
(2014.05.02に試してみたができなかった)

Raspbian

情報が一番多く、パッケージが多く楽そうなので歓迎
利用してみた所、明らかに応答速度が違う & apt-get も利用できたのでこちらで確定

初期セットアップでは SDカードの領域有効化と、DateTimeを設定くらい

2. USBスピーカ音出し

適当なWAVを拾ってきて、再生コマンドを叩いてみるも音が出ない

$ sudo aplay sa1_001.wav 

状況確認

$ sudo lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus
read more

XcodeプロジェクトをGitlabで管理

目的

Xcode + 自前のGitLab上リポジトリでソースコード管理
Checkout時のレポジトリ指定方法のためのメモ

動作環境

Xcode Version 5.1
GitLab 6.6.4

Gitlab上でリポジトリ作成

新しいプロジェクトを作成する

Xcode

リポジトリをチェックアウト

Check out... を選択

Repository Locationに下記を入力
ポート番号が22番でない場合は下記のように明示指定

ssh://git@git.kouzu.info:10022/takashi/sandbox.git

お好きな場所にチェックアウト

新しいプロジェクトの作成

チェックアウトしたディレクトリ内にプロジェクトを作成する

コミット

Push

Gitlab

確認

read more