2019年12月9日月曜日

Essential Phone(PH-1)の近接センサ―が故障した話

以前Essential Phone(以下PH-1)画面交換を行ったがそれに伴う不具合が発生
以下はそのメモ
俺のPH-1は満身創痍

不具合の内容

近接センサ―が常にON状態になってしまった
交換部品が悪かったか自分がしくじったのかは不明

通常使用では全く問題ないのだが、通話すると画面が真っ暗になってしまう
(スマホを耳に当てた状態と誤認するため)
画面操作が一切できないため、こちらから通話を切ることもできない
また、メーカーサポートのサービスダイヤルなどでの対話型ダイヤル操作もできない

対策1:設定変更/電源ボタンで通話を切断する

『設定→ユーザー補助→電源ボタンで通話を終了』をオンにする
これで通話の終了は解決

対策2:全センサを一時的にオフにする

設定で『近接センサ―をオフ』ができる機種もあるようだがPH-1ではムリ
そこで開発者向け設定で全センサ―を一時的にオフにすることで代替する

『設定→デバイス情報→ビルド暗号』を連打して開発者向けオプションをONに
『設定→システム→開発者向けオプション→クイック設定開発者用タイル』を選択
『センサーOFF』をONにする
画面上部の通知バーを下にスワイプしてクイック設定を開く
新しく『センサーOFF』アイコンができているのでこれをONにする

開発者向けオプション
クイック設定開発者用タイル
クイック設定
スマホ上のセンサーをまるごとOFFにしてしまうため、必要な時のみONにすること
これらの対策は他のAndroidスマホでも使えるハズ

2019年9月23日月曜日

ポケモンGoBOT(位置偽装装置)稼働3年目

以前に作成したポケモンGoBOTは現在も稼働中(3年目)である
以下は現時点の構成、稼働状況についてのメモ
 20ヵ月目の過去メモ

システムを構成する3点セット

位置偽装ユニット

6基のESP-WROOM-02と1基のRN-41-SMからなる位置偽装ユニット
前回から構成の変更なし
かなりの稼働時間にもかかわらず未だに一基の故障もない

画像は以前のもの

GoPlus+サーボモータ制御ユニット

自動化したGoPlusとサーボモータ制御用マイコンをUSB電源に繋いだユニット
前回とほぼ同じ
以前にGoPlus自動再接続機能を追加したが、動作が不安定であるためオミットした

左が制御ユニット/別件で使用したためGoPlusは基盤むき出しで使用

スマホ揺らしユニット

スマホ(ここではiPodtouch)を揺らすユニット
サーボの損耗が激しいため置台を軽量化した
(保護ケースの背面中央にサーボホーンを接着しただけ)
また、モータ固定用のゴム台が破損したためユニバーサルプレートで新造した

保護ケースにサーボホーンが接着されているのがわかる
ある程度の接地面が無いと揺らしたときに倒れる

クライアント

wifiアンテナを除去したiPodtouch(第7世代)に有線LANアダプタを付けたもの
ライトニング端子に直接接続できるアダプタ(ノーブランド)に変更
性能は懐疑的であったが問題なく動いている

アダプタ自体の作りは非常にラフ/LANケーブル挿抜だけで外装が外れそうになる

位置偽装の知見

・同一端末複数アカウントのチェックが緩い(もしくは無い)
 キラポケモン等の要素追加に伴い、同じ環境で別垢キャラを育てている
 (TL39程度)
 現時点で警告やbanは無い

・wifiアンテナ除去+有線LANの効果が非常に高い
 現在の環境ではiPodtouchから見えるAPは位置偽装ユニットの6基のみ
 位置偽装に理想的な状態を作ることができている
 
 ※ただしここまでアンテナ依存なのは珍しい設計
 アンテナが無い基部のみでもある程度の受信能力を持つ
 他のスマホでアンテナ除去しても受信能力がここまで下がることはない

・APの情報が経時で使えなくなる問題
 一度構築した位置偽装用AP群のデータが経時で使えなくなる問題は健在
 以前はこの問題に対して
 『位置偽装によって位置情報データベースを汚染しているのでは?』
  (→周囲にあるAPを偽装先の位置情報と結びつけてしまう)
 という予想をしていた
 現在の環境では位置偽装ユニット以外のAPは検知できないので想定は成立しない
 位置情報データベース自体が逐次更新されているものと思われる

