Cy-Pi

自転車のこと。たまにラズパイのこと。

raspberry pi を家の外から操りたい

twitterをトリガに動く

cronで5分おきにtwitterのDMをポーリングして、キーワードをトリガとしてスクリプトが走り出す。自由度は低いけど、外でコードを書くつもりはないので、これで十分。 twitterのアクセスキーの設定でハマったものの、それ以外は簡単に組めた。

ただし、2018年8月でstreaming APIが廃止になるらしいので、 15分間に15回までしか叩けないナントカAPIしか使えなかった。

制限いっぱい使用しても1分周期でしか動作しないのでビミョー。

結論:やっぱりリアルタイム性がほしいな。

VPNトンネルを掘る

直接ラズパイに入っちゃえば何でもできる。

でも、ポートフォワーディング設定が必要になるんだろう。 よく知らないのでセキュリティが心配。どんな感じか想像してみた。

  • 開放するポートを変更する
    デフォルトでは22番になっている。自分が攻撃するならまずは22番を堀りに行くと思う。デフォルトから変えないで使う人はきっとその他もガバガバだろうからカモになるよね。

  • アカウント名を変更する
    アカウント名知らなきゃ侵入できないよね。たぶん。 デフォルトでもあるアカウント名は変えといたほうがいいかな。rootとか、piとか。 ゲストアカウントもオフにする必要があるかな。

  • ポート通れるIPの制限とか?
    できるか知らないけど、ホワイトリストベースで運用できればちっとは安心だよね。 スマホからラズパイをいじりたいから、スマホのIPを調べる必要があるよね。で、スマホのIPってのはそもそもどうなっているんだろう?

  • ラズパイというか家のグローバルIPを固定する
    使おうと思ってる回線について調べたら、月額が発生するようだ。 毎月お金を払ってまでラズパイしたいわけじゃないので、、、それなら自立制御に力を入れるので、、、

結論:VPNは断念した。

スマホのpush通知的な仕組みできないか?

メールとかLINEとかってリアルタイムで通知が来る。ラズパイにもpushできれば、やりたいことができるんじゃないかと思う。 それで、、、push通知ってどんな仕組みなんだ?

ぐぐってみると

、、、がんばって読み解くと、AppleなりGoogleなりのサーバーがユーザー端末を特定して通知を出してくれる仕組みのようだね。ラズパイでも同様のサーバーを立ち上げればできるはず、、、だけど、端末を特定するってことはグローバルIP必要になりそうでイヤだな。

結論:サーバーとかよくわからないけど、調べている途中でこんな情報を見つけた。

slack + hubotの連携

いろいろ考えてみたものの、これでやりたいことを実現できそうだ。

結論:これまでの調査は無駄ではない。うまくいかない3通りの方法を発見したのだ。