Съдържание:

Домашна автоматизация с Android и Arduino: Отворете портата, когато се приберете: 5 стъпки
Домашна автоматизация с Android и Arduino: Отворете портата, когато се приберете: 5 стъпки

Видео: Домашна автоматизация с Android и Arduino: Отворете портата, когато се приберете: 5 стъпки

Видео: Домашна автоматизация с Android и Arduino: Отворете портата, когато се приберете: 5 стъпки
Видео: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, Септември
Anonim
Домашна автоматизация с Android и Arduino: Отворете портата, когато се приберете
Домашна автоматизация с Android и Arduino: Отворете портата, когато се приберете

Тази инструкция е за създаване на система за домашна автоматизация, която да се управлява чрез смартфон, използвайки интернет връзка, така че да може да бъде достъпна отвсякъде, където имате нужда. Освен това, той ще изпълнява определени действия винаги, когато са изпълнени критерии (като например включване на светлината, когато смартфонът се свърже с домашната wifi мрежа, отваряне на портата, когато влезете в определена от GPS зона, или всичко друго, което може да искате).

Ще се използва съществуващо приложение за Android, което изисква възможно най -малкото кодиране: просто качете кода и сте готови. Мозъкът - микроконтролерът - ще бъде Arduino или Arduino -съвместима платка, като Aruino Uno с Ethernet щит или NodeMCU ESP8266.

За да задействаме системата, когато е изпълнено условие (GPS позиция, време, ecc …), ще използваме прословутия Tasker; повече за това по -късно.

При реализирането на системата се вземат предвид следните ключови моменти:

  • Трябва да е евтино.
  • Той трябва да бъде достъпен извън локалната домашна мрежа (т.е. вашия wifi).
  • Той трябва да бъде наистина лесен и бърз за изграждане и настройка.
  • Тя трябва да бъде надеждна.

Като се има предвид това, целият проект ще струва около 20 € (7,50 € за ESP8266, 8 € за релейна платка, остатъкът за допълнителен хардуер) и ще ви отнеме около 30 минути, за да настроите всичко - изобщо не е лошо.

Така че, ако се интересувате, следвайте това просто и бързо ръководство и го настройте!

Стъпка 1: Настройка на хардуера

Настройка на хардуера
Настройка на хардуера

След като сте събрали всичките си компоненти, първото нещо, което трябва да направите, е да свържете всичко.

В този пример ще свържем крушка към ESP8266; имайте предвид, че трябва да бъдете изключително внимателни, когато работите с основно напрежение - къщите използват 220V, което може да ви убие! Винаги изключвайте захранването, преди да работите върху него, а ако не сте уверени, потърсете помощ от експерт!

Това каза: за да се справим с такива нива на напрежение и ток (което ще изгори малкия ESPR8266), трябва да използваме подходящо реле (като това, което е 5V логика, подходящо за стандартния Arduino, или това, 3.3V реле за логическо ниво, подходящ за изхода 3.3V на ESP82666); връзките са доста лесни, следвайте приложената диаграма.

Обърнете внимание, че някои релейни платки (като тази, която сме свързали) са АКТИВНО НИСКИ; това означава, че трябва да свържете релето към земята, за да го включите, и обратно. Ако това е вашият случай, Homotica предлага хубаво решение; това ще видим в следващия параграф.

Стъпка 2: Конфигуриране на ESP8266

ESP8266 Конфигурация
ESP8266 Конфигурация
ESP8266 Конфигурация
ESP8266 Конфигурация
ESP8266 Конфигурация
ESP8266 Конфигурация

Сега, когато сме настроили хардуера на системата за автоматизация, трябва да програмираме микроконтролера.

За да направим това, ще се нуждаем от софтуера Arduino, за да качим предоставената скица в ESP8266; затова отидете на страницата за изтегляне на Arduino и вземете най -подходящата за вас версия.

След като го изтеглите, инсталирайте го.

Сега, когато имаме инсталирана нашата IDE, имаме нужда от библиотеката, необходима за работата на скицата; за да го инсталирате, отворете App Github Repo и изберете Изтегляне от зеления бутон от дясната страна.