3年2か月分のスコア




2019年9月22日日曜日

ドラゴンクエストウォークで位置偽装(android版考察)

iPodTouchにインストールできませんでした(終わり)
…では芸が無いのでAndroid端末を使ったwifiを使った位置偽装の実現性を確認した

結論から言えば可能
ドラゴンクエストウォークではwifiのみ測位によるプレイがOKの仕様であった
『位置情報』のモードを『バッテリー節約』にするとGPSへのアクセスを抑制できる
あとはwifiによる位置偽装を行えばアプリを騙すことができる

なぜwifiのみ測位を許すのかが謎だったが、調べてみると現行Androidではこの機能自体が無いらしい
(Android9.0以降では位置情報サービス使用時にGPSをオフできない)
仕様上のチェック漏れ、ないし旧バージョンの穴は無視する割り切った設計と思われる

検証環境では近距離の位置偽装には成功した
手元にiPodtouchのようにwifi感度を極端に落とすことができる端末が無いので検証以上は無理
現在は都合のいい端末を物色しているところ

そもそもガチャ課金のウェイトが大きいので、位置偽装されても痛くないのかもしれない

2019年9月17日火曜日

ドラゴンクエストウォークで位置偽装(セットアップ時点で失敗)

位置ゲーの大型タイトルとしてドラゴンクエストウォークが配信開始
wifiを使った位置偽装を試そう…としたもののiPodTouchではそもそもインストールできなかった
(GPS未搭載機種のため、AppStoreの時点で蹴られる)

順当なガードで順当に失敗

2019年8月27日火曜日

Pokemon Go Plus海賊版の現状(2019/8)

以下は定期的にウォッチしているポケモンGoプラス海賊版市場の現状について
前回から傾向に変化あり

現在入手可能な唯一の正規品

全体の傾向

・完コピ品はやや下火に
 以前は主流であった完コピ品の出品数が目に見えて減少
 『正規品は既に入手不可』という情報が周知された結果か

・モンスターボールPlusの互換機は未だ現れず
 発売からかなりの時間が経ったが1例も無し

・互換機の値上がり傾向
 互換機(オートキャッチなど)の値上がりが顕著
  参考価格(ヨドバシ.com 2019/8/27調べ):
   オートキャッチ     7600円(ポイント10%還元)
   モンスターボールPlus 5360円(ポイント1%還元)
 入手可能な正規品よりも高い
 モンボPlusの登場により互換機が食われるか?と思われたがそうでもない様子

互換機と海賊版のボーダーライン

正規品の模倣部分(デザイン・商品名・内部構造など)があれば海賊版
機能の再現(互換動作)は合法

互換機はヨドバシなどの量販店で売られているのでそこで判別できる

※ただし、サービス側が互換機の接続を拒否するのも合法
 →現状は排除されていない(互換機と正規品を判別できない?)

現行互換機・海賊版リスト

・完コピ品
 形状も含めて正規品を模倣したもの
 言い訳の効かない海賊版

 主流ではなくなったものの未だに売られている

・オリジナルカラー・ワンポイントマーク
 完コピ品の塗装だけ異なるもの
 チームマークを入れているタイプが多い

 デザインを変えることで商品性が上がる?
 正規品と僅かに変えることでなんらかのリスクが減る?
 理由は謎
ワンポイントと完コピ品

・バッテリー+自動捕獲
 充電池を内蔵してオートキャッチ機能を付けたもの
 正規品から厚みが増しており、USB端子と切り替えスイッチがあるのが特徴

サイドにUSBポートと切り替えスイッチが見える

・バッテリー+自動捕獲+四角
 GoPlusの涙型形状を完全にスポイルして角型にしたもの
 コピー品として排除されない工夫?


・オートキャッチ
 定番化した感がある
 量販店など正規販路でも扱われるのがポイント

普通に買えるのがミソ

・デュアルオートキャッチ
 互換機の大きなトレンド
 GoPlus2台分の機能が1つの筐体に収められているもの
 それぞれ別のスマホに接続してオートキャッチが可能
 複数台持ち需要か
