Skip to content

Releases: arpanpathak/civicsense-pi-stream

v0.2.0 — UDP streaming, WiFi hotspot, Dockerized multi-arch builds

Choose a tag to compare

@arpanpathak arpanpathak released this 16 Aug 09:21

New in v0.2.0

Three binaries from one Rust code base:

  • pi_stream_http — original HTTP MJPEG server (port 8000)
  • pi_stream_udp — raw MJPEG UDP datagram streamer for a phone app (port 9000)
  • pi_stream — all-in-one HTTP + UDP, for WiFi hotspot mode

UDP phone-app protocol (src/udp.rs)

  • 16-byte little-endian header: PIST magic, sequence, fragment/total, payload length
  • automatic frame fragmentation for large JPEGs
  • PING/PONG discovery handshake + broadcast delivery (no IP config needed)

WiFi hotspot

  • scripts/hotspot-nmcli.sh (NetworkManager) and scripts/hotspot-hostapd.sh (hostapd + dnsmasq)
  • SSID: CivicSense (configurable)
  • one-command installer + systemd unit (deploy/pi_stream.service)

Dockerized cross-compilation

  • make build → binaries in bin/<triple>/
  • targets: armv7 (32-bit Raspbian), aarch64 (64-bit Pi OS), x86_64 (dev/CI)
  • fixes the previous cannot find Scrt1.o link failure by installing libc6-dev-*-cross startup packages explicitly