Arduinoとシリアル通信するANEをFlashDevelopで設定してみる。

aneserial_thumbArduinoとFlashで通信するときには、それ用のライブラリ使ったり、C#で作ったProxy的アプリを使ってたりしたんだけど、どうもめんどくさい。誰かANE作ってる人いないかなーって思ってたら、いた。あるといいながあった
そんなわけで、Arduinoとシリアル通信をするためのANEのFlashDevelopでの設定手順を紹介します。

◆実行例

2014-03-14 01.02.19
serialane_cap
Arduinoからは定期的にSerial.println(count);で投げていて、AIRからはステージをクリックすると、時刻をArduinoに投げるだけの単純なもの。

◆準備

ダウンロードする。

・as3-ArduinoConnector-1-5-0.zip

https://github.com/quetwo/as3-arduino-connector

・pthreadGC2.dll

https://code.google.com/p/as3-arduino-connector/

・libgcc_s_dw2-1.dll

http://sourceforge.jp/projects/sfnet_openmarias/downloads/libgcc_s_dw2-1.dll/

◆プロジェクトを作る

新規プロジェクトウィンドウを出して、「AIR AS3 Projector」を選びます。
ここでは「ANESerial」にしました。

◆ライブラリの認識

ダウンロードしたファイル内の「ArduinoConnector.ane」を、libディレクトリを作って、ライブラリに追加します。

プロジェクトディレクトリ下に「extension」ディレクトリ、さらにその下に、「release」と「debug」ディレクトリを作ります。

releaseとdebug両方のディレクトリにbinaries内の「ArduinoConnector.ane」を追加します。
debugディレクトリのほうは、拡張子をzipにして、解凍します。
そして解凍したディレクトリを「ArduinoConnector.ane」という名前にします。
ArduinoConnector.zipは不要なので、削除します。

◆dllライブラリの認識

pthreadGC2.dllとlibgcc_s_dw2-1.dllは、「C:\Windows\SysWOW64」内に配置します。32bit環境では「C:\Windows\System32」内に配置するようです。
参考:GhostWire Studios Flash UI Components » FlashDevelop, Flex SDK, Windows 7, Missing DLL
http://www.ghostwire.com/blog/archives/flashdevelop-flex-sdk-windows-7-missing-dll/

◆Arduinoのスケッチを記述

◆Main.asを記述

次のコードを記述します。
comPortは自分の環境に合わせて書き換えてください。
参考:ANEを使ってAIRアプリ単体でArduinoと通信する – いつきの技的日記
http://d.hatena.ne.jp/itsuki_kosen/20130513/1368455674

Leonardo系の場合は、connectの第三引数にtrueを入れるようです。
http://www.viva-mambo.co.jp/jp/labo/2014/07/arduino-leopardo.html

◆application.xmlの記述

23~27行目を追加します。

◆Run.batの記述

10行目に

を追加します。

◆動作確認

以上でデバッグは出来るようになっているはずです。
動かなければ、Flex SDK 4.6以上であることを確認してください。

◆bat/Packager.batの記述

6行目の拡張子部分をexeにし、
11行目を次のように書き換えます。

◆PackageApp.batの記述

8行目に「-tsa none」の記述がある場合は削除します。

◆開発用証明書の P12 ファイルの作成

bat/CreateCertificate.batを実行します。
「ANESerial.p12」ファイルが生成されます。

◆AIRアプリケーションファイルの生成

PackageApp.batの実行をします。
airディレクトリ内に、「ANESerial.exe」が生成されます。
実行すると、インストールされます。

◆ファイル構成

スクリーンショット 2014-03-14 01.46.44

◆ファイル一式

https://github.com/umhr/ANE_Arduino_SerialConnect