I want to stream some random data from a wifi chip to another ip(cellphone or tablet). How shall I do it?I want to stream data at 30mbps or more. The hardware that I want to use is first a laptop ( make it send via a router to another computer). Then I want to replace the transmitting laptop with an arduino with wifi chip or raspberry pi with a wifi chip. What shall I do on the software side to begin with on the laptop?

Dani AI

Generated

Short practical plan to answer and to satisfy ’s “show me what you got” request: verify the wireless path first, then stream raw bytes for a throughput test, and finally replace the laptop with an embedded board only after the test is repeatable. Key points: use 5 GHz if available, measure with iperf3, choose UDP when a fixed bit-rate is required and TCP when reliability matters, and prefer a Raspberry Pi (or similar SBC) over classic Arduino boards for sustained 30 Mbps.

Primary test commands (laptop ↔ phone/tablet or laptop↔laptop):

# Receiver (start on the device that will accept the stream)
iperf3 -s

# Sender: TCP (will try to fill the link)
iperf3 -c <server_ip> -t 30

# Sender: UDP at 30 Mbps
iperf3 -c <server_ip> -u -b 30M -t 30

# Parallel TCP streams (sometimes needed to saturate Wi‑Fi)
iperf3 -c <server_ip> -P 4 -t 30

Quick raw-data stream example (useful for functional testing):

# Receiver
nc -l 5000 > /dev/null

# Sender (limits to ~30 MBits/sec via pv)
dd if=/dev/urandom bs=1M count=300 | pv -q -L 30M | nc <server_ip> 5000

Hardware and troubleshooting notes: most AVR-based Arduinos cannot sustain 30 Mbps. ESP8266 often falls short in real-world tests; ESP32 or an SBC like Raspberry Pi (with 5 GHz/802.11ac) are realistic options. If throughput is low, check Wi‑Fi band (force 5 GHz), signal strength, channel congestion, router QoS/firewall, and client link-rate. Tune socket buffers or TCP window sizes if using custom code, and use multiple iperf streams to verify whether the limit is a single-flow TCP issue. For continuous media rather than raw bytes, use RTP/RTSP (gstreamer/ffmpeg) or add lightweight FEC when using UDP.

That's vague. Why would I use an arduino or such? Tell more why we can't just use what we got?

(Yes, show me what you got!)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.