Spisu treści:

Zautomatyzowane odcienie systemu Windows: 6 kroków (ze zdjęciami)
Zautomatyzowane odcienie systemu Windows: 6 kroków (ze zdjęciami)

Wideo: Zautomatyzowane odcienie systemu Windows: 6 kroków (ze zdjęciami)

Wideo: Zautomatyzowane odcienie systemu Windows: 6 kroków (ze zdjęciami)
Wideo: Jak przejść na Windows 10 z Win 7 lub 8.1? 😃 [Darmowa aktualizacja bez klucza czy utraty danych] 2024, Lipiec
Anonim
Image
Image
Zautomatyzowane odcienie systemu Windows
Zautomatyzowane odcienie systemu Windows
Zautomatyzowane odcienie systemu Windows
Zautomatyzowane odcienie systemu Windows

Słowo do przodu

Widziałem wiele samouczków o tym, jak zautomatyzować ręczne rolety i rolety, no cóż, w tym zautomatyzujemy rolety elektryczne. Omówimy rolety elektryczne zasilane przez silniki elektryczne na prąd stały (DC), które otwierają się lub zamykają, odwracając polaryzację prądu.

Chociaż kupując rolety elektryczne dostaniesz trochę automatyki, istnieją powody, aby wykonać automatykę samodzielnie, np.:

* możesz mieć tylko przełącznik obok nich do sterowania góra/dół

* jest taniej (niektóre firmy oferują zaawansowaną automatyzację za dużo dodatkowych $$)

* bardziej elastyczne, można je zaprogramować tak, aby otwierały się lub zamykały w różnych okolicznościach, dowiemy się o tworzeniu serwera WWW w pythonie, który będzie łączył się z interfejsem bluetooth odcieni i udostępnia API do sterowania odcieniami, będziemy również integrować to z rzeczami i tam możesz robić takie rzeczy, jak sterowanie roletami według harmonogramu lub sterowanie za pomocą wejścia czujnika

Będzie to samouczek średniozaawansowany, będziesz potrzebować umiejętności takich jak lutowanie, programowanie arduino, podstawowa znajomość elektroniki i trochę jak instalować usługi na serwerze, uruchamiać je i konfigurować.

Jeśli podobały Ci się filmy z YouTube, możesz zasubskrybować tutaj.

Krok 1: Rzeczy wymagane

Rzeczy wymagane
Rzeczy wymagane
Rzeczy wymagane
Rzeczy wymagane

Wskazówka: powiększ zdjęcia, aby wyświetlić na nich opisowe etykiety

Części:

1. arduino pro mini 16Mhz 5V typu (eBay) 2$

2. Moduł bluetooth HC-05 (eBay) 3,3 $

3. Przekaźniki dwukanałowe 5 V (eBay) 1,6 $

4. Tranzystor NPN, który jest oceniany na co najmniej kilka amperów, użyłem Tip142T <1 $

5. 220 omów, rezystor 0,25 W <1 $

6. dioda, 1N4004 <1 $

7. przewody do podłączenia części <1 $

8. PCB (eBay) <1 $ za sztukę

9. 2 x KF301-2P wtykowe złącze śrubowe (eBay) <1 $ za sztukę

10. Przewody połączeniowe męsko-żeńskie (eBay) 1,2$ x 2 za pęczek

11. Regulator L7805CV 5 V (eBay) <1 $ za sztukę

12. Gniazdo jack męskie i żeńskie 5,5 mm DC (eBay) <1 $ za sztukę!

13. Rurki termokurczliwe lub taśma izolacyjna

14. Zasilanie, zasilanie musi mieć napięcie 12V i 2-3A.

Uratowałem moją z ładowarki 12 V 2 A (eBay) 3,2 $

14. Listwa zaciskowa (eBay) 15c

15. uchwyt bezpiecznika (Aliexpress) 1 $ za sztukę!

16. bezpiecznik (eBay) <1 $ za sztukę

17. męskie i żeńskie złącza pcb (eBay) <1 $ za to, czego potrzebujemy

18. Kabel zasilający AC

19. obudowa z plastikowego pudełka, moja miała 6 x 19 cm

Narzędzia:

1. Lutownica z lutownicą

2. Przecinak do drutu

3. Różne śrubokręty

4. Przecinak

5. wiertarka elektryczna i wiertło 8,5 mm

6. Adapter USB na szeregowy FTDI FT232RL do programowania arduino pro mini

7. Laptop z zainstalowanym ArduinoIDE do programowania arduino

8. Zapalniczka, jeśli używasz rurek termokurczliwych

