fc2ブログ

DIYer

Xperia Touch と Arduino の Wi-Fi 経由 UDP 通信(一方向)

【経緯】
宿題のうち,Wi-Fi 経由で Arduino と通信ができた.
シリアルではなく UDP で通信.
送信:Arduino → 受信:Xperia Touch の一方向のみ.



【使用機材】
Xperia Touch G1109
Arduino Uno R3(USB ケーブル)
ESP-WROOM-02 Wi-Fi シールド
Wi-Fi 環境


Arduino 側】
1. ESP-WROOM-02 の通信速度を 9600 bps に下げる
Arduino は,デバッグ用コンソール出力のため PC と USB シリアルで通信しながら,ESP-WROOM-02 とはソフトウェアシリアルで通信する.
Arduino のソフトウエアシリアルの最高速度は 9600 bps らしい.
Arduino に AT コマンドを ESP-WROOM-02 へリダイレクトするスケッチを書き込んで設定.

2. MAC アドレスの確認
MAC アドレスフィルタリングに備えて ESP-WROOM-02 の MAC アドレスを確認しておく.
同様に AT コマンドで確認.

3.ESP8266 ライブラリの導入
ソフトウエアシリアルが使えるように改変されたものを利用.
本家のリファレンスも参照.

4. 文字列の送信
ESP-WROOM-02 Wi-Fi シールドの場合ピンアサインはこう.
SoftwareSerial mySerial(2, 4);

setup 関数でお決まりのおまじないをするとして,主要部分はこれだけ.

void loop(void)
{
 String sendStr = "Hellow!";
 wifi.send((const uint8_t*)(sendStr.c_str()), strlen(sendStr.c_str()));
 delay(1000);
}




【Xperia Touch 側】
TCP/UDP テストツールを起動して ESP-WROOM-02 の IP アドレスと自他ポートを入力して Connect.
Hellow! を受信できた.
20171207-01.jpg



【備考】
本来白い背景を見やすくするために,Android 5.0 Lollipopの色反転機能を使用.
20171207-02.jpg



【まとめ】
あとは Unity での受信.
できれば双方向も.


タグ:XperiaTouch Arduino Wi-Fi 無線
  1. 2017/12/07(木) 21:18:25|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

Xperia Touch と Arduino の USB シリアル通信

【経緯】
Xperia Touch - Arduino 間の無線通信を試しているときふと思いたって.
実用上,電源も映像も無線化できる Xperia Touch にわざわざ USB ケーブルを挿すのはナンセンス.
とはいえ,給電に使う USB Type-C x1 ポートしかない Xperia Touch でもしデバイスが必要なときどうするか.
そのためのハードウェア構成を確認しておくことはいずれ役に立ちそう.
実際,サポートは有線 LAN 接続の手段にサンワサプライ製 USB Type-C ハブをピンポイントで挙げている.
他製品の動作検証事例の拡充に一役買えれば.
20171206-01.jpg




【使用機材】
Xperia Touch G1109
自作雲台マウンタ(+三脚,壁投影のため)
Poweradd Type-C ハブ(通電中は微かに鳴いてる品質)
Arduino Uno R3(USB ケーブル)

ハブの選定ポイント
・コネクタは Type-C
・OTG 対応
・PD(Power Delivery)の給電用ポート付



Arduino 側】
文字列“a”を受け取ったら文字列“You are connected”を返すだけのスケッチ.
void setup()
{
 Serial.begin(9600);
}

void loop()
{
 if(Serial.read() == 'a') Serial.println("You are connected");
}




【Xperia Touch 側】
Arduino 接続時の Android のポップアップで USB 接続を許可.
Serial USB Terminal を起動して下記のように設定.
・USB Devices > (Unknown device 二つのうち)Arduino っぽいデバイス > driver > CDC
・Settings > Baud rate > 9600

ターミナルで“a”と打つと“You are connected”と返ってくる.
20171206-02.jpg



【まとめ】
技術的には須らくできる.
ハブの選定は正解だった.


タグ:XperiaTouch Arduino
  1. 2017/12/06(水) 00:21:37|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

Xperia Touch と Arduino の Bluetooth シリアル通信

【経緯】
宿題のうち,BluetoothArduino とシリアル通信ができた.



Arduino 側】
構成は Arduino Uno R3 + Arduino ワイヤレスSDシールド + Bluetooth Bee技適未取得の製品に注意).
コードは下記ページから DemoBlueRobot.ino をダウンロードして改変(仕様も参照).
 Android端末からロボットを操作しよう - VstoneWiki
動作は Android から文字列“a”が送られてきたら文字列“You are connected”を返す.
20171201-02.jpg



【Xperia Touch 側】
Android の通常操作で Arduino 側とペアリング.
Serial Bluetooth Terminal を起動して Device 一覧から Arduino 側と接続.
ターミナルで“a”と打つと“You are connected”と返ってくる.
20171201-01.jpg



【備考】
Bluetooth シリアル通信のための Android アプリは Play ストアにてことごとく下記警告が出る.
このアプリはお使いの端末用に最適化されません
とはいえ警告だし,ダメなときは「対応していません」と出るから,気にせずインストール.

接続が不安定なのか,しばしばアプリの Device 一覧が空で Arduino 側と接続できない.



【まとめ】
基礎的にはできた.


タグ:XperiaTouch Arduino Android Bluetooth
  1. 2017/12/02(土) 00:11:17|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

Unity 製アプリで Xperia Touch のセンサ情報を利用

宿題のうち,センサ情報の利用ができた.
タップで波紋エフェクトを出す Unity プロジェクト」を「Androidアプリとしてビルド」して,Xperia Touch にインストール.
見込みどおり動作.



Android アプリの開発環境構築が手間.


タグ:XperiaTouch Android
  1. 2017/11/29(水) 15:45:24|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

Xperia Touch を足で操作してみた

宿題で,足でもまあまあタッチできた.
コンテンツは Water Drops Live Wallpaper
水たまりで足をパチャパチャ.





床投影サイズを大きくするため,本体底面のレーザー AF センサを通せる雲台マウンタを作ってみた.
結果,本体を床から離すと床でタッチができない.

取扱説明書のタッチスクリーン利用上のご注意に下記記述(抜粋).
次の場合はタッチスクリーンに触れても動作しないことがあります.
- 投写画面サイズを約 23 インチより多きくしている

23 インチは距離 0 cm のとき.
つまり仕様上近接投影時しかタッチできない(壁投影でも).


下記類似 Live wallpaper のなかでは Water Drops Live Wallpaper がハイクオリティ.
水の波紋ライブ壁紙
水液ライブ壁紙 Water
水滴ライブ壁紙


タグ:XperiaTouch
  1. 2017/11/25(土) 23:33:19|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
次のページ