ポケモンgo その6

goプラスの自動化基板と銘打ったら、4,5名の方からコメントをいただき、ありがとうございました。iOS10の時の直結方式に比較し、iOS11のこの方式ではどうしてもエラーが発生し、そのエラーを逃げるためdelayを多くするという方法になってしまった。必然的にポケモンの取得後の時間がかかり、二の次のポケストップを逃してしまったりする。特にジムのポケストップは反応が遅い。iOS11の8PINマイコン自動化の限界かもしれません。

iOS11でのポケモン獲得の成果は

画面でスロー>goプラ手動ポチポチ>iOS10の時の直結>iOS11のgoプラ自動化

になってしまう。何とかiOS10の時の直結に近づけたいが、無理かな?今はモータONで割り込みをかけているが、ネットで高価格を付けてるマイコン自動化のものもほとんど同じ方法か、もっと単純な等間隔パルスではないだろうか?

ON時間、OFF時間で判別し対処するか、難易度は高いがRGBのLED信号を拾いロジックで判別するような方法が考えられるが、LED信号との配線は3本もあり非常に難しい。

Androidでは相変わらずiOS10の時代と同じで直結でちゃんと取れてるので、iPHONE今の状況が続くとも思えないが、どうかな?

それにしても、カイオーガはゲットが非常に難しく、画面の大きなiPHONEやiPADは全くボールが届かないらしい。AR+にするといいという噂もあるが、まずは野良のポケモンで練習をしないとできない。

やってみたが、なかなか難しい。普通なら1,2発で取れるピジョンも何発も使ってしまった。

 

野良のポケモンはAR+の時近寄ると逃げるので、捕まえるのが大変。AR+の意味は無いな。レイドのポケモンは逃げないので、最大に近寄ってポンらしい。AndroidはAR+がまだないので使えない。

ポケモンgo その5

ネット上では最近iPHONE(iOS11.2.1)のポケモンgoのアプリのVersionUp(0.87.5)によって、直結配線したgo_PLUSが使えなくなったと騒がしい。確かに自分の直結+SWのGo_PLUSも自動にすると使えない。が、手動側にすると普通に使える。ただ、iOS10やAndroidの場合には直結go_PLUSでも普通に使えるのだが・・・。iOS10の時はgo_PLUSタスクがMulti-Taskであるような動きをしていたが、iOS11はSingleTaskのようになったように思う。これはAndroidと同等になったようだ。おそらくNianticの開発者がiOS優位になっているのを、Androidと同等にした結果だと思われる。あるいは単純なバグかもしれないが・・。

バグだった場合は待ってれば治るかもしれないが、今までのNianticの対処の仕方から推測すると、半年は治らない。

そこで前回は数秒間隔のパルスで解決したが、より捕獲率を上げるため、PIC12F1822で真面目に作ってみた。

プログラムの概要は

省電力を目指してクロック31KHz、外部割込み&SLEEPで作ってみた。

  1. 振動モーターONでRA0 (信号はモーター端子の―側がLOW)でその信号を割り込み信号とする。
  2. 直後割り込みをクリア
  3. RA1端子をHigh→DelayX秒→RA1端子をLow→DelayY秒→RA1端子をHigh→  DelayZ秒
  4. mainループで割り込み許可
  5. SLEEP、NOP でループ

問題は上記Delay_ms()のX,Y,Zだが、これはかなりCUT&TRYが必要だった。実際にフィールドに出ないとテストできないので、非常に大変だった。フィールドでDebugできる環境があればいいなあ!小型ノートPCとロジアナを持ち出せば可能か?

割り込みではなくSwitch、LEDのプログラムでも可能だが、通常でも200μAくらいで、割り込みSLEEPだとSLEEP時は40μA~50μA。もっと小さくなると思ったが、テスターの測定限界なので、本当はもっと少ないかもしれない。ポケモンgo_PLUSとこのPICの回路を単4の電池2本で使い、おそらく、2,3か月は電池交換無しに使えるのではと推測する。計算では2か月で一日最大8時間×60=480時間 単4アルカリ電池は20mAでおおよそ58時間なの、50μAでは計算上は持つと思える。