9. Smartfon obsługujący połączenie bluetooth (w przykładzie używam androida) z zainstalowanym oprogramowaniem bluetooth

10. Opcjonalnie: szkło powiększające, multimetr, szczypce

Krok 2: Przygotowania

Przygotowania
Przygotowania
Przygotowania
Przygotowania
Przygotowania
Przygotowania

Wybór zasilacza i plastikowego pudełka

Pierwszą rzeczą jest ustalenie, ile prądu i jakie napięcie mają silniki żaluzji.

Można to zrobić czytając specyfikacje lub wykonując pomiary za pomocą multimetru. Zwykle działają 12 V i 1-3 A (moje to 2,5 A i 12 V). Pomnóż prąd przez ile z nich potrzebujesz jeździć jednocześnie (jeżdżę dwoma), aby znaleźć maksymalny potrzebny prąd. Powinieneś znaleźć zasilacz o dokładnie takim samym napięciu i najlepiej takim samym natężeniu lub nieco wyższym.

Na tym etapie trochę oszukałem, używając zasilacza 12 V i 2,5 A do napędzania dwóch silników 12 V i 2,5 A, co oznacza, że silniki zużywają dwa razy więcej mocy niż może dać zasilacz. Ale używając techniki zwanej PWM (sprawdź link, aby zobaczyć więcej szczegółów), udało mi się jednocześnie napędzać silnik z niższą prędkością.

Powodem, dla którego to zrobiłem, jest zaoszczędzenie miejsca w pudełku (wybrałem mniejsze pudełko).

Plastikowa obudowa będzie musiała pomieścić zasilacz, dwa przekaźniki, małą płytkę drukowaną z elektroniką i przewodami, więc dobierz rozmiar tak, aby wszystko się zmieściło.

Mój zasilacz miał plastikową obudowę, którą rozerwałem dremelem, przeciąłem istniejące przewody iw ten sposób otrzymałem tani i mały zasilacz pasujący do mojego projektu (patrz zdjęcia).

Przygotuj kable silnika

Musisz obliczyć, jak długie będą kable silnika, czyli do momentu, gdy dotrą do skrzynki kontrolnej, którą budujemy. Możliwe, że istniejące kable nie są wystarczająco długie i będziesz musiał je przedłużyć, zdjąć oba przewody (istniejący kabel ostrzowy i przedłużacze) na jednym końcu, założyć rurki termokurczliwe, przylutować przewody, a następnie podgrzać za pomocą lżejsze do zaizolowania.

Na końcu przedłużacza znajduje się męskie gniazdo wtykowe typu jack o średnicy 5,5 mm. Trzeba przylutować dwa przewody do gniazda, efekt końcowy będzie taki jak na zdjęciach.

Wkładanie żeńskiej wtyczki 5,5 mm DC Power Plug do pudełka

Za pomocą wiertarki wywierć dwa otwory wystarczająco duże, aby podnośnik mógł się przez nie przesunąć. Włóż gniazda wtykowe, przykręć za pomocą nakrętek. Następnie przylutuj grube czarne i czerwone przewody do każdego z wejść jack, a następnie zaizoluj je rurką termokurczliwą. Przewody powinny być wystarczająco długie, aby łatwo wchodzić do listwy zaciskowej, ale nie za długie, aby zajmowały zbyt dużo miejsca.

Mocowanie uchwytu bezpiecznika za pomocą bezpiecznika

Z jednej strony skrzynki wywierć mały otwór, aby umieścić małą nakrętkę, która przytrzymuje oprawkę bezpiecznika. Następnie za pomocą szczypiec, śrubokręta i nakrętki dokręć ją mocno na miejscu. Uchwyt bezpiecznika powinien znajdować się w pobliżu miejsca zasilania i powinien znajdować się wewnątrz skrzynki. Jeszcze raz sprawdź zdjęcia.

Krok 3: Budowanie PCB z elektroniką

Budowanie PCB z elektroniką
Budowanie PCB z elektroniką
Budowanie PCB z elektroniką
Budowanie PCB z elektroniką
Budowanie PCB z elektroniką
Budowanie PCB z elektroniką

Płytka pomieści mikrokontroler, komunikację bluetooth, moduł RTC, tranzystor mocy z diodą zabezpieczającą i małym rezystorem, przewody połączeniowe oraz regulator 5V.

Dołączyłem schemat fritziga, więc wszystko będzie łatwe. Pierwsze zdjęcie przedstawia wyeksportowany obraz schematu, dołączyłem również plik sketch.fzz (oryginalny plik, który można otworzyć za pomocą tego narzędzia)

Kroki lutowania:

