🌉

【Raspberry Pi】通過パケットのプロトコルによって異なる色のLEDを点灯するネットワークブリッジ作ってみた

2021/09/19に公開

デモ

https://www.youtube.com/watch?v=84_1ZIWVkYQ

概要

Raspberry Piで、リアルタイムで通過パケットのプロトコルに応じた色のLEDを点灯するネットワークブリッジを作ってみました。デモの通り、通過したパケットがICMPだったら赤、ARPだったら青、といった具合にプロトコルに応じて違う色のLEDを点灯します。フルカラーLEDを利用して実現しています。

仕組み

ブリッジ

ネットワークブリッジのプログラムは以前フルスクラッチ(Ruby)で作成していましたので、今回パケットをブリッジする際にプロトコルを解析してそれによって色を点灯する処理を加えてみました。

パケットヘッダ部のプロトコルのフィールドや、ポート番号を取得し、プロトコルを判別します。

デモでは、ARP, ICMP, HTTPの3種類のみ対応していますが、対応プロトコルを増やせば色の種類を増やすことが可能です。

https://github.com/kuredev/simple_bridge/tree/coloring-bridge

色の点灯

LEDは秋月電子さんの「RGBフルカラードットマトリクスLED」を利用させてもらいました。

https://akizukidenshi.com/catalog/g/gI-07663/

プロトコルに応じてすべてのドットに同じ色を点灯します。GPIOで点灯を制御します。

今回は3種類の色のみでしたので、GPIOピンを特定色のドットと直接紐付けて回路を組んでいますが、色の種類を増やす際は、PWM制御を入れればプロトコルと色の種類を更に増やせると思います。

参考

https://akiba-denshi.blogspot.com/2014/07/osl642372-argb.html

https://amzn.to/3kmfte7

https://kohacraft.com/archives/1035489926.html

Discussion