Witam. Mam pytanie do specjalistów.
Szukam rozwiązania, które pozwoli na generowanie (może być ręczne) linków, którym zostanie nadany okres ważności. Chodzi o to, żeby użytkownik otrzymywał link, w którego kliknięcie spowoduje załączenie przełącznika sonoff. Ważne jednak, żeby link tracił ważność (przestał działać) po upływie zadanego czasu. Z góry dziękuję za pomoc. Pozdrawiam
@piotrdrogosz na fabrycznym firmware raczej nie dasz rady tego ogarnąć, Własny serwer + soft z nim współpracujący pozwoli to osiągnąć na kilka sposobów . Jeden to utworzenie użytkownika z dostępem do urządzenia a po czasie zabranie mu praw do tego urządzenia , drugi sposób to scenariusz czasowy gdzie ustalasz w jakim okresie czasu dany przełącznik może być aktywowany.
Wszystko zależy od tego, czemu ma to służyć, jeśli chcesz dać uprawnienia gościom na czas pobytu to wersja 1 jest znacznie lepszym rozwiązaniem
@piotrdrogosz, to ja może dodam trochę pytań, bo potrzeba (bardzo ogólnie) jest jasna, ale poziom jej złożoności jest dość spory w zależności od szczegółów
- czy ma działać poza wewnętrzną siecią LAN
- ile maksymalnie takich unikalnych linków ma obsługiwać w danym momencie
- jak ma działać taki proces wysyłania takich linków do użytkowników
- Jak długo może być ważny taki link
- Jak sonoff jest "włączony" to odpalenie takiego linku traci ważność, czy nie?
- Jak sonoff ma być "wyłączany"
- Jeśli zły link zostanie wprowadzony, jaka ma być odpowiedź
Na 100%, jak napisał @isom tego nie zrealizuje się na oryginalnym oprogramowaniu, a ile dodatkowych technologii oprócz "custom" firmware trzeba użyć to w zależności od odpowiedzi na te pierwsze pytania
pzdr.adrian
Bardzo dziękuję @isom i @adrian za odpowiedź.
@isom masz rację, że rozwiązanie dotyczy obsługi gości, ale z tych przyczyn tworzenie użytkownika wydaje się trochę kłopotliwe. Chyba, że mamy na myśli coś innego. Jak rozumiem utworzenie użytkownika może wymagać założenia konta, i - co byłoby istotnym ograniczeniem - posiadania aplikacji przez użytkownika - gościa.
Zamysł zasadza się na tym, żeby gość otrzymał link (mail/sms), który będzie miał określoną ważność. Czasami będzie to na czas całego pobytu - np. dostęp do mieszania. Innym razem będzie to dostęp do wypożyczalni roweru (lub innego urządzenia).
Dlatego, przechodząc do pytań @adrian
- czy ma działać poza wewnętrzną siecią LAN - tak jest.
- ile maksymalnie takich unikalnych linków ma obsługiwać w danym momencie - do 20-30
- jak ma działać taki proces wysyłania takich linków do użytkowników - na początek "ręcznie". W przypadku gdyby system zadziałał to na poziomie serwisu będzie można stworzyć "generator".
- Jak długo może być ważny taki link - od 12 godzin (dla gościa, który wynajmuje sprzęt) do 2 tygodni (na czas pobytu)
- Jak sonoff jest "włączony" to odpalenie takiego linku traci ważność, czy nie? - nie
- Jak sonoff ma być "wyłączany" - chyba nie rozumiem pytania. Generalnie użycie linku ma aktywować puszczenie sygnału na 1-3 sekundy.
- Jeśli zły link zostanie wprowadzony, jaka ma być odpowiedź - to zależy chyba jak bardzo będzie to zły link. Ale zakładam, że gdyby działo się to w ramach tej samej domeny to zwykły komunikat, typu: "upss, Twój link jest nieprawidłowy, skontaktuj się .... etc.
Podsumowując zależy mi, żeby obsłużyć to na sonoff. Używamy tego w kilku miejscach (przy innej funkcjonalności) i chyba jako jedyne rozwiązanie nie przyniosło żadnych problemów.
pozdrawiam
pd
Ja bym zrobił coś w php na serwerze (VPS):
Będę się opierał na Tasmocie, bo znam.
Na serwerze mamy serwer www Apache i serwer MQTT.
Sonoffy z Tasmotą, połączone z serwerem MQTT (obowiązkowe szyfrowanie transmisji).
W panelu administratora w przeglądarce napisany w php generator linków https z czasem działania.
Linki i ich data ważności zapisywane są w bazie mySQL.
Serwer www obsługuje linki (sprawdza, czy prawidłowy i czy nie wygasł). Gdy jest prawidłowy wyświetla komunikat o poprawnym linku i publikuje do odpowiedniego topicu MQTT, co włącza/wyłącza odpowiedniego Sonoffa. W przypadku nieprawidłowego linku wyświetla się, że wygasł lub jest nieprawidłowy.
Wygasłe linki usuwane są z bazy po np. 7 dniach od wygaśniecia.
Koszt działania VPS to ok 20-30zł/mc i jesteśmy niezależni od Chińczyków 🙂
Można też to zrobić na hostingu, tylko wtedy trzeba korzytać z serwera MQTT innego dostawcy, co komplikuje sprawę.
Mając bramkę SMS z API można od razu wysyłać linki SMSem do klienta po ich wygenerowaniu.