Отидете в папката Download на вашия компютър и с помощта на софтуер като WinRar или WinZip разархивирайте файла; отворете новосъздадената папка "homotica-master" и копирайте вътрешната папка с име "Homotica" в папката Arduino Editor Libraries (обикновено можете да я намерите в C: / Users / your_user_name / Documents / Arduino / libraries). Изтрийте останалите файлове в "homotica-master", няма да имаме нужда от тях

Липсва една стъпка от качването на кода в ESP8266: трябва да получим библиотеката, за да може Arduino IDE да комуникира с дъската, тъй като не се поддържа официално.

За да направите това, изпълнете следните стъпки (кредити: Github ES8266 Arduino Repo):

  • Стартирайте Arduino и отворете прозореца Файлове> Предпочитания.
  • Въведете „https://arduino.esp8266.com/stable/package_esp8266com_index.json“(без кавички) в полето Допълнителни URL адреси на мениджъра на борда. Можете да добавите няколко URL адреса, като ги разделите със запетаи.
  • Отворете Boards Manager от Tools> Board menu и инсталирайте платформата esp8266 (потърсете „esp8266“и изтеглете „esp8266 by ESP8266 Community“).

Всичко е настроено. Нека се погрижим за кода на скицата.

Отворете Файл> Пример> Homotica> Homotica ESP8266, копирайте ВСИЧКИ кода в нова скица и променете следните параметри:

  • ssid: поставете тук името на вашата безжична мрежа
  • парола: вашата парола за wifi
  • ip, шлюз, подмрежа: вероятно няма да се налага да докосвате тези настройки; променете ip, ако искате вашият ESP8266 да има различен адрес
  • mUdpPort: портът, който по -късно ще отворим в рутера; ако не знаете какво е, не го докосвайте
  • код: уникален код от 8 символа, който ще се използва за удостоверяване на приложението ви; можете да изберете каквото искате.

Ако използвате настройка ACTIVE LOW, не забравяйте да извикате homotica.setActiveLow (), както е показано в примерния код!

За да завършите: добавете homotica.addUsedPin (5) (както е показано в примера), за да кажете на ESP8266 с кой GPIO трябва да борави, между цикъла while и homotica.set (mUdpPort, код); изтрийте всички редове homotica.simulateUdp (…).

Това е кодът, с който трябва да останете:

#включва

#include #include const char* ssid = "mywifiname"; const char* password = "wifipassword"; IP Адрес ip (192, 168, 1, 20); IPAddress шлюз (192, 168, 1, 1); Подмрежа IPAddress (255, 255, 255, 0); без знак int mUdpPort = 5858; статичен код на низа = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, шлюз, подмрежа); WiFi.begin (ssid, парола); while (WiFi.status ()! = WL_CONNECTED) {забавяне (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- само ако имате нужда от него homotica.set (mUdpPort, код); } void loop () {homotica.refresh (); }

Когато всичко е правилно настроено, променете настройките на компилатора от менюто Инструменти според прикачения екран и изберете порта, към който е свързан вашият ESP8266 на вашия компютър в Инструменти> Порт.

Сега щракнете върху качване. Вашият микроконтролер е настроен и готов за работа!

Стъпка 3: Рутер и IP

Рутер и IP
Рутер и IP
Рутер и IP
Рутер и IP

За да комуникираме с ESP8266 от всяка мрежа, ще трябва да кажем на рутера да пусне командата, която му изпращаме.

За да направите това, отворете страницата с конфигурацията на вашия рутер (обикновено 192.168.1.1) и потърсете нещо като „виртуален сървър“или „пренасочване на портове“; можете да намерите точните настройки за вашия модел рутер, търсещи в Google.

При пренасочване на портове създайте ново правило, което позволява всички връзки към ESP8266 (тази, конфигурирана по -рано) през порта ESP8266 (отново тази, конфигурирана по -рано). Наречете го Homotica, поставете ESP8266 IP в полето IP и запишете.