そのうち3台分4台分もありそう

2019年8月26日月曜日

Essential Phone (PH-1)画面割れを自力で修理した話

生まれて初めてスマホの画面を割った
以下はそれを自力修理したメモ

ダメージレベル

胸ポケットから落下
画面右下から左上方向に大きな亀裂が発生

ひびの入った画面
ひびを赤線で強調

修理に必要なもの


・交換用画面
 →Amazonで買えた
  出自は不明
・ドライヤー
・吸盤
・スクレイパー、へら
 →スマホの画面を外すためのお約束工具一式
・精密ドライバー(+:番手不明)
 →特殊ドライバー不要
・接着剤
 →ここが重要
  PH-1では本体ベゼルと画面が接着されている
  画面交換時に接着剤を再塗布する必要がある
  (交換用画面には細い両面テープが付属していたが塗布に比べて難易度が高く断念)
  
いつものお約束/接着面を温めてから吸盤で剥がす→隙間にへらをねじ込む
破損純正スクリーン(左)と交換用出自不明スクリーン(右)/画面の裏に黒い皮膜が無い

修理方法

『PH-1 screen repair』あたりで検索のこと
以下は注意点のみ

・スピーカーのメッシュフィルムの扱いが不明
 (もともと手元PH-1では剥がれていたため)
 交換時に剥がれて戻せない気がするが…?交換用画面にはフィルム付属せず
・接着剤が必須
 のりしろに当たる部分が非常に狭いため、細かいノズルが付いていないと塗布できない
 今回はB-7000を使用
・再接着前にベゼルを掃除すること
 画面を外してもベゼルに接着剤の樹脂カスが付着したまま
 割れた画面の破片なども残る
 これらを除去しておかないと再接着時に画面が浮く


2019年8月6日火曜日

気になる電子パーツのメモ(2019/08)

以下は最近気になった電子パーツのメモ

・REVIVE USB MICRO
 ビットトレードワン
REVIVE USBの新型
大幅に小型化&USBmicro端子に変更&安価に
コントローラー筐体により組み込みやすくなった
マイコン要らずでコントローラが作成可能(USBキーボード/マウス操作と等価)

・ESP-8285
 Espressif Systems
ESP8266の廉価小型化モデル
電源面でも優位でESP8266より電圧降下に強いとのこと
AliExpressあたりではアンテナ基板付きが2.0~1.5ドル程度
安い
画像は基板マウント版/コアは1円玉くらい

・M5StickC
  M5STACK
ここではVではなくCの方
ニューラルカメラ、音声認識がこのサイズこの価格で!とVは人気爆発中
入手が難しい状況に
なぜここでCか?というと値崩れの兆候があるため
AliExpressあたりでは付属品無し版が10ドル程度
Cは小型版M5Stackでありディスプレイサイズや拡張を求めなければ十分

処理性能は十分

 

ブレッドボード基板にピン立てする場合のメモ

ブレッドボード基板
ブレッドボード上のプロトタイプをそのまま基板に起こす際に重宝している
コネクタやチェック端子としてピンを立てることが多いのだがこの破損が多発する
以下はそれについてのメモ

便利なのだが耐久性に難あり

片面スルーホールに挿抜用ピン(オス)はNG

ブレッドボード基板は片面スルーホールである
ここにオスピンを立てた後に挿抜を繰り返すとホールごと抜けてしまう

これは以下の理由による
・ピンと樹脂基材は強力に接着されているわけではない
・片面スルーホールは逆側からの外力を想定されていない

ピン接合部の模式図
外力がかかった場合/スルーホールごとすっぽ抜ける

対策

メスピンにすること
オスピン同様、ケースからコンタクトが抜けてしまう場合があるが
コンタクトはスルーホールより大きいため接合部を破損しない

メスピンの場合の模式図
コンタクトがホールよりも大きいので抜けはしない

2019年8月5日月曜日

秋月のパトライトで遊んだメモ:卓上ジャグラー

秋月が手ごろな価格のパトランプの取り扱いを開始
この価格帯でパトランプが売られるのは珍しい
形状とサイズがいい塩梅なのでこれを使って遊んでみた

本来は警告灯に用いる

