雑食エンジニアの気まぐれレシピ

日ごろ身に着けた技術や見知った知識などの備忘録的なまとめ.主にRaspberry Piやマイコンを使った電子工作について綴っていく予定.機械学習についても書けるといいな.

RaspberryPiの開発環境の構築

RaspberryPi3の開発を始めるにあたり,ひとまず以前A+の開発に使っていたときの環境をベースに環境構築.

 

基本的に母艦のWindowsベースで開発するので基本操作はVNCSSH経由.

 

SSH

SSHに関してはraspi-configからSSHをenableにするだけで準備は完了するので楽ちん.

windowsからはTeraTermでアクセスしている.

 

VNC

こじ研(Raspberry Pi)

の記事を参考に導入していく.VNCサーバは自動起動させておきたいので

Raspberry Piで遊ぼう [No.5:VNC接続をしよう]:アシマネくんのほんわか日記:So-netブログ

に従って設定.

Windows側はRealVNCを使ってアクセスしている.

あと,VNC接続中にクリップボードの内容を同期できるautocutselは非常に便利なので一緒に導入

raspbian - TightVNC copy/paste between local OS and Raspberry Pi? - Raspberry Pi Stack Exchange

 

ホスト名参照

ラズパイと接続するときにいちいちIPアドレスを調べてられないのでホスト名による参照を導入.

Raspberry Piにホスト名の設定をしたメモ – 1ft-seabass.jp.MEMO

Windows側の準備としてはBonjourを導入する必要があったのだが,Windows10からはデフォルトでホスト名参照できるらしい.なおどちらにせよファイアウォールの登録が必要.受信と送信のどちらにも必要っぽい.

登録の手順

コントロールパネル→システムとセキリュティ→Windowsファイアウォールから詳細設定をクリック.受信or送信の規則→新しい規則 を選び,

規則の種類:ポート

プロトコルおよびポート:UDP,特定のリモートポート:5353

後は適用範囲や名前を適当に決めて完了.

 

以降ホスト名.localでアクセスできるようになる.

 

フォルダ共有

VNCベースで開発を進めていると共有フォルダがほしくなることが多いので,

Sambaのインストールと設定と接続

を参考にSambaでホームディレクトリ全体を共有している.

 

NetBeans

プログラムの開発についてはNetBeansというIDEを使用.NetBeansWindows上で開発しながらコンパイルのみラズパイ上で行うという器用なことができる.

https://netbeans.org/downloads/

から対象のインストーラを入手してインストール.

以降ラズパイとの接続設定.C/C++の例だがたぶん他も同じ.これらはネットワーク上にラズパイが繋がっていることを確認してから行う.

1.ひとまず普通にプロジェクトを作成

2.ツール→オプション→C/C++のビルド・ツールタブをクリック

3.右上の編集ボタンをクリックしてRaspberryPiの情報を追加

4.プロジェクトのプロパティのビルドの項でビルド・ホストを選択

これでラズパイ上でのコンパイルが可能に.

なおデフォルト設定でコンパイルを行った場合,実行ファイルは

~/.netbeans/remote/ホスト名/ユーザー名-Windows-x86_64/Windows上でのプロジェクトのパス/dist/Debug/GNU-Linux-x86

というめちゃくちゃ深いところに作られる.プロジェクトのプロパティのリンカの項目から,出力ディレクトリを

/home/pi/ファイル名

のように指定すれば変更できるが,IDE上での実行やデバッグはできなくなる?

実行やデバッグのパスを合わせればできそうなものだけど,どうもうまくいかないのでSSHVNCで直接起動している.いずれなんとかしたい.

 

今のところの開発環境はこんな感じ.また便利なものを見つけたら紹介する予定.