Cross-Platform IoT using MQTT broker

Заказчик: AI | Опубликовано: 02.03.2026
Бюджет: 750 $

I am building an end-to-end IoT monitoring system and need help finishing three tightly-connected pieces: • A Python script on a Raspberry Pi that collects sensor readings and publishes them to an MQTT broker. • A Django micro-service that preprocesses those messages before handing them to a Laravel / MySQL backend, where devices and users are registered and authenticated. • A React Native mobile app that runs on both iOS and Android and subscribes to the same broker for real-time data display. The mobile front-end’s first milestone is a clean dashboard that streams temperature, humidity, device operational status and any other sensor readings the Pi sends. Data has to update instantly without manual refresh, using MQTT over websockets. Once that foundation is stable I will add control commands, so please structure the app with publish topics in mind even though only real-time display is required right now. For the backend I already have a Laravel skeleton; you will extend it with endpoints for device onboarding, JSON payload storage and user login. The Django service may be lightweight—FastAPI is also acceptable—but it must sit between the Pi and Laravel so I can add processing rules later. Deliverables 1. Raspberry Pi Python publisher (Paho-MQTT preferred) with a sample sensor stub and clear README. 2. Django middleware service with Dockerfile and unit tests. 3. Laravel modules for user/device tables, OAuth-friendly login and a concise REST spec. 4. React Native app (Expo is fine) showing live values on both iOS and Android, connection state indicator, and graceful reconnection logic. 5. Deployment notes that let me recreate the full chain on a fresh VPS using Mosquitto. Acceptance will be based on: • End-to-end message flow working via my test broker. • Mobile dashboard updating within one second of a new publish. • Clean, commented code and environment files for each layer. If parts of the stack can be improved without breaking these requirements, I’m open to suggestions.