Mobilna aplikacja IoT do sterowania podnośnikami mebli
Klient: Startup produkujący elektryczne podnośniki mebli oparte na niestandardowym urządzeniu. Producent zgłosił się z gotowym sprzętem i potrzebą aplikacji mobilnej, która zamieni go w kompletny produkt IoT.
Mieć działający hardware to jedno - żeby produkt IoT trafił do klientów, potrzebuje aplikacji, która jest prosta w obsłudze, niezawodna w komunikacji i działa na każdym smartfonie. LegsGO zlecił mi zaprojektowanie i zbudowanie całego ekosystemu: aplikacji mobilnej na iOS i Android, firmware dla płytki oraz automatyzacji aktualizacji OTA.
//Wyzwanie biznesowe
Producent miał gotowe urządzenia, ale zero warstwy software. Bez aplikacji mobilnej sprzęt nie mógł trafić do klientów końcowych. Wyzwania techniczne były poważne: komunikacja przez WiFi (MQTT) i Bluetooth musiała działać niezawodnie i wzajemnie się uzupełniać, pierwsze parowanie urządzenia przez klienta musiało być tak proste, że nie wymagało instrukcji, a aktualizacje firmware na wdrożonych urządzeniach musiały odbywać się bez fizycznego dostępu do sprzętu.
//Rozwiązanie
Zaprojektowałem i wdrożyłem cały stack: aplikację mobilną React Native na iOS i Android z dualnym transportem komend (MQTT over WebSocket + BLE z automatycznym fallbackiem), wieloetapowy wizard provisioning przez Bluetooth, system OTA do zdalnej aktualizacji firmware, a także napisałem sam firmware dla płytki. Całość spinana przez Supabase (auth, baza danych, realtime).
//Efekty biznesowe
Kompletny produkt IoT z jednego źródła
Aplikacja mobilna, firmware i backend - zaprojektowane razem jako spójny ekosystem, nie sklejone z oddzielnych części. Producent otrzymał gotowy produkt, nie zestaw komponentów do integracji.
Niezawodna komunikacja - MQTT + BLE z auto-fallbackiem
Komendy wysyłane są przez MQTT (WiFi), a gdy urządzenie jest offline - aplikacja automatycznie przełącza się na Bluetooth. Użytkownik nigdy nie widzi błędu połączenia, sterowanie działa zawsze.
Provisioning w kilka minut bez instrukcji
Wieloetapowy wizard przez BLE prowadzi użytkownika przez pierwsze parowanie: skan urządzeń, wybór sieci WiFi, wpisanie hasła i rejestracja - wszystko w jednym ekranie. Jeśli rejestracja nie powiedzie się z powodu braku internetu, config jest zapisany i retry wykonywany automatycznie po powrocie łączności.
OTA - aktualizacje firmware bez fizycznego dostępu
Przez MQTT aplikacja wysyła URL binarki i SHA256 do urządzenia - sam pobiera i wgrywa aktualizację. Wersja firmware i historia aktualizacji zarządzana centralnie w baziedanych.
Harmonogramy i automatyzacje
Użytkownicy mogą ustawić automatyczne sekwencje podnoszenia/opuszczania (np. biurko w górę o 8:00, w dół o 17:00) - automatyczne logowanie każdej komendy w bazie danych z potwierdzeniem ACK od urządzenia.
Jednorazowy wkład - dożywotni efekt na flocie urządzeń
Dzięki OTA każda poprawa firmware trafia na wszystkie wdrożone urządzenia automatycznie. Startup może rozwijać produkt po sprzedaży - bez serwisu, bez fizycznego dostępu, bez kosztów wymiany sprzętu.
Zainteresowany?
Masz gotowy hardware i potrzebujesz aplikacji mobilnej lub firmware? Porozmawiajmy - zbuduję kompletny ekosystem IoT.
Wolisz porozmawiać?
//Kluczowe funkcje
- Aplikacja iOS + Android
- Dual-transport: MQTT over WebSocket (podstawowa ścieżka) + BLE (fallback), automatyczne przełączanie.
- 3 przyciski sterowania z animacjami i haptic feedback.
- Wieloetapowy provisioning wizard przez BLE - skan, wybór WiFi, rejestracja w bazie danych
- OTA firmware update przez MQTT: URL + SHA256, płytka pobiera binkę samodzielnie.
- Harmonogramy automatyzacji - CRUD z logowaniem komend i ACK od urządzenia.
- Audit trail: każda komenda z flagą processed, timestampem i statusem.
- Custom toast stack - animowany system powiadomień ze stackowaniem.
- Tryb jasny/ciemny/systemowy, interfejs PL/EN.
- Firmware płytki - napisany przeze mnie, obsługa MQTT, BLE, WiFi provisioning, OTA.
//Przed i po
| Obszar | Przed | Po |
|---|---|---|
| Sterowanie podnośnikiem | Brak - sprzęt bez warstwy software | Aplikacja iOS + Android z 3 przyciskami i animacjami |
| Pierwsze uruchomienie | Brak możliwości konfiguracji przez klienta | Provisioning wizard przez BLE w kilka minut |
| Aktualizacje firmware | Wymagałyby fizycznego dostępu do każdego urządzenia | OTA przez MQTT - automatycznie na całą flotę |
| Niezawodność połączenia | Brak - jedno zerwane WiFi = brak sterowania | Auto-fallback na BLE gdy MQTT offline |
| Historia i monitoring | Brak - brak wglądu w użycie urządzeń | Audit trail komend, heartbeaty, logi w bazie |
LegsGO to projekt, który pokazuje, że dobry produkt IoT to nie tylko hardware. Aplikacja mobilna, firmware i infrastruktura muszą być zaprojektowane razem - żeby parowanie było proste, komunikacja niezawodna, a aktualizacje firmware trafiały na urządzenia w terenie bez żadnego wysiłku. Całość zbudowana przeze mnie od zera: kod aplikacji, kod na płytkę i pipeline OTA.
Zainteresowany?
Masz gotowy hardware i potrzebujesz aplikacji mobilnej lub firmware? Porozmawiajmy - zbuduję kompletny ekosystem IoT.
Wolisz porozmawiać?