2018年11月10日土曜日

Node.jsでポケモンGoPlusのAPIをインストールする話

はい、いよいよ当初の目的に辿り着こうとしています。

http://sato7411.hatenablog.com/entry/2016/08/01/210854

Poke.io

こいつをいじるためにここ数週間調べ物やらつまづきやらしてきたんだ
いよいよインストールするぞ!!!


ズコー

ええ!?なんなの!?

まずはラズパイ上でSSLを許可
https://qiita.com/aryoa/items/86ddae2212c789ddece0
SSHだね、これ。
やったけど意味あったのかな。
リブートしたらnvmが動かなくて焦る焦る

. ~/nvm/nvm.sh

を実行しないとnvmは動かないようですね。
一つ賢くなった

というわけでSSL Error: CERT_UNTRUSTEDで検索
https://blog.yug1224.com/archives/563d9b67bf652a600632d01e/

ありがとう。神様。

で、実行

まだダメだ。
nodeのバージョンがやっぱダメなのかな。

エラー文を順番に読んで見る
・Error: No compatible version found long@^3.2.0'
やっぱりなにかの場0ジョンがおかしいようだ
その後のValid install targets:以下はその影響かな?

at installTartetsErrorはこちらもやはりバージョンなのだろうか

最後に出ているエラーはエラーログここだよってお話のようだ。


と、言うわけでまずはError: No compatible version found long@^3.2.0'
を調べる
やっぱりバージョンの問題

そこで最新版を見てみると10.13.0が推奨版とのこと
これにしてみよう

>nvm install v10.13.0

>nvm ls
にて現在のバージョンが10.13.0になっていることを確認してインストール実行!
やったか!?

いくつかワーニングは出ているな。。。
lockfileをpackage-lock.jsonとして作れと?
よくわかんないでござるな。
ただ、インストールは終わった感。

動作確認だ。
・・・Node.jsってどうやってプログラムかけばいいの???


続く

Node.js環境構築の話

さて、連投です。
完全に今日の作業記録です。
記憶が消える前に。。。


今度はNode.jsの環境をラズパイ上に構築していきます。
以前調べて実施した方法がなんかうまく行かなくて、数日放置していました。
(パスの設定がうまく行かず、NPMが使えなかった)

今回は本に頼ることにしました。
秀和システム出版の「Node.jp プログラミングガイド」
図書館においてあったので実質タダ!
最近の図書館は古めでもIT系の本がおいてあるのが嬉しいですね。
こちらの補足資料に書いてある環境構築を参考にしました。


>sudo apt-get install git-core
>git clone git://github.com/creationix/nvm.git ~/nvm
>nvm install v0.8.16

結局の所、実行したコマンドはこの3つでした。
あとはlsやnvm helpなどインストール確認系

Node.jsの最新版が今いくつなのか、など全く調べていないので、
ゴプラを作る際にはそのバージョンを設定しないといけないんだろうな、
とは思いつつ、これも一歩前進

ちなみに、URL入力中にRDP中のUSキーボード問題にぶち当たり、
キーボード配置をインストールするも失敗するという愚行を犯しています
2つくらいのやり方がごっちゃになった感があるので、シンボリックリンク貼り直したらいけるかなぁ。。。といったところ

しましまあコレで環境構築は成功
いよいよ本題に入れるはず・・・?

ラズパイとWindows10をRDPする話

先の投稿で自作ポケモンGoPlusという目標を立てるも、何はともあれ環境準備

HDMI切替器はあれど、いちいちWindowsとラズパイでマウスキーボードを置き換えるのが非常に苦痛
手段を探すとRDPで接続可能とのこと
LinuxなんてCLIで触れよなんて言わないでください
直感的に理解できるGUIもいいものだと思います

結局各種操作はコンソール開いてやるんだけどさ


さて、本題
全ては先人の知恵
私はただ追従するのみ

まずはxrdpの環境構築
https://qiita.com/t114/items/bfac508504b9a6b7570d
こちらを参考に
Qiitaで投稿される技術には感謝するばかりです

ところがどっこい、エラー発生
・Windows10からRDPを実施すると、ログイン画面まで表示可能
・piユーザのID, PWを入力してもエラーで弾かれる
という現象

調べるとすぐに出てきましたね
https://qiita.com/hiroyuki_jp/items/a4b17fa451adfe66d6a9
先人の知恵は本当に偉大

コレにてRDPは無事接続完了

ところが、RDP接続しているとキーボードがなぜかUSキーボードで認識される事態に
とりあえずは配置を覚えたのでなんとかなりますが、解決したいところです
・~=shift+半角/全角
・:=shift+;
・@=shift+2
というのは理解した

本日の成果
・Windows 10 からRaspberry pi 3にRDP接続の環境を作成
残課題
・キーボード配列がUSのまま(優先度低

素人プログラマにポケモンGo Plusは作れるのか

購入後、引き出しの奥で眠り始めてはや2年のRaspberry pi3...

せっかく買ったんだから何かに使いたい。
でも買ったはいいけど使いみちがない。(何故買った

そんなある日、ポケモンGoPlus(ゴプラ)が欲しくなるも価格は高騰中。
購入をためらっていたら、天啓が来たのです。

「作れば安く済むんじゃね???」

取り急ぎ先人の知恵を借りようをインターネットの海へ

結果、マイコンで実装している人の結果にたどり着く。
でも、環境整えるだけでなんと1万円over...

コレ意味ないぞ、と

で、更に思いつく。

「ラズパイでなんとかなるんじゃね?」

ラズパイとあいぽんをBLEで繋ぎ、適当なソースコードを書いてゴプラの機能を実装。
完璧だ。


下記のステップで進めていくプランを立てる
・机が狭い&ディスプレイが一つしかないので、RDPでラズパイを操作する環境構築
・今回はnode.jsを使用して開発するため、node.jsの環境構築
・BLEでラズパイとあいぽんをつなぐ
・ポケモンGoのAPIを弄ってあそぶ

さて、どこまでいけるのか。チャレンジです。