1. przeciąć żeńskie złącza PCB, są dwa 12-pinowe złącza dla mikrokontrolera, jest też 6-pinowe złącze dla bluetooth i kolejne 12-pinowe złącza po prawej stronie mikrokontrolera i dwupinowe złącze dla ujemnego przekaźnika i pozytywna moc

2. Po odcięciu wszystkich złączy należy je przylutować z tyłu płytki drukowanej

3. Przylutuj dwa złącza wtykowe KF301-2P

4. Umieść regulator L7805CV 5V na płytce drukowanej. Zagnij nóżki i przylutuj z drugiej strony, a następnie odetnij nadmiar nóżek za pomocą przecinaka do kabli

5. Przylutuj tranzystor NPN Tip142T i diodę zabezpieczającą 1N4004, odetnij nadmiar nóżek po

6. Przylutuj rezystor 220 omów między odpowiednim pinem cyfrowym 5 a pinem podstawy tranzystora

7. Przylutuj grubsze przewody między tranzystorem a wtykami KF301-2P (czerwony i czarny jak zaznaczono na zdjęciach)

8. Przylutuj wszystkie cienkie przewody czerwony (+), czarny (-) i biały (sygnał) zgodnie ze schematem Fritziga

9. Przylutuj męskie piny na mikrokontrolerze, potrzebujesz dwóch 12 męskich pinów po bokach

10. Wykonać połączenia pomiędzy każdym z odpowiednich styków żeńskich mikrokontrolera z prawej strony (jest to lepiej wyjaśnione na zdjęciach). Połączenia zostaną wykonane za pomocą samego lutu (piny będą zwarte)

11. Opcjonalnie: za pomocą lupy sprawdź luty pod kątem zwarć i sprawdź, czy przewody są prawidłowo przylutowane z tyłu PCB, możesz również sprawdzić multimetrem (ustawienie rezystancji) czy nie ma zwarcia między plusem a ujemne połączenia. Kolejnym testem jest zasilanie układu bez mikrokontrolera, bluetooth

12. Umieść mikrokontroler i bluetooth HC-05 na płytce drukowanej

Krok 4: Okablowanie i montaż

Okablowanie i montaż
Okablowanie i montaż
Okablowanie i montaż
Okablowanie i montaż

Do tej pory mamy już gotową płytkę drukowaną, nasze plastikowe pudełko, okablowanie kabli żaluzji i przygotowane inne komponenty. Wszystko, co musimy teraz zrobić, to podłączyć system.

1. przez górny boczny otwór w puszce włóż kabel zasilający AC, zdejmij go i przylutuj do zasilacza (jeśli twój zasilacz ma śruby to przykręć)

2. za pomocą czerwonego drutu przylutuj wyjście (+) zasilacza do jednego z bezpieczników, użyj kawałka rurki termokurczliwej, aby ukryć odsłonięty drut.

3. przylutować drugi czerwony przewód z drugiej strony bezpiecznika nałożyć rurkę termokurczliwą, drugą stronę przewodu włożyć i wkręcić w wejście (+) złącza śrubowego KF301-2P

4. przylutuj czarny przewód do wyjścia (-) zasilacza a następnie przykręć go do wejścia PCB złącza śrubowego KF301-2P

4. Za pomocą męsko-żeńskich złączy płytki stykowej podłącz dodatni i ujemny przekaźnika do dodatnich i ujemnych złączy żeńskich płytki drukowanej. Podłącz również piny 8 i 9 mikrokontrolera (za pomocą złączy macierzystych PCB po lewej stronie PCB) do pinów wyzwalających przekaźnik

5. podłącz jedną stronę listwy zaciskowej do czerwonych lub czarnych przewodów wychodzących z żeńskich złączy wtykowych 5,5 mm DC Power Plug. W przypadku, gdy masz więcej niż jedno złącze żeńskie 5,5 mm, tak jak ja, wszystkie czerwone przewody wylądują w lewym górnym rogu listwy zaciskowej, a wszystkie czarne przewody w prawym górnym rogu listwy zaciskowej (patrz zdjęcia). Kiedy będziesz obsługiwać rolety, jeśli nie poruszają się w tym samym kierunku, odwrócimy przewody tutaj (więcej o tym później)

6. podłączyć przewody dodatnie i ujemne wychodzące ze złącza śrubowego KF301-2P (wyjście) do środka zacisków przekaźnika. Środek zacisków nazywa się wspólnym.

7. podłącz lewą stronę lewego przekaźnika (nieważne jak zwrócisz się ku rzeczywistości) z lewą stroną prawego przekaźnika z dolną lewą stroną listwy zaciskowej. Następnie podłącz prawą stronę lewego przekaźnika z prawą stroną prawego przekaźnika do dolnej prawej strony listwy zaciskowej. Listwa zaciskowa będzie miała górną stronę podłączoną do żeńskich złączy 5,5 mm (patrz krok 5).

Uwaga: Opisałem blok zacisków jako posiadający górną i dolną stronę, z których każda ma lewą i prawą stronę. Nie ma znaczenia, jak trzymasz blok zacisków, o ile pamiętasz, która strona jest jaka. Możesz sprawdzić zdjęcia, a zwłaszcza schemat fritziga.

Krok 5: Kod Arduino

Kod Arduino
Kod Arduino

Kod należy wgrać do arduino pro mini za pomocą przejściówki USB na szeregowy FTDI FT232RL.

Będziesz musiał podłączyć pin GND, VCC, Rx, Tx i DTR do arduino pro mini. Następnie otwórz oprogramowanie arduino wybierz narzędzia/port i dowolny port, którego używasz. Następnie Tools/Board/Arduino Pro lub Pro Mini. Następnie narzędzia/płyta/procesor/ATmega328 (5 V 16 Mhz).

Na koniec otwórz szkic poniżej i naciśnij upload.

Korekty: Jedyną rzeczą, którą można dostosować w szkicu, jest pwmPower. Wartość może wynosić od 0 do 255 i w przybliżeniu reprezentuje, jaka część mocy zasilającej trafi do silników zasłon. To w zasadzie szybkie włączanie i wyłączanie zasilania. Zaimplementowałem go głównie po to, aby umożliwić korzystanie z mniejszego zasilacza bez przegrzewania lub wyłączania. Jeśli twój zasilacz ma większą moc niż pobierają silniki, możesz ustawić pwmPower na 255.

Jak więc działa ten program: najpierw nasłuchuje łącza szeregowego (wtórnego oprogramowania szeregowego) dla przychodzących transmisji. Po nadejściu transmisji wiadomość jest odczytywana w buforze do momentu pojawienia się „;” jest obecny lub osiągnięty został koniec bufora. Następnie jest analizowany i jeśli jest w poprawnym formacie (np.: O45;) wywoływana jest funkcja toggleState z pierwszym stanem parametru, a następnie czasem trwania.

Aby uzyskać przełącznik polaryzacji, oba przekaźniki są albo otwarte, albo zamknięte. Tranzystor jest włączany i wyłączany za pomocą PWM na określony czas. O45 będzie oznaczać otwarte przez 45 sekund.

Po wykonaniu polecenia bufor jest czyszczony.

Krok 6: Użycie

Stosowanie
Stosowanie
Stosowanie
Stosowanie
Stosowanie
Stosowanie

Z kontroli możemy korzystać na więcej niż jeden sposób

1. Za pomocą aplikacji bluetooth na Androida lub iPhone'a (najprostsza)

W moim demo wybrałem aplikację na Androida o nazwie Bluetooth Controller. Ta aplikacja pozwala dostosować przyciski, które będą wysyłać dane szeregowe. Stworzyłem dwa przyciski o nazwie Up i Down, skojarzyłem Up z kodem "C40;" a dół z "O35;".

"C40;" oznacza, że zamknę (chowam) rolety na 40 sekund, „035” oznacza, że otworzę (podnoszą się) na 35 sekund. ";" jest terminatorem polecenia, który wybrałem w moim szkicu, co oznacza, że sygnalizuje koniec polecenia.

2. Za pomocą skryptu Pythona, który działa nieprzerwanie w tle

To jest zaawansowana część samouczka. Mam mande skrypt Pythona, który będzie działał na serwerze jak raspberry pi lub laptop z dostępem do Internetu. Połączy się z bluetooth w skrzynce kontrolnej i ujawni API http. Dostęp do API można uzyskać bezpośrednio lub za pośrednictwem rzeczypeak.

Wyjaśnię krok po kroku, co musisz zrobić

a. pierwszą rzeczą jest sparowanie bluetooth

będziesz używać polecenia bluetoothctl z konsoli, wpisz wewnątrz

zasilanie włączone

wykrywalny na agencie na agencie domyślnym możliwy do parowania podczas skanowania na parze xx:xx:xx:xx:xx:xx (i wprowadź hasło) zaufanie xx:xx:xx:xx:xx:xx (jeśli brak hasła):

następnie otwórz plik konfiguracyjny bluetooth

vim /etc/bluetooth/rfcomm.conf

wewnątrz musisz skonfigurować swoje urządzenie Bluetooth w następujący sposób:

rfcomm1 {

wiązać tak; urządzenie your_bluetooth_mac_address coś w stylu 97:D3:31:21:A0:51; kanał 1; komentarz "Połączenie z moimi zasłonami bt"; }

powiąż, uruchom ponownie usługi bluetooth

sudo rfcomm bind allsudo /etc/init.d/bluetooth restart sudo hciconfig hci0 up

b. install flask, flask basic auth:

sudo -H pip install Flask Flask-BasicAuth

C. utwórz plik server.py z następującym kodem i uruchom serwer:

# użycie: python httpToBluetooth nazwa użytkownika hasło adres_Bluetooth

# Uwaga: używana jest nazwa użytkownika, hasło

importuj system operacyjny, bluetooth, sys, wątki

from flask import Flask from flask_basicauth import BasicAuth z kolejki import Queue app = Flask(_name_) configuration = sys.argv app.config['BASIC_AUTH_USERNAME'] = configuration[1] app.config['BASIC_AUTH_PASSWORD'] = configuration[2] = Queue() basic_auth = BasicAuth(app) class BluetoothBackground(threading. Thread): def _init_(self, bluetooth_address, queue): threading. Thread._init_(self) self._bluetooth_address = bluetooth_address self._queue = kolejka self.shutdown = False def run (self): self._bluetooth = self.get_bluetooth() podczas gdy nie self.shutdown: wiadomość = self._queue.get() self._bluetooth.send(wiadomość) self._bluetooth.close() def get_bluetooth(self): connection = bluetooth. BluetoothSocket(bluetooth. RFCOMM) connection.settimeout(Brak) try: connection.connect((self._bluetooth_address, 1)) z wyjątkiem wyjątku, e: print 'Błąd połączenia z bluetooth' + str(e) connection.setblocking(False) zwraca klasę połączenia Webserver(threading. Thread): def run(self): port = in t(os.environ.get('PORT', 5000)) app.run(host='0.0.0.0', port=port, debug=True, use_reloader=False) @app.route("/send_to_serial/") @basic_auth.required def send_to_serial(command): queue.put(polecenie) return 'ok' threads = threads.append(BluetoothBackground(configuration[3], queue)) threads.append(Webserver()) [thread.start () dla wątku w wątkach]

aby uruchomić serwer wykonaj:

hasło użytkownika python server.py 97:D2:31:20:A0:51

Ok, więc server.py to nasz skrypt, użytkownik i hasło to dane uwierzytelniające używane do uwierzytelniania, a „97:D2:31:20:A0:51” to adres MAC Bluetooth.

D. używaj swojego serwera do wysyłania poleceń z dowolnego miejsca na świecie

z przeglądarki wpisz:

- wprowadź użytkownika i hasło, które ustawiłeś wcześniej podczas uruchamiania serwera python

- "C30;" to polecenie, które zostanie przekazane do urządzenia bluetooth (nasza skrzynka, która będzie sterować zasłonami)

- sprawdź, czy port 5000 nie jest blokowany przez twoją zaporę (używamy tego portu)

- jeśli jesteś za routerem (np. raspberry pi) musisz zrobić przekierowanie portów z routera z portu 5000 na port 5000

mi. możesz użyć rzeczypeak, aby robić takie rzeczy, jak kontrolowanie rolet w harmonogramie lub gdy zmienią się niektóre dane czujnika kanału. Na przykład możesz podłączyć czujnik światła (na zewnątrz), aby mówić, a gdy poziom światła spadnie do pewnej wartości (jest wieczór), możesz zamknąć rolety, aby ludzie na zewnątrz cię nie widzieli.

Możesz połączyć shadery (serwer Pythona, który skonfigurowaliśmy wcześniej) z Thingspeak za pomocą ThingHTTP.

Dołączyłem obraz formularza ThingHTTP z danymi wypełnionymi jako przykład i obraz z TimeControl Więc dla maksymalnej elastyczności Thingspeak powinien robić wszystko, czego potrzebujesz.

3. Przez moją aplikację do automatyzacji domu

To trochę bardziej skomplikowane, moja aplikacja do automatyki domowej robi dużo więcej niż kontrolowanie odcieni.

Steruje również oświetleniem, drzwiami, ma wiele czujników, integruje się z przełącznikami i ma złożone reguły zdefiniowane przez użytkownika, które mogą na przykład otworzyć rolety, jeśli poziom światła w środku jest niski lub jeśli jest rano.

Możesz sprawdzić moje repozytorium github, a jeśli masz pytania, chętnie na nie odpowiem.

Jeśli uważasz, że mój samouczek jest nieco przydatny, udostępnij go lub dodaj do ulubionych. Chcę też zobaczyć kilka ciekawych komentarzy:)

Zalecana: