IoT無線タグTWE-Lite-2525A 使ってみた C#

バージョン情報
windows 8.1 , Visual Studio C# 2013, .NET Framework 4.5, IoT無線タグアプリ Ver1.4

以前つかってみて超簡単だったTWE-Lite Dipのメーカーの東京コスモス電機からまた面白そうなものがでたので買ってみた。IoT無線タグその名も”TWE-Lite-2525A”、、、。加速度センサを内蔵した無線タグモジュール。
何に使うかはまだ決めてないので、とりあえずデータを取得する方法の確認がてらC#のデータグリッドビューの勉強も兼ねて使ってみた。

IMG_2015032839550

材料

TWE-Lite-2525A
ToCoStick
電池(CR2032)

準備

ToCoStickのアプリを無線タグアプリ (Samp_Monitor)に変更する。
今回使用したものはこれ→Samp_Monitor_Parent_JN5164_1_4_1.bin
詳細はメーカーHP参照。

TWE-Lite-2525Aに電池を取り付ける。

プログラム

今回はVisual studioを使いC#のウィンドウズフォームアプリケーションをつくってみた。

【Form.cs】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace twelite2525_01
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.Rows.Add("rc");
            dataGridView1.Rows.Add("lq");
            dataGridView1.Rows.Add("ct");
            dataGridView1.Rows.Add("ed");
            dataGridView1.Rows.Add("id");
            dataGridView1.Rows.Add("ba");
            dataGridView1.Rows.Add("a1");
            dataGridView1.Rows.Add("a2");
            dataGridView1.Rows.Add("x");
            dataGridView1.Rows.Add("y");
            dataGridView1.Rows.Add("z");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            com.Open();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            com.Close();
        }

        private void com_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            this.Invoke(new EventHandler(DisplayText));
        }

        private void DisplayText(object sender, EventArgs e)
        {
            string RxString = com.ReadLine();
            textBox1.AppendText(RxString + Environment.NewLine);
            
            if(RxString.StartsWith("::rc")){
                string[] RxData = RxString.Split(':');
                for (int i = 0; i < 11; i++)
                {
                    dataGridView1[1, i].Value = RxData[i+2].Split('=')[1];
                }
            }
            
        }

    }
}

※読みやすくする為に、例外処理等は省略しています。

動作確認

result

1秒毎にデータを受信しているようだ。
::ts=で始まっているデータはToCoStickをPCに挿してからの経過時間を表示しているようで、TWE-Lite-2525Aとは関係なさそう。
5秒毎に受信している::rc=で始まっているデータがTWE-Lite-2525Aから受信しているデータのようだ。見やすいように左側にデータグリッドビューを作成し、’:’で区切られたデータを表にしてみた。

最後のx,y,zが加速度のデータであり、今回は電池を上にして置いているので、xとyはほぼ0でzが-9.8に近い値になっているのだろう。

次回はTWE-Lite-2525Aの設定を変更してほかの機能を試してみよう。
”シングルタップ”、”落下”、”動き始め”などのモーショントラッキング的なことができるようなので楽しみだ。

追記:IoT無線タグアプリVer1.5の記事を追加しました。

IoT無線タグTWE-Lite-2525A 使ってみた C#」への5件のフィードバック

  1. 初めましてコウヘイと申します。
    IoT無線タグTWE-Lite-2525Aを調べていたらこちらのサイトを見つけまして、使用方法に気になることがありましたので、コメントさせていただきました。

    IoT無線タグTWE-Lite-2525Aを使う際には、ToCoStickだけ(もちろんPCも)で、情報を受信できるのでしょうか?

    公式のページに両偏波パッチアンテナTWE-AN-BP01が下のほうに紹介されていたので、これも購入したいといけないかなと思っていたのですが。

    長文失礼しました。

    1. コウヘイさん
      コメントありがとうございます。
      今回の記事に載せている実験では、親機はToCoStickのみで行っています。
      ToCoStickとTWE-Lite-2525Aの距離をが離れると無線が不安定になるのかもしれません。
      そのあたりの実験ができたら記事にアップしたいと思います。

      1. shirotsukuさんへ

        今研究でtwe-lite2525aを使っており、加速度計測した結果をwindows form アプリケーションで表示したいと思い、上記プログラムを打ち込みました。例外処理がわからないので教えていただきたいです。宜しくお願い致します!

oohashi へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です