パトランプとは

パトカーや工場などに用いられる回点灯のこと
パトライトとも呼ばれる
ランプを中心として反射板が回転する構造になっている
非常に目立つ

秋月のパトランプ(ASS-12)の使い方

定格電圧(12V)を2端子間に印加するだけ
中央のハロゲンランプが点灯して反射板が回転する
これ以外の制御はナシ

TIPS

・逆方向の電圧印加を許す
 (印加方向に関わらず回転方向は一意)
・端子は筒型圧着端子(オスメス)

注意点

赤色パトライトは警告目的で使われることが多い
周囲を驚かせることになるため、公共の場所で用いるのはおススメできない
また、一般車両に赤色警告灯を付けて走ると道交法で罰せられる可能性がある

作例:卓上ジャグラー

赤色パトライトといえばパチスロである
『レバーを叩くと効果音と共にパトライトが発光回転する』だけの玩具を作った

必要なもの

今回のパーツはほとんど秋月で購入
スピーカーは100均

・スロットレバー
 フォトインタラプタ内蔵のレバースイッチ
 デフォルトHでバネが効いたレバーを上下に倒すとLになる
 配線ミスすると内部のLEDが即死するので注意
 接続はJST ZHコネクタ3p
 (直配線し辛く、壊れやすいので素直にコネクタをかしめた方が良い)
パチスロに付いてるレバーそのもの

・赤色回転灯 ASS-12
 パトランプ本体

・プラスチックケース SY-110G
 タカチのプラスチックケース
 筐体として用いた
 もう一回り大きければよかった(後述)

・DFPlayer mini
 アンプ付きmp3モジュール
 シリアルコマンド制御可能
予めピンがはんだ付けされていて用途によっては邪魔かも

・micro SDカード
 DFPlayer用
 必要なmp3ファイルが入ればよいので極小容量でよい

・効果音mp3ファイル

・Arduino nano
 unoでは無いのはケース容量が小さすぎたため

※音楽再生ができ、入出力ポートがあれば何でもよい
 DFPlayer+Arduinoの代わりにraspberry piでもよい
互換品でもOK

・9V角電池x2、角電池ホルダx2
 電源
 2個な理由は後述

・5Vリレー
 パトランプのON/OFF制御用
 接点容量が12Vを許容すること

・昇圧回路(9V→12V)
 パトランプ用
 9Vでもパトランプは回るため省略可能
 ただし低速でイキが悪い回転となる

・電源スイッチ
 電池を用いるためスイッチが無いと不便

・抵抗
 1k x 2
 10k x 1

 DF Playerのシリアル信号が3.3Vのため、Arduinoと直結すると音楽再生時にノイズが入る
 信号間に1k抵抗を挟むのがセオリーらしいので真似る
 10kはレバー用

・スピーカー
 適当なもの
 DFPlayer単体で十分な音量があるので追加のアンプは不要

作成方法

・レバーを抵抗経由でArduinoの任意ポートに引き込みON/OFF検知可能にする
・リレーの両端に角電池(1)と昇圧回路、パトランプを環状に接続
  リレーの制御ポートをArduinoの任意ポートに接続
・角電池(2)の+を電源スイッチ経由でArduinoのVinピンに接続
  -をArduinoのGNDピンに接続
・Arduinoの5VピンをDF PlayerのVCCに接続
  ArduinoのGNDピンをDF PlayerのGNDに接続
・ArduinoのRXTXを抵抗経由でDF PlayerのTXRXに接続
・DF Player用にリネームした効果音mp3ファイルをmicroSDカードに入れ、DF Playerのスロットに挿す
・DF Playerにスピーカーを接続
・Arduinoをプログラミング
  DF Player用ライブラリを使用
  レバーが倒されたら効果音を鳴らしてパトライトを回す(リレーへ入力する)だけ
・これらを筐体に収める
  必要に応じて穿孔が必要

プロトタイプの様子(Uno使用)
筐体を開けたところ/無計画に作ったしわ寄せが凄い

作成結果

・考えなしに買った筐体のパネルがアルミだったため、加工に非常に苦労した
  (特にレバー用の大穴を空けるのに作業時間の大半を費やした)
  電動ドライバーが死亡

・乱数を使った簡単な抽選と状態遷移をしている
  通常状態:
   1/8:ボーナス成立(キュイン音+パトランプ回転)→絵柄揃い状態へ
   1/8:小役揃い(払い出し音)
   6/8:リプレイ(リプレイ音)
  絵柄揃い状態:
   1/2:BIGボーナス(ファンファーレ)→通常状態へ(パトランプ停止)
   1/2:REGボーナス(ファンファーレ)→通常状態へ(パトランプ停止)

・レバーのケース内占有面積(体積)が思いのほか大きい
  このため、Unoで作っていたものをNanoに変更した

・本来は電池一個で動作していたがNanoに変更した時点で問題発生
  →パトランプ回転時の電圧降下でNanoにリセットがかかるようになった
  (Unoでは許容)
  →電源分離回路を作る気力が無かったので電源2系統に変更
  (パトランプ側(9V→12V)とAdruino側(9V→5V))

・以下は実際に動作する様子を動画で撮影したもの


2019年6月1日土曜日

新iPod Touch(第7世代)購入後に即分解してアンテナを外した話

ポケモンGoBOTは未だに稼働中(33ヵ月目)である
第6世代iPod Touchは限界に近く、どうしようか悩んでいたところに新型が発売
以下はこれ幸いと飛びついてリプレースした際のメモ

第7世代(左)と第6世代(右)外観は全く同じ

iPod Touch(第6世代)でのポケモンGOプレイの現状


2019/06現在のiOSはVer12.2、クライアントはVer1.111.2
アプデのたびに重くなるクライアントに対して完全にスペック不足
博士にポケモンを送る、フレンドにギフトを送るなど通信が絡むと頻繁に落ちる
(クライアントが強制終了する)
イベント時などフィールドにシンボルが増えるとこれまた落ちる

iPod Touch(第7世代)の分解とアンテナ外し


前回同様、iPod Touch(第7世代)を分解してアンテナ外しを試みた
(BOTに使うにはwifi感度が悪いほど良いため)

第7世代の構造は第6世代と酷似している
第6世代と全く同じ方法で分解できた

右はアンテナを外した第6世代/wifi感度が極端に悪い

分解に必要なもの


 精密ドライバー(プラスのNo.00)
 取っ手つき吸盤
 樹脂のヘラやピック
 ドライヤー

STEP1 画面を外す(開く)


 本体のメイン電源を切る
 表面ボタンの両側をドライヤーであぶり、内部の接着剤を剥がす
 ボタン付近の画面に吸盤を張り付け引っ張る
 側面にできた隙間にヘラを差し込む
 ヘラを一周スライドさせて画面を剥がす
 画面の下のフレームもヘラで外す
 フレームが外れたら画面を開く
 (インカメラ側には画面と本体をつなぐ平型ケーブルがあるため注意)

吸盤で浮かしてこじ入れたヘラをぐるり一周
画面下のフレームも外す(こちらは複数のツメで固定されている)
画面を持ち上げる(カメラ側のフレキは外せない)

STEP2 銀色の内部プレートを外す


 アンテナ基板を固定する3本のビスを外し、基板の接着面を剥がす
 簡単に終わらせるならばここでアンテナ基板のケーブルを切断すればよい
 (その後画面とフレームを戻して終了)
 (丁寧にやるならば)銀色のプレートのビスをすべて外す
 プレートを取り外す

銀色のプレートを外した後/第6世代と全く同じに見える

STEP3 ロジックボードをずらしてアンテナを外す


 ロジックボードを固定する3本のビスを外す
 ロジックボードを少し持ち上げてアンテナ基板のケーブルを外す
 (スナップタイプの端子で接続されている)
 組み立て直して終了 

左上にあるオレンジ色の基板がアンテナ基板

アンテナ基板の接続端子はロジックボードの裏側

患部摘出

閉じたら終了/余ったネジはご愛敬

iPod Touch(第7世代)をBOTに使った結果

全く問題なく稼働している
 ポケモンGOクライアント→正常動作
 有線LANアダプタ→第6世代で使用したものがそのまま使える
 Goプラス→正常動作
数時間放置してぐるぐる歩き回らせてもクライアントは落ちない