Skip to content

Latest commit

 

History

History
167 lines (116 loc) · 4.76 KB

README_EN.md

File metadata and controls

167 lines (116 loc) · 4.76 KB

ILLUMI PACKET

Illuminating Packets on an Ethernet Cable using LED Strip.

Overview

illumi-packet

Movie (YouTube)

A packet is visualized by LED lights as it flows in the transmission direction.

ARP packets glow ORANGE and DHCP packets glow BLUE for example. 8 LED colors were assigned to each packet type.

Therefore, Illumi Packet makes the presence of packets familiar and helps to intuitively understand what kind of packets are generated while operating a computer.

color

Hardware Setup

Requirements

Materials Quantity Remarks
LED strip (WS281B) 1m Recommended > Allowing Individual address, full color. 144LEDs/m
Raspberry Pi 1 Operation confirmed > Raspberry Pi 2, 3, 4
Ethernet cable 1m
Jumper wire male-female 3
Cable tie 4

You need also Keyboard, Display, HDMI Cable, Routers etc.

Assembly

  1. Connect an LED strip to the GPIO of a Raspberry Pi.
  2. Fix it to an Ethernet cable.
  3. Connect one end of the Ethernet cable with the Raspberry Pi and the other end with several wired network access points.

GPIO_Outline

GPIO

Setup on Raspberry Pi

  1. Install golang
  2. Install libpcap sudo apt-get install libpcap-dev
  3. Install SCons sudo apt-get install scons
  4. Install rpi_ws281x
  5. Run git clone https://github.com/souring001/illumi-packet.git
  6. Change the parameters in illumi-packet.go according to the number of LEDs as follows:
LEDs/m count speed series
60 60 1 6
144 144 4 12
144 (0.5m) 72 1 12

1. Install golang

The program to be executed is described in go language. Install golang according to https://golang.org/doc/install#install. Execute it in the terminal as shown below, and confirm that the version is displayed at the end.

$ version=1.13.4
$ wget https://storage.googleapis.com/golang/go${version}.linux-armv6l.tar.gz
$ sudo tar -C /usr/local -xzf go${version}.linux-armv6l.tar.gz

$ echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.profile
$ . ~/.profile

$ go version
go version go1.13.4 linux/arm

4. Install rpi_ws281x

An LED strip is controlled by a library called rpi_ws281x. Install rpi_ws281x according to https://github.com/jgarff/rpi_ws281x.

$ git clone https://github.com/jgarff/rpi_ws281x.git
$ cd rpi_ws281x
$ scons

$ sudo cp -ai ./ws2811.h ./rpihw.h ./pwm.h /usr/local/include/
$ sudo cp -ai ./libws2811.a /usr/local/lib/

Build

$ go build illumi-packet.go

Run

$ sudo ./illumi-packet

Press Ctr-C to quit.

Option
-h Help command
-debug Print packet details. (default: true)
-device [string] Set network interface (default: eth0)
-speed [int] Set speed of flowing packet(default: 1)
-narp Disable visualizing ARP packets
-ntcp Disable visualizing TCP packets
-nudp Disable visualizing UDP packets
-reset Reset LEDs
-ipaddr Show IP address on LED

Examples

Not showing TCP/UDP packets.

$ sudo ./illumi-packet -nudp -ntcp

Not showing packet details. (recommend on SSH)

$ sudo ./illumi-packet -debug=false

Visualize packets on Wi-Fi.

$ sudo ./illumi-packet -device wlan0

Show IP address on LED.

$ sudo ./illumi-packet -ipaddr

showipaddress

Turn off the LED lights.

$ sudo ./illumi-packet -reset

License

Creative Commons License
ILLUMI PACKET by Kohei Aso is licensed under a Creative Commons Attribution 4.0 International License.

  • Free to modify and redistribute
  • Displaying the credits is required

We may introduce your usage as an examples on our site.
Please contact us if you do not want to give credit.

Contact

Twitter: @souring001

ILLUMI PACKET
Copyright (c) 2019, Kohei Aso