You could simply read the ARP table after you have initiated a broadcast ping but youwon't get all devices since only a few OSs answer to broadcast pings and also routed IP adresses are missing, afaik they have to be counted as well if located behind the firewall.