Spisu treści:
- Krok 1: Lista komponentów
- Krok 2: Przygotowanie kamery
- Krok 3: Przygotowanie kompatybilnego Arduino M0-SD
- Krok 4: Przygotowanie 3G/GPRS/GSM/GPS Shield SIM5320
- Krok 5: Montaż sprzętu
- Krok 6: Ustawienie brokera MQTT
- Krok 7: Aplikacja MQTT Dash
- Krok 8: Programowanie i praca
Wideo: Zdalne sterowanie i nadzór zdjęć przez MQTT: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Dzień dobry.
Dziś chciałbym opowiedzieć o tym, jak wykonać system zdalnego sterowania i monitoringu, który można wykorzystać np. do sterowania bramami garażowymi, oświetleniem, ogrzewaniem, regulacją ciśnienia, temperaturą i wieloma innymi parametrami. Ale główną cechą tego systemu jest to, że możesz zdalnie odbierać zdjęcia z odległego obiektu. Zanim zaczniesz opowieść, krótka przedmowa. Kiedyś chciałem zrobić system nadzoru fotograficznego przy użyciu kompatybilnej płytki Arduino M0-SD, kamery VC0706 i nakładki 3G/GPRS/GSM/GPS dla Arduino. Płytka kompatybilna z Arduino M0-SD została wybrana z warunków, że jest bardzo łatwa do zaprogramowania (podobnie jak Arduino UNO), napięcie pracy to 3,3V - jest to bardzo wygodne do pracy z kamerą VC0706, duża ilość pamięci ROM i RAM, kilka portów UART, osobny wirtualny port USB, ale główną zaletą jest obecność złącza micro SD bezpośrednio na płytce (bardzo wygodne jest przechowywanie dużych ilości danych, np. obrazów).
Osłona 3G/GPRS/GSM/GPS dla Arduino jest bardzo wygodna w użyciu z kompatybilną płytką Arduino M0-SD. W Internecie jest kilka bibliotek, a także wiele przykładów pracy z tą tarczą. Szybkość przesyłania danych (3G) jest znacznie wyższa niż w przypadku konwencjonalnych osłon GPRS (szczególnie wygodnych do przesyłania obrazów). Dodatkowym atutem jest dostępność modułu GPS.
Wybrałem tanią taryfę od operatora komórkowego do transmisji danych (zdjęć) przez Internet. Pojawiło się jednak pytanie: jak przenieść dane? MMS-y? FTP? Jak otrzymać powiadomienie o otrzymaniu danych (zdjęcie)? W rezultacie podjąłem decyzję o przesyłaniu danych (zdjęć) na e-mail i przeglądaniu pism poprzez aplikację zainstalowaną na telefonie komórkowym. Okazało się to bardzo wygodne!:-) Gotowy projekt można obejrzeć pod tym linkiem.
Istnieje również podobny projekt dla Arduino UNO przez odniesienie.
Wtedy postanowiłem rozszerzyć funkcjonalność mojego urządzenia. Na przykład dodaj możliwość sterowania diodami LED (choć w rzeczywistości możliwości są znacznie szersze). E-mail do tego nie jest zbyt odpowiedni. Opcja SMS jest droga i niewygodna. A potem dowiedziałem się o MQTT. Nie będę opisywał kim on jest. Powiem tylko: to naprawdę fajna rzecz!:-) Za pomocą MQTT możesz wymieniać nie tylko wiadomości, ale także pliki binarne (obrazy). W aplikacji na telefon z łatwością stworzysz własny interfejs.
Szukałem przykładów implementacji protokołu MQTT dla mojej tarczy 3G/GPRS/GSM/GPS (SIM5320) i niestety nie znalazłem potrzebnej implementacji. Ale to nie zostawiło mnie w spokoju. Postanowiłem samodzielnie wdrożyć niezbędną funkcjonalność. W efekcie udało mi się stworzyć urządzenie, które jest sterowane (wskazywane przez trzy diody) przez MQTT z aplikacji zainstalowanej na telefonie komórkowym, a także wysyła zdjęcie na telefon na polecenie z telefonu. (Zdradzę Wam sekret, że nie widziałem wcześniej żadnych przykładów wysyłania zdjęć przez brokera MQTT i zrobiłem to po raz pierwszy. A jak udało mi się przesłać pierwsze zdjęcie, byłem niezmiernie szczęśliwy!:-)) I proponuję więc przejść od razu do pierwszego kroku - listy niezbędnych komponentów.
Krok 1: Lista komponentów
Potrzebujemy kolejnych komponentów:
1) Kompatybilny z Arduino M0-SD.
2) Kamera TTL VC0706.
3) Osłona 3G/GPRS/GSM/GPS dla Arduino.
4) Czerwone, zielone, żółte diody LED, 3 rezystory (100-500 Ohm), przewody, złącze kątowe w rastrze 2,54 mm.
5) zasilacz AC-DC (6V 1A), antena 3G itp.
Krok 2: Przygotowanie kamery
Kamera posiada wyjście RS-232 do bezpośredniego podłączenia do komputera. Konieczne jest wyjęcie MAX232 (konwerter RS-232) i zamknięcie styków pomiędzy odpowiednimi pinami 7-10 (TX), 8-9 (RX).
Sześciożyłowy kabel dostarczony z aparatem musi zostać nieco przerobiony:
- Usuń dwa przewody ze złącza.
- Zmień ułożenie przewodów czerwony (+5V) i czarny (GND), jak pokazano na rysunku.
Na gołych końcach przewodów muszą być przylutowane końcówki typu „żeńskie”.
Krok 3: Przygotowanie kompatybilnego Arduino M0-SD
Jak już wspomniano, kompatybilny Arduino M0-SD jest sprzętowo i programowo kompatybilny z oryginalnym Arduino M0, ale posiada również wbudowane złącze microSD do podłączenia karty pamięci.
Aby podłączyć kamerę do kompatybilnego Arduino M0-SD na płytce należy przylutować złącze kątowe do zacisków TXD, RXD (złącze X6) jak pokazano na rysunku. Ten port pasuje do "Serial".
Przewody biały (Camera RX) i żółty (Camera TX) z kamery muszą być podłączone odpowiednio do zacisków TXD i RXD (złącze X6), jak pokazano na rysunku.
Krok 4: Przygotowanie 3G/GPRS/GSM/GPS Shield SIM5320
Przed zainstalowaniem karty SIM w gnieździe należy wyłączyć żądanie kodu PIN. Następnie zainstaluj kartę SIM w gnieździe na spodzie płytki jak pokazano na rysunku. Dwie zworki muszą być zainstalowane w pozycji RX-1 (D1), TX-0 (D0).
Krok 5: Montaż sprzętu
Montaż sprzętu składa się z kilku prostych operacji:
- Aby sterować diodami LED, musisz najpierw przylutować małą konstrukcję diod LED i rezystory ograniczające prąd (100-500 Ohm), jak pokazano na rysunku. Zwróć uwagę na polaryzację diod - anodę należy przylutować do rezystorów (+). Aby zmniejszyć pasożytniczą ekspozycję diod LED, wykonałem czarny ekran ze zwykłego kartonu.
- Podłącz diody LED i kamerę do kompatybilnej płytki Arduino M0-SD, jak pokazano na schemacie. Zasilanie kamery (czerwony przewód „+5V” i czarny przewód „GND”) należy pobrać z zacisków „+5V” i „GND” z gniazda. Możesz również użyć do tego łącznika kątowego.
- Następnie podłącz nakładkę 3G/GPRS/GSM/GPS do kompatybilnej płyty Arduino M0-SD. Nie zapomnij podłączyć anteny 3G.
Krok 6: Ustawienie brokera MQTT
Jako brokera MQTT wybrałem bardzo wygodny i przejrzysty serwis www.cloudmqtt.com. Zapewnia bezpłatne testowanie. Możliwe jest również odbieranie i wysyłanie wiadomości bezpośrednio na stronie.
Procedura konfiguracji wygląda następująco:
- Zarejestrować online.
- Naciśnij przycisk "Utwórz nową instancję".
- Ustaw nazwę, na przykład „MqttCamera”.
- Naciśnij przycisk "Wybierz region". Na przykład wybierz „USA-Wschód-1 (Północna Wirginia)”.
- Naciśnij przycisk "Przegląd".
- Naciśnij przycisk „Utwórz instancję”. Wyświetl wiadomość „Instancja pomyślnie utworzona”.
- Kliknij „MqttCamera”.
- Zapamiętaj informacje: Serwer, Użytkownik, Hasło, Port, Klucz API (będziemy go potrzebować w 7 i 8 kroku).
- Następnie możesz przejść do okna "WEBSOCKET UI", gdzie możesz testować i debugować, przeglądać i wysyłać wiadomości (będziemy potrzebować tego okna w następnym kroku).
Krok 7: Aplikacja MQTT Dash
Aby stworzyć panel sterowania w telefonie komórkowym, wybrałem bardzo przyjazną i przejrzystą aplikację MQTT Dash.
Zainstaluj aplikację MQTT Dash na swoim telefonie i dokonaj następujących ustawień:
- Otwórz aplikację.
- W oknie kreski MQTT kliknij (+), aby dodać nowy panel sterowania.
- W wyświetlonym oknie wypełnij wymagane pola, takie jak: Nazwa (na przykład MqttCamera), Adres, Port, Nazwa użytkownika, Hasło użytkownika (Pobierz dane z kroku 6).
- Po wypełnieniu pól kliknij ikonę dyskietki (operacja „Zapisz”).
- W oknie z listą paneli kontrolnych kliknij na wyświetlony wiersz " MqttCamera ".
- W otwartym oknie panelu sterowania kliknij ikonę strzałki, aby załadować dane.
- Następnie w wyskakującym okienku kliknij przycisk „SUBSKRYBUJ I CZEKAJ NA METRYKĘ”.
- Na komputerze osobistym otwórz konto u brokera MQTT (patrz poprzedni krok), otwórz okno „WEBSOCKET UI”, ustaw temat „metryki/wymiana” w oknie „Wyślij wiadomość” i zapisz tekst z załączony plik metrics.txt w oknie „Wiadomość” kliknij przycisk „Wyślij”.
- Odczekaj 10 sekund, upewnij się, że metryka została odebrana w telefonie, a panel sterowania został zaktualizowany.
Następnie można przystąpić do programowania kompatybilnego Arduino M0-SD.
Krok 8: Programowanie i praca
Przed zaprogramowaniem zgodnego Arduino M0-SD należy zainstalować na komputerze wszystkie potrzebne biblioteki (pubsubclient-master, TinyGSM-master), które przytoczyłem poniżej. Biblioteki te zostały nieco zmodyfikowane do pracy z kompatybilną płytką Arduino M0-SD, kamerą VC0706 i nakładką 3G/GPRS/GSM/GPS SIM5320.
Musisz podłączyć kabel i zasilacz (6V 1A do zasilania ekranu 3G/GPRS/GSM/GPS) do kompatybilnego Arduino M0-SD.
Uruchom środowisko Arduino IDE. W Arduino IDE należy wybrać: Narzędzia->Płytka: Arduino M0 Pro (Native USB Port).
Otwórz szkic MqttCamera.ino. Wypełnij pola: Nazwa użytkownika, Hasło użytkownika, Klucz API, Port, Serwer (Pobierz dane z kroku 6).
Otwórz okno monitora szeregowego.
Prześlij szkic. Nie opisuję szczegółowo procedury programowania (w internecie jest wystarczająco dużo instrukcji).
Po pomyślnym załadowaniu i prawidłowym montażu w oknie Serial Monitor powinny pojawić się następujące informacje:
Kamera VC0706 + Arduino M0 + SIM5320 + MQTT
Camera init… wersja: ----------------- VC0703 1.00 Ctrl infr istnieje Czujnik zdefiniowany przez użytkownika 525 ----------------- sukces ! Inicjowanie modemu… Modem: AT+CGMM SIMCOM_SIM5320E Oczekiwanie na sieć… OK Łączenie z internetem OK Łączenie z 3.83.68.228 nieudane Łączenie z 3.83.68.228 OK Ping: 0
Wiersz "Ping:XX" to okresowa wiadomość od kompatybilnego Arduino M0-SD do serwera. Zamiast tych informacji możesz wysyłać pomiary ADC, stan wejść i inne.
W aplikacji MQTT Dash kliknij ikony żarówek (LED_YELLOW, LED_GREEN, LED_RED) - włącz/wyłącz. Spójrz w okno monitora szeregowego - powinna pojawić się informacja o czymś takim:
LED_ŻÓŁTA Włączona
LED_YELLOW_Off LED_GREEN On LED_GREEN wyłączony LED_RED On LED_RED Off
Kliknij ikonę aparatu - wyślij polecenie „SHOOT” i poczekaj chwilę. W oknie Monitora szeregowego powinny pojawić się następujące informacje:
Zacznij strzelać!
Zdjęcie zrobione! utwórz IMAGE332-j.webp
A po chwili (5-10 sekund) w oknie „ZOBACZ OBRAZ” powinno wyświetlić się zdjęcie.
Na demonstrację skierowałem kamerę VC0706 na diody LED, aby można było zobaczyć ich stan po ich przełączeniu w dowolny sposób. Ale w praktyce można skierować kamerę na pomieszczenie, drzwi, ulicę, bramę, samochód itp. (Oczywiście trzeba się liczyć z wymogami prawa). Jako demonstrację przedstawiam kilka zrzutów ekranu z telefon komórkowy, na którym wyświetlane są zainstalowane i aktualne stany diod LED.
Mam nadzieję, że moja instrukcja była dla Ciebie interesująca i przydatna. Cieszę się z Waszych opinii i komentarzy. W moich planach rozwijania mojego urządzenia i dzielenia się z Wami nowymi innowacjami. Dzięki za oglądanie!
Zalecana:
Zdalne sterowanie oparte na przeglądarce Arduino (linux): 9 kroków (ze zdjęciami)
Zdalne sterowanie oparte na przeglądarce Arduino (linux): Mamy dzieci. Kocham je do kawałków, ale gdy włączają kanały dla dzieci, ukrywają pilota do satelity i telewizora. Po tym wydarzeniu codziennie przez kilka lat i po tym, jak moja kochana żona pozwoliła mi mieć
SONOFF Podwójny samouczek: Zdalne sterowanie urządzeniami elektrycznymi za pomocą MQTT i Ubidots: 4 kroki
SONOFF Podwójny samouczek: Zdalne sterowanie urządzeniami elektrycznymi za pomocą MQTT i Ubidots: Ten przekaźnik Wi-Fi o wartości 9 USD może sterować dwoma urządzeniami jednocześnie. Dowiedz się, jak podłączyć go do Ubidots i uwolnić jego pełny potencjał! W tym przewodniku dowiesz się, jak kontrolować kilka urządzeń 110 V przez Wi-Fi za 9 USD, używając SONOFF Dual firmy Itead
Arduino: Programy czasowe i zdalne sterowanie z aplikacji na Androida: 7 kroków (ze zdjęciami)
Arduino: Programy czasowe i zdalne sterowanie z aplikacji na Androida: Zawsze zastanawiałem się, co dzieje się z tymi wszystkimi płytkami Arduino, których ludzie nie potrzebują po zakończeniu swoich fajnych projektów. Prawda jest nieco denerwująca: nic. Zaobserwowałem to w domu mojej rodziny, gdzie mój ojciec próbował zbudować własny dom
ESP8266 TAŚMA LED RGB Sterowanie WIFI - NODEMCU jako pilot na podczerwień do taśmy Led kontrolowanej przez Wifi - TAŚMA LED RGB Sterowanie smartfonem: 4 kroki
ESP8266 TAŚMA LED RGB Sterowanie WIFI | NODEMCU jako pilot na podczerwień do taśmy Led kontrolowanej przez Wifi | Sterowanie smartfonem z taśmą LED RGB: Cześć, w tym samouczku dowiemy się, jak używać nodemcu lub esp8266 jako pilota na podczerwień do sterowania taśmą RGB LED, a Nodemcu będzie kontrolowane przez smartfon przez Wi-Fi. Więc w zasadzie możesz sterować TAŚMĄ LED RGB za pomocą smartfona
Arduino IDE z dwurdzeniowym procesorem: zdalne sterowanie: 8 kroków
Arduino IDE z dwurdzeniowym procesorem: zdalne sterowanie: ten film dotyczy „multi”. Mamy do czynienia z wielozadaniowością, wielordzeniami i multiklientami. Jakiś czas temu zrobiłem pilota z dwoma ESP: klientem i punktem dostępowym. Na tej podstawie dzisiaj skonfigurujemy serwer multiclient. Oznacza to, że