やっと完成しました。ポケモンgoのアプリやiOSのVersionUpでまた、使えなくなる危険性はあるが、今のところは非常に快適。

実際に2週間以上フィールドでテストした結果、非常に効率よくポケモンやアイテムの収集ができた。ポケストップが林立したりポケモンが多く集まっている場所でも、ほとんど問題なく収集できた。一応基板を起こしなおした。

ダイソーの5個100円のケースに組み込み
内部1

 

結線

 

 

自動化基板up

goプラのスイッチ側配線

スイッチとはポリウレタン線でつないで、念のためショート防止のテープを基板側に貼っています。モーターは取り外しています。モータの―側とジュンフロン線でつないでいます。

goプラの表面パネルを使い、もとのYねじを使う場合は、0.6㎜厚のスペーサを入れると、ねじで基板がしっかり固定されます。スペーサを入れないと基板が浮いてしまいます。

 

P_GO+信号 半田端子

 

 

iOS11からOS内で可能になった画面キャプチャ―Videoです。これ中々良いです。Androidだとmobizenがデフォですが・・。

途中ポケモンが一杯になったりアイテムが一杯になったりしていますが、ちゃんとエラーなく取れています。

ポケモンGo その4

GOプラスが全く反応しなくなってしまった。やっぱり定格3vのところにリチュウム電池の充電完了電圧4.2Vをかけていたのが間違いか。あるいはダイソーの電池の充電回路が5vをかけてしまったのか?
電源を入れても、うんともすんともで、CPU端子を当たっても、信号らしきものはいっさいでていない。やってしまった。3500円がゴミになった。電子工作が趣味の自分に取ってはお金よりも、壊してしまった事がかなりショック。まあ、お勉強代としては安いか?今、予備のGOプラスを香港からかなり安価に仕入れてる最中なので、それの到着を待つしかない。国内のももと同じかどうかが心配だが。それと3.0V電源を追加しなければ。

*注文の約2週間後、小さな小包が香港から届き、さっそく開けてみたが、箱も現物もほぼ日本製のものと見かけは変わらない。ただ、Aliexpressのページでもちゃんと謳っているが、本物ではなく互換品なのだ。外箱は本物からコピーしていると思える精度で印刷の発色がよくよく見ると本物とは違う。比較すれば違いが判る程度。したがって写真に写しても区別はつかない。Y字という特殊なドライバーを使って本体を開けてみた。
明らかな違い。
1.本物にはあるCPU周りの黒い物質(これがなんの役目なのかよくわからない、おそらく放熱ではないかと思われる)がない。
2.CPUの16MHzのXtalのパッケージが違う。
3.振動モーターDriverのICが違う。
4.振動モータが違う。
5.スイッチ違う。(本物は少し大きく、クリックに力が要らないが、互換機はクリックがかなり固く力がいる)
6.互換機はLEDが少し大きい。
7.はんだ付けが違う(本物は完全、互換はランドにチョン付け)
8.外側のケースやネジ、BTLのcpu(Dialog)は同じようだ。

見かけは以上のような違いがあった。実際の動作上では、
1.LEDが少し明るい
2.モーターの振動が大きすぎ。そばにいると振動音が聞こえるほど。
3.本物は3Vで駆動すると12mA程度だが、互換機は55mAと約5倍。これでは電池が減るのも当たり前。新しい電池を入れても1日で電池マークが出るほど。

以上のように互換機にはあまりいいところがないが、本物が消費込みで3,780円だが、互換機は送料込みで2,700円程度なので1000円ほど安い。自分はポケモンやストップを見つけた時の振動がうるさいので、自動化してモータを取り外しているので、消費電力は気にならない。3週間くらいは持つようだ。

ポケモンGO その3

改造GOプラスを他のケースに組み込む際困るのがねじドメ。そこで久々に3dプリンタを引っ張り出し、パーツを作った。忘れかけている3dcadアプリ使い、stlを作り、Repetier Hostでプリントアウト。

