超音波距離センサの仕組み[HC-SR04とラズパイの場合]

超音波距離センサは、計測対象物に超音波を発信して、その反射波を受信するまでの時間から、センサと対象物との距離を計算・検出するセンサです。 この記事では超音波距離センサHC-SR04とRaspberryPiを使って、超音波距離センサの距離検出の仕組みを紹介します。 記事の最後にRaspberryPiでHC-SR04を動かすサンプルコードも掲載します。 超音波距離センサの仕組み 超音波距離センサの仕組みは、超音波を計測対象に発射し、反射が返ってくるまでに要した時間と、音の進むスピードから距離を計算し求めるものです。距離測定の手順を示します。 ①パルス発射・計測開始 ②パルス伝搬中 ②パルス伝搬中

SYN Flood Attackを手元のPCで検証する方法

DDOS攻撃(Distributed Denial Of Service Attack)は分散型サービス拒否攻撃といい、ターゲットに向けて複数のコンピュータから大量のリクエストを送ることで、マシン・ネットワークリソースを利用できないようにする攻撃です。 DDOS攻撃は複数のDOS攻撃で構成されています。 DOS攻撃には様々な手法があり、SYN Flood Attackもその一つです。 この記事ではhping3を使用して実際にSYN Flood Attackを行う方法を紹介します。 SYN Flood Attack SYN Flood AttackはTCPコネクションを確立する3ウェイハンドシェ

AndroidWearで心拍数をリアルタイムに取得する!

AndroidWearの心拍センサを使って、心拍数をリアルタイムに表示するアプリを作ります。 鼓動のドクドクも表現してみます。 はじめに AndroidWearで心拍数を取得して表示するサンプルアプリを作っていきます. 検証した実機は Moto360 1st Gen(Wear1.0) HUAWEI WATCH(Wear2.0) の二つです. 手順 1.センサーマネージャの取得 2.イベントリスナーの登録 3.心拍数の取得 4.心拍数を表示 という流れになります. 1.センサーマネージャの取得 protected void onCreate(Bundle savedInstanceState)

AndroidWearの加速度センサ値をスマホでリアルタイムにグラフ描画する!(後編)

AndroidWearで取得した加速度をスマホに送信して、リアルタイムにグラフ描画するアプリを作ります。 (前編)ではスマートウォッチで取得した加速度をスマートフォンへ送信する処理を書きました。 この(後編)ではスマートウォッチから受け取った加速度をMPAndroidChartというライブラリを使ってリアルタイムにグラフ描画します。 手順 wear側(前編) 1.加速度データ取得 2.加速度データ送信 mobile側(後編)※今回 3.加速度データ受信 4.加速度をグラフにプロット 3.加速度データ受信 ウェアラブルからのデータを受け取るため、GoogleApiClientを使います。 Goo

[解決]Gradle同期でエラーが発生する。(Gradle project sync failed.)[AndroidStudio]

久しぶりにAndroidStudioを立ち上げて新規プロジェクトを作成したら、いきなりグレードル同期のエラーが発生しました。 gradle project sync failed. basic functionality (e.g. editing debugging) will not work properly Error:Failed to resolve: com.android.support:support-v4:26.0.0 Error:Failed to resolve: com.android.support:percent:26.0.0 Error:Failed to re

断線したUSBケーブルを修理する!

断線したUSBケーブルを修理します。 スマートウォッチのUSB充電クレードルのケーブルが断線してしまいました。 純正品は高いし、Amazonの互換品はレビューが悪いのでナシです。 そこで今回は断線したUSBケーブルを修理していきます。 今回断線したケーブルはこちら。 HUAWEI WATCH 初代の充電クレードル USBタイプA 2.0です。 特殊なクレードルで、値段の高い純正品か、粗悪な互換品を買う選択肢しかありません。 この状態でもかろうじて通電してますが、ちぎれるのも時間の問題です。 まず、ひとおもいにペンチで切断します。 皮膜を剥くと 4本の線が出てきました。 内部はこんな感じで、通信

AndroidStudioで既存のプロジェクトをインポートする

はじめに AndroidStudioで既存のプロジェクトを開く方法です。 起動後の画面で、「Open an existing Android Studio Project」を選択します。 ファイルエクスプローラが立ち上がるので、プロジェクトフォルダを選択します。 「OK」を押すとプロジェクトが開きます。 メニューバーから[File]→[New]→[Import Project]を選択しても同様です。 プロジェクトのビルド インポートしたプロジェクトを実機/エミュレータで動かします。 実機の場合は、まずAndroidデバイスをPCに接続します。 ツールバーの▶︎(Run’App’ )を押します。

AndroidWeraの加速度センサを使ってみよう[AndroidStudio]

はじめに 今回はAndroidWearの加速度センサを使ってみます。 まずは、シンプルにwearで取得した加速度をそのまま表示するだけのアプリを作っていきます。 環境 AndroidWear HUAWEI WATCH初代 AndroidStudio on Mac(v2.2.2) 完成図 こんな感じで、デバイスに加速度が表示されるようなサンプルアプリを作っていきます。 手順 1.プロジェクトの新規作成 1−1.新規プロジェクトの作成 1−2.プロジェクト名、フォルダ設定 1−3.アプリのターゲットを選択 1−4.最初に追加するアクティビティの選択 1−5.アクティビティのカスタマイズ 1−6.実

ハニーポットT-Potを構築してみた[Multi-Honeypot Platform]

前から気になっていたハニーポットを自宅サーバに構築してみます。 ハニーポットはクラッカーの侵入手法やマルウェアの振る舞いを分析するために、わざと侵入されやすいように設定されたサーバです。 外からは単なる脆弱なサーバに見えますが、攻撃者の行動を記録したり、マルウェアを保存することができます。 自身でハニーポットを持つことで、最新のサイバー攻撃動向やマルウェアを知ることができます。 この記事では、実際にハニーポットを構築し、攻撃を収集するところまでをご紹介します。 ※ハニーポットは実際に攻撃を受けますが、「本当に」侵入されてはいけません。 サーバを乗っ取られたり、他の攻撃の踏み台にされたりしないよ

TCPのウィンドウ制御を見てみる

TCPではデータをセグメントと呼ぶ単位に分けて転送します。 セグメントの受け渡しには、確認のやり取りをすることで、信頼性を高めています。 今回は高信頼性と高効率な通信のために用いられるTCPのウィンドウ制御を見ていきます。 はじめに クライアント:mac(192.168.10.2) サーバ:mio.yokohama(202.181.99.77) クライアントからサーバへのHTTPリクエストパケットをクライアント側のwiresharkでキャプチャします。 確認応答という言葉を使っていますが、ACKと同じ意味です。 TCPの確認応答 図はTCPでAliceからBobにデータを送る例です。 セグメン