伝説のSpice特別企画 いまさらIOT

[前のページ]  [TOPページ]  [次のページ]

CodeWarriorを使ってDevice側のプログラムを作成する

Youtube.PNGCodeWarriorを使ってDevice側のプログラムを作成する

デバイス側のプログラムの説明です。 現在はタンクに搭載して実験しています。 操作する携帯からのコマンドに従って動作する部分です。 操作のコマンドはテキストベースで簡単なコマンドです。 現在はまだ自立性はありません。 操作されるように動作します。

開発環境のワークスペースを作成

xbeeIOTフォルダ名称をワークスペースのフォルダにします。 ワークスペースは関連した複数のプログラム(プロジェクト)を入れておくフォルダです。 先に作成した serial_bypass も同じフォルダーにすでに展開されています、 ポイントはxbeeのモデルを正しく選択くすることです。 違ったタイプを選択した場合、動かなければわかるのですが、中途半端に動作します。 そのため気が付いたときには結構コードを書いた後ということになり、タイプ訂正に苦労します。 私みたいに。

リソースの設定は config.xml で行われているようです。 このファイルを訂正すると main.c が自動で編集されます。 これには注意が必要で日本語でのコメントが文字化けします。 

すでにできているひな形コードを使用してプロジェクトを更新

DL_Sources.zip ,  DL_Project_Headers.zip ファイルを解凍して所定の位置に上書きします。 できたばかりのプロジェクトでは説明したように main.c のソースファイルしかありません。 IDE環境で見える多くのフォルダとソースは共通ライブラリを指すエイリアスです。

CodeWarriorでコンパイルしてみる

コンパイルはエラーになる時があります。 これは全体(ライブラリ)を含めた再ビルドが必要な場合に発生します。 メニューからbuildAllで全体をコンパイルするとエラーはなくなります。

ライブラリに手を加えないように注意が必要

ライブラリのファイルは共通の場所からのエイリアスです。 開くことも編集することもできます。 しかし、編集するとすべてのプロジェクトが変更されることになります。 過去のプロジェクトもです。

X-CTUを使用してトランスペアレントでデバッグをする

コンパイルが終了してオブジェクトコードができると、それをターゲットにダウンロード(書き込み)をします。 書き込みには手順が必要です。 デフォルトでxbeeに搭載されているブートローダーを起動する必要があるからです。 その後X-modemプロトコルでバイナリを送ります。 送るファイルの拡張子は .bin です。

もう一つX-CTUを起動してそちらをペア設定したxbeeに割り当てます。 こちらは通信設定もスルーモードを設定していますので、X-CTUの端末に入力した文字はそのままデバイス側のxbeeに送られます。 コマンドがシンプルなテキストですので、手入力コマンドでデバイスを動作させることができます。

コマンド一覧

#--------モータ系コマンド
ME          モータ  ena=1/dis=0  確認
ME,0        モータ  disable 設定
ME,1        モータ  enable  設定
-----------------------------
MD,[n],0    モータ#[n]方向  フォワード
MD,[n],1    モータ#[n]方向  バック
MD          モータ方向確認 右左 res:x,y
MD,[n]      モータ#[n]方向確認
-----------------------------
MP,[n],[pw] モータ#[n]PWMパワー[pw]%
MP,[n]      モータ#[n]PWMパワー確認
MP          モータ#[n]PWMパワー確認 右左  res:xx,yy
-------------------------------
MA,[n],[pw] モータ#[n]PWMパワーアジャスト±[pw]%
-------------------------------
MC = MC,0 = モータ走行距離(平均)  res:mmm       (右+左)/2
MC,n        モータ走行距離&リセット
    n = 000b
        |||
        ||+- 右側
        |+-- 左側
        +---リセット

MC,1        右側カウンタ  確認  res:xxx     右
MC,2        左側カウンタ  確認  res:yyy     左
MC,3        左右カウンタ確認  res:  xxx,yyy     右、左
MC,4        ER  将来  左右調整に使用する
MC,5        右側モータ走行距離リセット  res:OK
MC,6        左側モータ走行距離リセット  res:OK
MC,7        左右同時リセット  res:  OK

#--------BME280系コマンド - //問い合わせ
TP          全部問い合わせ
TP,0        気温問い合わせ
TP,1        気圧問い合わせ
TP,2        湿度問い合わせ  

Webにドキュメントがあります。

Welcome to XBee SDK Documentation 1.6.0
XBee Firmware Library 1.6.0 Overview

[前のページ]  [TOPページ]  [次のページ]