3dprintするとやはり少し大きくなるので、全て小さめに設定。
ケースに付けてみたら、うまく行った

それにしても、この自作3dプリンタは3年ほど前には毎日のように様々な物をプリントしていたが、最近は全くご無沙汰。可愛そうだから、ちょくちょく使ってやろう。

ポケモンGoその2 

ポケモンgoプラスの自動化を検討してみた。ポケモンを見つけたときLEDが光ったり振動モータが回ったりするので、その信号をPICで拾って、スイッチのPush信号をだせばいいことは、少し考えればすぐわかる。ただ、中を開けて改造をする必要があるので、ゲームのチート行為になるのではと少し躊躇。多分公開すると任天堂からクレームが入るのではと思う。誰もが考えるが実行した情報がネットにないのはそのせいかな?
全く本体はいじらず、Arduinoで本体の振動をピエゾで電気信号に変え、スイッチをサーボで押すという何ともユーモラスなものがあった。こんな大きなものを持って実際に外でできるのか?ちょと疑問。ここ。たしかに面白いが・・・。これくらいだったら、Arduinoはちょっと大きいので、8PINのPICかAVRのマイコンでできるかも。ただ、ピエゾはともかく、サーボモータは大きすぎるし消費電力も多い。超小型のサーボがあるのか?10円玉くらいの大きさのはあるが、縦横奥行きが大きすぎ。やっぱり本体改造しか小型化は無理かも。

ポケモンが現れたときの検出をせず、ボタンを押しっぱなしにする方法がネットによく出ている。ボタンに5円玉をゴムで押し付けたり、タイラップできつめに縛ったりいろんな方法がある。ただしこの方法はいiPHONEのみ有効で、どういうわけかandroidではBluetoothがリセットされてしまうので不可能なのだ。どうもAndroidのBlutoothのDriverの出来がいまいちのような気がする。iPHONEに比べ反応が遅すぎる。

そこで、Androidでもなんとか自動化できないものか実験してみた。ボタンを押しっぱなしではなく数秒間隔で押す方法を試したら、なんとうまくいった。これだ! これならPICのLチカでスイッチを押してやれば自動化できそう。

goプラのボタン押しっぱなしを5円玉ではなく、中身の回路を直接結線してしまう方法がネットに出てるので、そこにPICをかますだけだから、まあいいかとやってみた。

LチカPICでFETスイッチをドライブしスイッチに結線しただけの簡単なもの。このままスマホと一緒に外に持っていき実験したら、androidでもうまくいった。ブレッドボードのままだとあれなので、小型化しダイソーの5個100円のケースに入れてみた。なぜかモータが回らない。

電池もなんかの装置に入っていて、使い道のなかったLiポリマー電池に同じくダイソーのモバイルバッテリーから外した充電回路を組み込んだ。このダイソーの充電回路は充電完了すると5VがMicroUSBの入力側にも出てくるので、危ないと指摘しているWebがあったが、これはまずい。goプラスに5Vがかかってしまう。今のところ不具合はなさそうだが(ひょっとして振動モータが回らないのは、ドライバーが焼けてしまったか?)早急に変更する予定。

基板を起こしてみた。

PICは何でもいいが自分は12F1822が安くて使いやすい。充電回路とLi電池があれば完成する。プログラミング済みのPICと全部の部品をはんだ付けしたもの(写真と同じもの)を安く販売します。コメントください。メールします。

この方法でAndroidでもうまくは行くが、先に述べたように、AndroidはBlutooth Driverの出来がいまいちで、反応が遅いので、この方法でも自転車や歩きながらだと全部捕えられない。取りこぼすのだ。これはオリジナルを手動でスイッチをポチポチしても同じ。iPHONEの場合は自転車のスピードでも取りこぼしはない。

