2017年6月21日水曜日

IoT事始め

 遅ればせながら、IoTを体験したいと思い、Texas Instruments LaunchPad(LAUNCHXL2-RM57L) の デモアプリケーションを試してみました。

 このデモアプリケーションでは、HTTPDの機能、DHCPからのIPアドレスの取得、シリアル通信によるログ出力が実現されています。

○デモアプリケーション(開発環境、ソースコード)を TI Wikiよりダウンロード。


 ※(http://processors.wiki.ti.com/index.php/LAUNCHXL2_RM57L:_lwIP_Demo)


○開発環境の整備
 ・Code Composer Studio(CCS)は  Version: 6.2.0.00050 にアップデート
 ・HALCoGen  は Window10で一部の画面表示が乱れるので、Windows7 で インストール(アップデート)を行いました。(Window10で一部の画面表示が乱れはかなり少なくなっていますが、まだ使用には耐えられないようです。)
○デモアプリのダウンロード
 ・デモアプリをダウンロードし展開
(フォルダ「HALCoGen EMAC Driver with lwIP Demonstration\v00.03.00¥」に実行ファイル、ソースコードが展開されます。)
(HALCoGenのサブパッケージもインストールされるようです。前述のアップデートは不要かも?ここでアップデートも行われるかも?)
HALCoGen によるRM57のコンフィグレーション
 ・GIO、SCI1、MIIおよびPINMUXの設定を行いました。ただひたすら、Wikiの説明通りの修正作業となりました。
   (from MII_RX_AVCLK4 to MII_RXCLK....の記述がいまいち不明で balls T4, U7 のMII_RXCLK、 MII_TX_CLKを選択。)
 ・RM57Lのコンフィグレーションソースの生成
○CCSによるデモアプリの生成
 ・Wikiの説明通りプロジェクトのインポート、コピーを行う。
 ・HALCoGenの生成ソースコードへのリンクを行う。
 ・HL_phy_dp83640.h、HL_sys_main.cを修正する。
XDS110 Emulator設定
 ・targetConfigsフォルダのRM57L8xx.ccxmlの修正
   「RM57L8xx_0」を「RM57L8xx」に、「XDS110 USB Debug Probe_0」を「XDS110 USB Debug Probe」に修正。
○デバッグ実行
 ・ターミナルソフトをCOM3、9600BPSで立ち上げ実行


LAUNCHXL2-RM57Lはネットに接続していないのでDHCPからのIPアドレス取得エラーが表示されているが、一応稼働しているらしい。






○ちょっと修正

 最初、LauchPadへの接続が不調で、過去に作成した、RM57Lプロジェクトにこのデモアプリケーションのソースを組み込み。なんとか、IoTの実現の第一歩にたどりついた様子を掲載します。



※今回のデモアプリケーションにBOOSTXL-K350QVGへの表示機能を追加したアプリケーション。














※ルータにLaunchPadを接続して、デバック実行
 DHCPによるIPアドレスの取得に成功している。








※WebブラウザでLauchPadにアクセスする。

表示されている内容は、Cのソースコードに変換して、プログラムで定義されたデータの形で扱われている。(固定の表示)








◇コンパイルエラーが多少出る。
 ・HL_pinmux.c の pinMuxReg->PINMUX[9] = PINMUX_BALL_R4_ | PINMUX_BALL_N17_EMIF_nCS_0 | PINMUX_BALL_L17_EMIF_nCS_2; でコンパイルエラー
 対処:PINMUX_BALL_R4_を削る。  など

◇Launch Padのパッケージを開封した際、MACアドレスが同封されていることを期待していたのですが、、、、残念、古い古い、ノートPC(Win95)のEtherNetカードのMACアドレスを流用しようと思います。(ローカルで使う分には、何を使おうが関係ないのですが。。。。)


◇今後は、RM57Lとのデータやパラメータの送受信が HTTPDを介して 実現できたらと思います。