Android の 8.4 タブレットを入手したのですが、Chromeのuser agentが"Mobile Safari" ではなく "Safari"となっているため、たとえばアマゾンなどにアクセスすると、PCサイトとして表示されてしまい,8.4インチで解像度が1200*1920あるため、文字が小さくなりすぎて読みづらくなってしまいました。いちいち拡大表示させるのも面倒なのは言うまでもありません。もちろんPC版サイトにチェックをいれていなくてもモバイル版サイトとして表示されません。 PC版のChromeなら拡張機能でUser Agentの切り替えができるのですが、Android 版のChromeでは拡張機能は使えません。そこでどうしたものか色々とやってみたのですが、chrome://flagsでコマンドラインをEnableにして、AndroidのChromeに起動時オプションを与えることでモバイル版の表示ができたので、備忘録として挙げてみることにしました。 早速ですが、まずadbを使ってコマンドライン付の起動ファイルを作成します。(adbツールのインストールとUSBデバッグ接続については本稿では触れません) adb shell # 以下 adb shell 内にて echo "chrome --use-mobile-user-agent" > /data/local/tmp/chrome-command-line echo "chrome --use-mobile-user-agent" > /data/local/tmp/android-webview-command-line echo "chrome --use-mobile-user-agent" > /data/local/tmp/webview-command-line echo "chrome --use-mobile-user-agent" > /data/local/tmp/content-shell-command-line chmod 755 /data/local/tmp/chrome-command-line chmod 755 /d
表題の通りなんですが、ジョイスティックはArduinoスターターキットについていた5v対応のものだったので、Wemos R3 D32 ( ESP32 ) ではどのように結線するのかよくわかっていませんでした。そこでネットでしらべたところ、ESP32のADCは3.3vなので、VCCは5vではなく3v3につなげ、X, Y のアナログ接続はESP32のADC2(A0, A1)ではなくADC1(A2=GPIO35, A3=GPIO34)に接続すると良いようでした。 結果、Joystickの中央値(センターポジション)に偏りがあるものの、それらしく動作してくれたので備忘録として挙げてみることにしました。なおSG90はセンサーシールドのD2,D3(GPIO 26、25)に接続しているので5Vで駆動させています。 スケッチは以下の通りです。初めの方にピン番号を defineし差分を吸収したので、ESP32以外でも同じコードで動作できるようにしています。 #ifdef ESP32 #include <ESP32Servo.h> #define D0 3 #define D1 1 #define D2 26 #define D3 25 #define D4 17 #define D5 16 #define D6 27 #define D7 14 #define D8 12 #define D9 13 #define D10 5 #define D11 23 #define D12 19 #define D13 18 #define A0 2 #define A1 4 #define A2 35 #define A3 34 #define A4 36 #define A5 39 #define MY_SERVO_X_PIN D2 #define MY_SERVO_Y_PIN D3 #define JOY_X_PIN A2 #define JOY_Y_PIN A3 #define JOY_SW D13 #define JOY_MAX 4096 #else #include <Servo.h> #define D0 0 #define D1 1 #define D2 2 #define D3 3 #de