74 lines
1.8 KiB
Markdown
74 lines
1.8 KiB
Markdown
# Internet Monitor
|
|
|
|
## Hardware
|
|
|
|
- Primary target
|
|
- [Waveshare ESP32-S3](https://www.waveshare.com/esp32-s3-lcd-1.3.htm?sku=30558) ([docs](https://www.waveshare.com/wiki/ESP32-S3-LCD-1.3))
|
|
- [Waveshare LAN8720 Module](https://www.waveshare.com/lan8720-eth-board.htm) ([docs](https://www.waveshare.com/wiki/LAN8720_ETH_Board))
|
|
- Alternative target
|
|
- [Waveshare ESP32-C6](https://www.waveshare.com/esp32-c6-lcd-1.3.htm?sku=33644)
|
|
- [W5500 Ethernet Module](https://www.az-delivery.de/en/products/w5500-ethernet-netzwerk-internet-modul-fuer-arduino)
|
|
|
|
### Integrated ethernet but w/o display
|
|
|
|
- [Olimex ESP32-POE](https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-source-hardware)
|
|
- [Olimex ESP32-POE-ISO](https://www.olimex.com/Products/IoT/ESP32/ESP32-POE-ISO/open-source-hardware)
|
|
|
|
## Test procedure
|
|
|
|
1. Check physical link
|
|
- Ethernet unplugged?
|
|
2. Run DHCP / IPv4 config
|
|
- IP assigned?
|
|
- Subnet?
|
|
- Gateway?
|
|
- DNS server?
|
|
3. Run SLAAC / IPv6 config
|
|
- IP assigned?
|
|
- Subnet?
|
|
- Gateway?
|
|
- DNS server?
|
|
3. Test local Gateway
|
|
- Router reachable? IPv4, IPv6
|
|
4. Routing/Uplink
|
|
- Ping 1.1.1.1, 8.8.8.8, 9.9.9.9
|
|
- Ping 2606:4700:4700::1111, 2001:4860:4860::8888, 2620:fe::fe
|
|
5. DNS
|
|
- Resolve google.com, cloudflare.com, example.com
|
|
- Timeout?
|
|
- NXDOMAIN?
|
|
6. S2S VPN
|
|
- Ping other side
|
|
7. Packet throughput
|
|
8. Measure latency
|
|
9. Measure temperature inside rack
|
|
|
|
## Display
|
|
|
|
```
|
|
🟢 ONLINE
|
|
Latency: 23ms
|
|
Packet loss: 4.2%
|
|
IPv4: 192.168.0.123/24
|
|
IPv6: 2001:d8::1234:5678:90ab:cdef/64
|
|
Temperature: 42°C
|
|
```
|
|
|
|
## Future ideas
|
|
|
|
- Prometheus endpoint
|
|
- Test Wifi
|
|
|
|
# Build
|
|
|
|
1. Setup ESP IDF
|
|
- Using Nix
|
|
```
|
|
nix develop
|
|
```
|
|
- Manually
|
|
- Check correct version in flake
|
|
- Setup IDF per docs: https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/index.html#installation
|
|
2. Configure?
|
|
3. Compile
|
|
4. Flash
|