【経緯】宿題のうち,
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! を受信できた.
【備考】本来白い背景を見やすくするために,Android 5.0 Lollipopの色反転機能を使用.
【まとめ】あとは Unity での受信.
できれば双方向も.
タグ:
XperiaTouch Arduino Wi-Fi 無線
- 2017/12/07(木) 21:18:25|
- 未分類
-
| トラックバック:0
-
| コメント:0
-
| 編集
【経緯】Xperia Touch - Arduino 間の無線通信を試しているときふと思いたって.
実用上,電源も映像も無線化できる Xperia Touch にわざわざ USB ケーブルを挿すのはナンセンス.
とはいえ,給電に使う USB Type-C x1 ポートしかない Xperia Touch でもしデバイスが必要なときどうするか.
そのためのハードウェア構成を確認しておくことはいずれ役に立ちそう.
実際,サポートは
有線 LAN 接続の手段に
サンワサプライ製 USB Type-C ハブをピンポイントで挙げている.
他製品の動作検証事例の拡充に一役買えれば.
【使用機材】・
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”と返ってくる.
【まとめ】技術的には須らくできる.
ハブの選定は正解だった.
タグ:
XperiaTouch Arduino
- 2017/12/06(水) 00:21:37|
- 未分類
-
| トラックバック:0
-
| コメント:0
-
| 編集
【経緯】宿題のうち,
Bluetooth で
Arduino とシリアル通信ができた.
【Arduino 側】構成は
Arduino Uno R3 +
Arduino ワイヤレスSDシールド +
Bluetooth Bee(
技適未取得の製品に注意).
コードは下記ページから
DemoBlueRobot.ino をダウンロードして改変(
仕様も参照).
Android端末からロボットを操作しよう - VstoneWiki動作は
Android から文字列“a”が送られてきたら文字列“You are connected”を返す.
【Xperia Touch 側】Android の通常操作で Arduino 側とペアリング.
Serial Bluetooth Terminal を起動して Device 一覧から Arduino 側と接続.
ターミナルで“a”と打つと“You are connected”と返ってくる.
【備考】Bluetooth シリアル通信のための Android アプリは Play ストアにてことごとく下記警告が出る.
このアプリはお使いの端末用に最適化されません
とはいえ警告だし,ダメなときは「対応していません」と出るから,気にせずインストール.
接続が不安定なのか,しばしばアプリの Device 一覧が空で Arduino 側と接続できない.
【まとめ】基礎的にはできた.
タグ:
XperiaTouch Arduino Android Bluetooth
- 2017/12/02(土) 00:11:17|
- 未分類
-
| トラックバック:0
-
| コメント:0
-
| 編集
宿題で,足でもまあまあタッチできた.
コンテンツは
Water Drops Live Wallpaper.
水たまりで足をパチャパチャ.
床投影サイズを大きくするため,本体底面の
レーザー AF センサを通せる雲台マウンタを作ってみた.
結果,本体を床から離すと床でタッチができない.
取扱説明書のタッチスクリーン利用上のご注意に下記記述(抜粋).
次の場合はタッチスクリーンに触れても動作しないことがあります.
- 投写画面サイズを約 23 インチより多きくしている
23 インチは距離 0 cm のとき.
つまり仕様上近接投影時しかタッチできない(壁投影でも).
下記類似 Live wallpaper のなかでは
Water Drops Live Wallpaper がハイクオリティ.
・
水の波紋ライブ壁紙・
水液ライブ壁紙 Water・
水滴ライブ壁紙タグ:
XperiaTouch
- 2017/11/25(土) 23:33:19|
- 未分類
-
| トラックバック:0
-
| コメント:0
-
| 編集