Ако рутерът, който използвате, не ви позволява да направите това, не се притеснявайте: няма да можете да използвате приложението от мобилната мрежа, но то ще работи перфектно от вътрешния ви wifi.

Сега, за да се обърнем към нашия рутер от външния свят, трябва да знаем публичния му IP; недостатъкът е, че по -голямата част от интернет доставчика не ви дава статичен IP, а вместо това динамичен, който се променя с течение на времето.

Но изчакайте, можем да разрешим това!

Насочете се към NoIp, създайте нов акаунт, след това създайте ново име на хост (вижте приложеното изображение). Обърнете внимание какво име на хост имате (в моя пример: https://yourhostname.ddns.net) и преминете към следващата стъпка.

(Забележка: може да искате компютърът ви автоматично да синхронизира IP адреса на вашия рутер с името на хоста ви NoIp: изтеглете безплатното им приложение, за да направите това)

Стъпка 4: Конфигуриране на приложението

Конфигурация на приложението
Конфигурация на приложението
Конфигурация на приложението
Конфигурация на приложението
Конфигурация на приложението
Конфигурация на приложението

Нека се погрижим за приложението, нали?

Изтеглете приложението от страницата на Play Store и го отворете.

Отворете лявото меню, изберете дъски и създайте ново. Ще попълним параметрите, които предварително дефинирахме в кода за скица на ESP8266:

  • Име на Arduino: какво искате (нека това бъде ESP8266)
  • IP адрес на хоста: това може да е така

    • статичния IP адрес на рутера, посочен чрез връзка NoIp
    • IP на ESP8266, ако искате да го използвате само от вътрешната си wifi мрежа 192.168.1.20
  • Хост порт: този, който създадохме и отворихме по -рано 5858
  • Код за удостоверяване: 8-символния код, който дефинирахме в скицата aBc195

Запазване. Отворете менюто отново, създайте ново устройство; ще прикачим крушка за демонстрация:

  • Име: светлина
  • Име на бутона: ще използваме On, изберете какво предпочитате
  • ПИН номер: щифтът, към който сме прикрепили крушката. Бъди внимателен! На ESP8266 етикетите на щифтовете (D1, D2 …) НЕ съответстват на името на GPIO Pin! Търсете в Google, за да определите кой пин е кой GPIO (в нашия пример: пин 5 е означен с D1)
  • Поведение: можете да избирате между включване, изключване, промяна на състоянието на „натискане“(включване и изключване) на устройството.

Запазване. Ако сте настроили правилно всичко досега, натискането на крушката трябва да се включи.

Готино, нали?

Сега можете да се забавлявате, като добавяте още устройства, още повече дъски и ги подреждате в сцени.

Но за да използваме с пълна мощност това, което току -що създадохте, ще трябва да използваме Tasker.

Стъпка 5: Интегриране на Tasker

Интегриране на Tasker
Интегриране на Tasker
Интегриране на Tasker
Интегриране на Tasker
Интегриране на Tasker
Интегриране на Tasker

Ако притежавате Tasker или искате да го купите, продължете да четете! Ще го използваме, за да кажем на Homotica какво да прави и кога да го прави.

В този пример ще включваме светлината всеки път, когато се свържем с домашния ни wifi И времето е между 16:00 и 18:00 часа.

Отворете Tasker; създайте нова задача (дайте й име Включване на светлината), изберете Добавяне> Приставка> Homotica, натиснете incon с молив, за да конфигурирате приставката. Изберете Light> On и Save. Назад към главното меню създайте нов профил, изберете Състояние> WiFi свързан, вмъкнете обиколка Wifi име в полето SSID; натиснете назад и изберете Включване на светлината като въведете активност. Сега, натиснете дълго в лявата част на новосъздадения профил, изберете Добавяне> Време> От 16:00 до 18:00, след което затворете.

Готови сме. Светлината ни ще се включи, когато влезем у дома в определеното от нас време.

Това е удобно!

Сега е ваш ред: проявете креативност с Homotica и Tasker и не забравяйте да ни покажете какво сте създали!

Препоръчано: