A survey of federated learning for iot: addressing resource constraints and heterogeneous challenges