androidはGoogleの開発したOSで、しかもポケモンgoを開発したNIANTICはGoogleから派生した会社なのに、Appleのほうが優位っていうのは??? googleはOSのAndroidを開発しただけで、スマフォのハードウェアやそのドライバ部分まで見ているのはNexusだけで、その他のスマフォは各メーカがそれぞれのハードに合わせてるだけか。(Nexus5x、6pだったらGOプラスもキビキビ動くのかな?あれ?nexusってcpuがIntelでだめだったけ?)
Apple(iOS)はiPHONEだけなので全部責任をもって開発してるから出来がいいということか。

ポケモンgo

ポケモンgoに年甲斐もなく夢中になってしまっている。今やトレーナーレベル39とトレーナーの限界である40迄あと一歩のところまで来てしまった。ただ最近もう辞めよう、いやまだまだやろうと逡巡の繰り返し。ゲームのアカウントを削除してしまえばいいものを、アプリだけアンインストールしては、復活するという繰り返し。どうも意志が弱い。

最近ジムバトルのシステムが大きく変更され、それによってジム防衛による報酬のポケコインの上限が一日100から50に変わってしまった。(このポケコインは課金すればほぼ100円が100コインに相当する。課金をしてまでゲームをする気にはなれず、ずーっと無課金でやってきた。)また、レイドバトルという複数のトレーナーが一つのジムに集まり、共同で強いボスポケモンと戦うシステムが導入された。これは課金しなければ一日一回のみ無料でできる。課金すれば100円で一回でき、さらにつぎ込めば何度でもできるというもの。
この大きなバトルシステム変更により今までユーザーが苦労して育てて来たポケモンがほとんど意味のないものになってしまった。他色グループのジムの攻撃・防衛という概念がすっかりかわってしまって、ポケモンが8時間20分(これで50コイン)のジムにいる時間がすぎたら、そろそろ他色に交代という、なんだかおかしなシステム。
ポケモンgoはninanticというアメリカのゲーム会社が作ったシステムだが、ホームページではポケモンgoではなくIngressというポケモンgoの原型になったゲームアプリが先に出てくる。Nianticにとっては主力はIngressなんだ。この会社はポケモンgoではこれまでにもユーザーが苦労して育てたポケモンの能力を一気に下げたりでユーザの努力を無にすることを平気でやってきた。それで多くのユーザーを失って来ていることは確かだろう。丁度一年前にリリースされたときよりもユーザー数はおそらく1/10から1/100以下だろう。
今回のレイドバトルも最初は興奮したが、1週間経過した今は、すでに興味が半減している。他のユーザーも同様らしく、一番興味の湧くバンギラスというボスポケモンのレイドバトルしか人は集まらず、その他のポケモンにはほとんど見向きもされない。
この最近のゲームの変更のためにアプリが何回かVersionUpされたが、VersionUpするたび反応が遅くなり重くなり、滑らかだった動きがカクカクになり、特定の操作をするたびに、落ちてしまう。最新のスマフォですら動かない。AndroidとiOSの両方で動くが、両方とも同じ。8コアのSnapdragonの835やiPHONE 7ですら危うい。私はいPhone7だが時々急にアプリが消えてしまうトラブルが起きている。こんなアプリを平気でリリースし、ユーザーのクレームを屁とも思わない開発者は一体? アメリカのゲーム開発者がすべてそうだとは思わないが、おそらくゲーム終了まであと数か月持てばいいと思ってるから、一切対応しないのかもしれない。日本のゲーム開発者だったら考えられないが、日本で作られていたら、おそらくまだリリースをためらっているだろう。
これからミューやミューツーといった伝説のポケモンと呼ばれている、超強力なポケモンが投入されるだろうが、それでも興味を引っ張るのは2,3ヶ月だろう。もはやポケモンgo終焉の道に歩んでいるとしか思えない。

(一般にはポケモンgoは、いまだに若者だけじゃなく、中年以上のじじばばにも評判のいいゲームだと思われているが、実際の中身はひどいもの。こんなゲームからは早く足を洗いたいが、辞めたときの空虚感が怖いのでずるずるとやっているというところか。)