Spisu treści:

Otwieracz drzwi garażowych iPhone i Arduino: 8 kroków
Otwieracz drzwi garażowych iPhone i Arduino: 8 kroków

Wideo: Otwieracz drzwi garażowych iPhone i Arduino: 8 kroków

Wideo: Otwieracz drzwi garażowych iPhone i Arduino: 8 kroków
Wideo: Darcy otwiera sam furtkę :) 2024, Lipiec
Anonim
Otwieracz drzwi garażowych iPhone i Arduino
Otwieracz drzwi garażowych iPhone i Arduino

Często podążam za wieloma technicznymi instrukcjami i zawsze jestem zdumiony rzeczami, które ludzie wymyślają. Jakiś czas temu znalazłem instrukcję na temat otwierania drzwi garażowych Wi-Fi, które uważałem za naprawdę fajne i dodałem go do mojej niekończącej się listy zadań do zrobienia. Przewiń do teraźniejszości, a ja wciąż nie zabrałem się za projekt. Ale urodziłam dziecko (cóż, moja żona miała, nie ja). Moi teściowie byli na tyle łaskawi, że zaoferowali mi 5-dniową opiekę w moim domu (tak, jestem rozpieszczony), ale błagali mnie, abym dał im zatrzask do drzwi garażowych, aby mogli go zatrzymać w samochodzie, zamiast używać temperamentnej klawiatury na zewnątrz garażu. Tak więc pojawiły się przede mną dwie opcje. Poświęć pięć minut na przeprogramowanie pilota do mojego garażu. Albo poświęć kilka tygodni, aby w końcu pracować nad moim projektem otwierania drzwi garażowych. I tak narodziło się bingo-bango, mój instruktaż.

Wróciłem do oryginalnego wpisu i podobało mi się wiele funkcji sprzętowych, z których korzystał autor, ale oprogramowanie nie jest dokładnie tym, czego chciałem. Tak więc rozwiązanie, którego pragnąłem, musiało mieć następujące cechy:

  • Nie wymagałem hasła
  • Powinien działać tylko po podłączeniu do mojej domowej sieci LAN
  • Niestandardowa aplikacja na moim iPhonie do kontrolowania
  • Użyj Arduino z osłoną Ethernet lub Wi-Fi
  • Spraw, by to był dowód na teściów

Krok 1: Czego potrzebujesz

Czego potrzebujesz
Czego potrzebujesz
Czego potrzebujesz
Czego potrzebujesz
Czego potrzebujesz
Czego potrzebujesz

„loading = "leniwy" mój kod napisany i przesłany zarówno do Arduino, jak i do iPhone'a, nadszedł czas na debugowanie. Ponieważ nie miałem jeszcze wszystkiego podłączonego do garażu, chciałem jakoś naśladować jego zachowanie..

Wziąłem dwie czerwone i dwie zielone diody podpięte, jak pokazano na wcześniejszym zdjęciu. Jeden zestaw zielony i czerwony będzie reprezentował lewe drzwi, a drugi zestaw prawych drzwi. Jeśli którekolwiek drzwi były zamknięte, zielone światło migałoby bez przerwy. W przeciwnym razie, gdyby którekolwiek drzwi były otwarte, czerwone światło mrugałoby. Wybrałem stan początkowy drzwi do zamknięcia (zielone migające światła), ponieważ kiedy po raz pierwszy podłączam Arduino do otwieracza, upewnię się, że drzwi są zamknięte.

Aby zobaczyć, jak to działa, obejrzyj krótki (kiepska rozdzielczość – przepraszam!) filmik w akcji. Voila! Działa do tej pory!

Krok 7: Podłączanie

Ponieważ moja drukarka 3D jest serwisowana, nie miałem jeszcze okazji wydrukować obudowy. Poprzednia instrukcja, na której oparłem ten, ma pliki.stl dostępne do pobrania. (Uwaga: jeśli planujesz używać plików.stl, jednostki są w cm, po korespondencji z autorem. Musiałem przeskalować moje pliki.stl o współczynnik 10, ponieważ moja drukarka działa w jednostkach mm). Będę musiał zmodyfikować projekt, ponieważ mam dwoje drzwi i dlatego potrzebuję dwóch przekaźników. Ale ponieważ jestem chętny, aby wszystko połączyć, zacząłem montować elektronikę na kawałku drewna, który leżałem. Tak więc nie będę prezentował absolutnie skończonego produktu w tej instrukcji.

Po zamontowaniu elektroniki do kawałka drewna, którą miałem, łatwo było znaleźć dla niej tymczasowe miejsce na ścianie. Na zdjęciach widać trochę plątaniny przewodów biegnących od routera do Arduino, Arduino do przekaźnika i wreszcie przekaźnika do przycisków drzwi garażowych. Kiedy odpiąłem właściwy przycisk i odkręciłem obudowę od ściany, były tylko dwa zaciski przewodów. Tak więc, podobnie jak instrukcja, na której opierałem swoją, możesz podpiąć przewody od przekaźnika w dowolnej kolejności do zacisków na przycisku drzwi.

Po tym cała konfiguracja magicznie zadziałała za pierwszym razem! Przepraszamy, że nie opublikowałem filmu. Musiałem go tymczasowo wyłączyć, zanim mogłem nagrać film, w którym działa, ale przysięgam, że tak!

Krok 8: Końcowe myśli

Po zabawie z tym trochę zauważyłem pewne problemy, o których wspomnę poniżej. Są to dość ważne, więc rozważ je przed podjęciem decyzji o duplikowaniu tego projektu.

  • Wystąpiło pewne niespójne opóźnienie między naciśnięciem przycisku na iPhonie a reakcją drzwi garażowych. Może to być błąd oprogramowania lub implementacji, ale wciąż go badam.
  • Duży problem: po załadowaniu aplikacji do aplikacji na iPhone'a zauważyłem, że po kilku dniach, gdy próbowałem otworzyć aplikację, zamiast tego po prostu wracała ona do ekranu głównego. To było konsekwentne zachowanie. Po zmęczeniu mózgu przez chwilę, w końcu się zepsułem i wysłałem pytanie o stackoverflow. Pewna odpowiedź wydawała się poprawna: Imperium zła, którym stało się Apple, zdecydowało, że jeśli nie jesteś programistą, to certyfikat zaufania, który otrzymujesz od Xcode dla nowo opracowanej aplikacji, jest ważny tylko przez 1 tydzień. Następnie nie będzie działać na Twoim iPhonie, chyba że go ponownie zainstalujesz (i zresetuje odliczanie 1 tygodnia) lub zapłacisz 99 USD opłaty za dłuższy certyfikat. Uznałem to za całkowicie przygnębiające. Prawie jakbym marnował swój czas. Ale jeśli jesteś programistą, nie będzie to dla ciebie problemem.
  • Jedną z myśli, która mi się przyszło, było to, że jeśli ktoś ręcznie naciśnie przycisk bramy garażowej, to zdarzenie nie jest rejestrowane w kodzie Arduino. W przypadku Arduino stan drzwi pozostaje niezmieniony przed naciśnięciem przycisku. Dodatkowo, jeśli ktoś stał pod drzwiami, gdy inna osoba korzystała z aplikacji, aby je zamknąć. Czujniki drzwi wymuszą ponowne podniesienie drzwi, a to zdarzenie również nie jest rejestrowane w kodzie Arduino. Nie trzeba dodawać, że jest to kolejny punkt do ustalenia.

Więc dziękuję za wyrozumiałość i jeszcze raz przepraszam za niektóre buggy zachowanie. Daj mi znać, jeśli masz pytania!

Zalecana: