自作武器を作ろうず

<!--リトルカブにカブ90(HA02)のエンジン積んで,ペットボトルロケットでロケットランチャーを作り,ChromebookでETロボコン出て,Arduinoでウンコ妨害装置る沖縄の学生のブログです。院生になりました-->


Arduinoで他人の尻をハッキング!?ウンコジャマーの作り方その3

スポンサードなんとか

  第1回でウンコジャマーの原理(Arduinoで他人の尻をハッキング!?ウンコジャマーの作り方その1 - 自作武器を作ろうず)、第2回でウォシュレットの信号の盗み方を解説(Arduinoで他人の尻をハッキング!?ウンコジャマーの作り方その2 - 自作武器を作ろうず)しましたが、今回はいよいよウォシュレットを遠隔操作していきます(Fig.1)。今回も前回と同じく回路を作ったら,まず家にある家電(ここではLGテレビリモコン)で動作テストし,その後にトイレをハッキングする流れで説明します。

f:id:teppodone:20180618004357j:plain
Fig.1 今回やること


もくじ


対象年齢

  前回同様,Arduinoでdelay(); や digitalWrite(); を使ったLチカのプログラムを理解出来て,Serial.println(); でシリアル通信が出来る程度の知識を必要とします。


必要なもの

パーツリスト
  • Arduino UNO,シリアルケーブル
  • ノートパソコン
  • ブレッドボード,ジャンパーワイヤ
  • 赤外線LED
  • 電流制限抵抗(本記事では100[Ω]抵抗を使用)
  • 前回の記事の方法で集めた信号


赤外線LED,テキトーな抵抗(電流制限抵抗)
  リモコン用の赤外線LEDというのがあります。今回は秋月で売ってたコレを使いました。
akizukidenshi.com

  電流制限抵抗は,10[kΩ]でも 1[kΩ]でもそこら辺に転がってる抵抗を刺しとけばOKです。ここでは 100[Ω]の抵抗を使いました。


前回の方法で集めた信号
  前回記事で下記の信号データを取得しましたが,

/*-----------------------------------------
LGのテレビの「音量上げ」の信号データ
-----------------------------------------*/
Encoding  : NEC
Code      : 20DF40BF (32 bits)
Timing[67]: 
     +8800, -4400     + 550, - 550     + 550, - 550     + 550, -1650
     + 550, - 550     + 550, - 500     + 550, - 550     + 550, - 550
     + 550, - 550     + 550, -1650     + 550, -1650     + 550, - 550
     + 550, -1650     + 550, -1650     + 550, -1650     + 550, -1650
     + 550, -1650     + 550, - 550     + 550, -1650     + 550, - 500
     + 600, - 500     + 550, - 550     + 550, - 550     + 550, - 550
     + 550, - 500     + 550, -1650     + 600, - 500     + 550, -1650
     + 550, -1650     + 550, -1650     + 600, -1600     + 600, -1650
     + 550, -1650     + 550
unsigned int  rawData[67] = {8800,4400, 550,550, 550,550, 550,1650, 550,550, 550,500, 550,550, 550,550, 550,550, 550,1650, 550,1650, 550,550, 550,1650, 550,1650, 550,1650, 550,1650, 550,1650, 550,550, 550,1650, 550,500, 600,500, 550,550, 550,550, 550,550, 550,500, 550,1650, 600,500, 550,1650, 550,1650, 550,1650, 600,1600, 600,1650, 550,1650, 550};  // NEC 20DF40BF
unsigned int  data = 0x20DF40BF;
/*-------------------------------------------------------------------
LIXILのウォシュレットの「おしり」の信号データ
-------------------------------------------------------------------*/
Encoding : JVC
Code : 5C89 (16 bits)
Timing[51]:
     +8950, -4450 + 550, - 550 + 550, -1700 + 550, - 550
     + 550, -1650 + 600, -1650 + 600, -1600 + 600, - 550
     + 550, - 550 + 600, -1650 + 600, - 500 + 600, - 550
     + 550, - 500 + 650, -1600 + 550, - 600 + 550, - 550
     + 550, -1700 + 500, - 600 + 600, -1600 + 600, -1650
     + 600, -1600 + 600, - 550 + 550, -1650 + 600, -1650
     + 550, - 600 + 550
unsigned int rawData[51] = {8950,4450, 550,550, 550,1700,550,550, 550,1650, 600,1650, 600,1600, 600,550, 550,550, 600,1650, 600,500, 600,550, 550,500, 650,1600, 550,600, 550,550, 550,1700, 500,600, 600,1600, 600,1650, 600,1600, 600,550, 550,1650, 600,1650, 550,600, 550}; // JVC 5C89
unsigned int data = 0x5C89;


  今回使うのは下記の unsigned int rawData[67] = {…} の部分です。

unsigned int rawData[67] = {8800,4400, 550,550, 550,550,…(略)};     //LGのテレビの「音量上げ」の信号データ
unsigned int rawData[51] = {8950,4450, 550,550, 550,1700,…(略)};    //LIXILのウォシュレットの「おしり」の信号データ




ウォシュレットをハッキングする方法

回路図
  赤外線信号を送るための下記の回路を組みます(Fig.2)。詳しくはプログラム(スケッチ)の章で書きますが,IRremoteに組み込まれている関数 irsend.sendRaw(); を使って信号を発信する場合,出力は digital3 番ピンと決まっています。

f:id:teppodone:20180618004359j:plainf:id:teppodone:20180618004406j:plain
Fig.2 回路図と写真



プログラム(スケッチ)
  IRremote に含まれる関数(メソッド) irsend.sendRaw(); を使います。この関数は,前回記事の IRrecvDumpV2 で解析した信号をもとに逆に信号を発信することができる関数です。信号はdigital3番ピンから出力されます。IRremoteの導入が終わってない方は,先に前回記事を読んでください。

  次の「 1秒おきに,LGのテレビの音量上げてLIXIL製ウォシュレットの「おしり」を送信するプログラム」をコピペして Arduino に書き込みます。

/*--------------------------------------------------------------------------
 1秒おきに,LGのテレビの音量上げてLIXIL製ウォシュレットの「おしり」を送信するサンプルプログラム
 @author : てぽ丼/teppodone ,  使用ライブラリ:IRremote
--------------------------------------------------------------------------*/

#include "IRremote.h"
IRsend irsend;  //IRsendオブジェクトの生成

void setup(){

}


void loop(){
  int khz=38; // 信号の周波数は38[kHz]

  //LGのテレビの「音量上げ」の信号データ 
  unsigned int LG_VOL_UP[]  = {8800,4400, 550,550, 550,550, 550,1650, 550,550, 550,500, 550,550, 550,550, 550,550, 550,1650, 550,1650, 550,550, 550,1650, 550,1650, 550,1650, 550,1650, 550,1650, 550,550, 550,1650, 550,500, 600,500, 550,550, 550,550, 550,550, 550,500, 550,1650, 600,500, 550,1650, 550,1650, 550,1650, 600,1600, 600,1650, 550,1650, 550};  // NEC 20DF40BF
  //LIXILのウォシュレットの「おしり」の信号データ
  unsigned int OSHIRI[]     = {8950,4450, 550,550, 550,1700,550,550, 550,1650, 600,1650, 600,1600, 600,550, 550,550, 600,1650, 600,500, 600,550, 550,500, 650,1600, 550,600, 550,550, 550,1700, 500,600, 600,1600, 600,1650, 600,1600, 600,550, 550,1650, 600,1650, 550,600, 550};;


  //LGのテレビの「音量上げ」の信号を発生させる関数
  irsend.sendRaw(LG_VOL_UP, sizeof(LG_VOL_UP)/sizeof(LG_VOL_UP[0]), khz); 
  //LIXILのウォシュレットの「おしり」の信号を発生させる関数
  irsend.sendRaw(OSHIRI, sizeof(OSHIRI)/sizeof(OSHIRI[0]), khz); 

  delay(1000);
}


   簡単に説明しますと,IRsend クラスからオブジェクト irsend を生成して,関数(メソッド)irsend.sendRaw(); の引数に,信号データ LG_VOL_UP, OSHIRI,信号の周波数 38[kHz]を渡して,1000[ms]おきにグルグル回しているだけです。



テレビをArduinoからハック
  前回同様 Arduino 持ってトイレに直行する前に,まず家のテレビをハックします。上記のプログラムを Arduino に書き込んで,ブレッドボードからパーツやケーブルが抜けないように注意しながらLEDをテレビに向けると,1秒おきにテレビの音量が勝手に上がっていくと思います。そうなれば成功です。

www.youtube.com

  赤外線LED1では光量が足りずなかなかテレビが反応しないことがあります。赤外線LEDをテレビの赤外線受光部に近づけてあげると良いでしょう。



実際にウォシュレットをハックしてみる

  あとは簡単です。Arduino とブレッドボードとUSB電源(パソコンかUSBモバイルバッテリー)持ってトイレに直行するだけ。便座の奥にあるセンサーに付箋紙か何かで覆いをして(Fig.3),Arduino に電源を投入すると勝手に「おしり」が動きます。

www.youtube.com

f:id:teppodone:20180618004404j:plainf:id:teppodone:20180618004402j:plain
Fig.3 人感センサーの部分は何かカバーをしないとウォシュレットが動作しないので注意(右)

  3回に渡って説明してきましたが,ココまでが基本的なウンコジャマー制作の流れです!!もうこれで誰でもウンコジャマーを作れますね!!!!この基本回路に銃の形のフレームや,大光量の9連の赤外線LED,信号切替スイッチなどを加えたものが私のウンコジャマーです。



次回予告

  ウンコジャマーの作り方シリーズ,次回が最終回です多分。次回は銃の形をしたフレームの3Dデータだったり,信号切り替えスイッチ,大光量の9練LED,電源系,回路などをサラッと解説します。

【2018/08/31 19:40 追記
  ごめんまだ続き記事書いてないから待ってくだしあ…




Arduinoで他人の尻をハッキング!?ウンコジャマーの作り方その1 - 自作武器を作ろうず
Arduinoで他人の尻をハッキング!?ウンコジャマーの作り方その2 - 自作武器を作ろうず

アリエナクナイ科学ノ教科書 ~空想設定を読み解く31講~

アリエナクナイ科学ノ教科書 ~空想設定を読み解く31講~



■にっき
  家の RaspberryPi 鯖から運用してた TwitterBot が凍結喰らいました。異議申し立てしてるけど未だに解除されません。なんなん💢💢💢💢💢ぎんなん💢💢💢💢💢💢( `o´ )