Adaptive Stream Processing Framework for Smart City IoT Networks Using Self-Powered Photodetector-based Data Collection