Mundarija:

Android va Arduino bilan uyni avtomatlashtirish: Uyga kelganingizda eshikni oching: 5 qadam
Android va Arduino bilan uyni avtomatlashtirish: Uyga kelganingizda eshikni oching: 5 qadam

Video: Android va Arduino bilan uyni avtomatlashtirish: Uyga kelganingizda eshikni oching: 5 qadam

Video: Android va Arduino bilan uyni avtomatlashtirish: Uyga kelganingizda eshikni oching: 5 qadam
Video: Loyihani birga yaratamiz ("Ar" qilishni boshladik) 2024, Sentyabr
Anonim
Android va Arduino bilan uyni avtomatlashtirish: Uyga qaytganingizda eshikni oching
Android va Arduino bilan uyni avtomatlashtirish: Uyga qaytganingizda eshikni oching

Bu yo'riqnoma sizga kerak bo'lgan hamma joydan kirish uchun Internetga ulanish yordamida smartfon orqali boshqariladigan uy avtomatlashtirish tizimini o'rnatish haqida. Bundan tashqari, u har qanday mezon bajarilganda (masalan, smartfon uy Wi -Fi tarmog'iga ulanganda, chiroqni yoqish, GPS aniqlangan maydonga kirganda eshikni ochish yoki boshqa hamma narsani) bajaradi.

Kodlashning minimal miqdorini talab qiladigan mavjud android ilovasi ishlatiladi: faqat kodni yuklang va ishingiz tugadi. Miya - mikrokontroller - Arduino yoki Arduino bilan mos keladigan taxta bo'ladi, masalan, chekilgan qalqoni bo'lgan Aruino Uno yoki NodeMCU ESP8266.

Shart bajarilganda tizimni ishga tushirish uchun (GPS pozitsiyasi, vaqt, va hokazo) biz taniqli Taskerdan foydalanamiz; bu haqda keyinroq.

Tizimni ishga tushirishda quyidagi asosiy jihatlar e'tiborga olingan:

  • Bu arzon bo'lishi kerak.
  • Unga mahalliy uy tarmog'idan tashqarida (ya'ni, Wi -Fi) kirish mumkin.
  • Haqiqatan ham, uni qurish va sozlash juda oson va tez bo'lishi kerak.
  • Bu ishonchli bo'lishi kerak.

Aytish kerakki, butun loyiha taxminan 20 evro turadi (ESP8266 uchun 7,50 evro, o'rni taxtasi uchun 8 evro, qolgan qismi qo'shimcha uskunalar uchun) va barchasini sozlash uchun sizga 30 daqiqa vaqt ketadi - yomon emas..

Shunday qilib, agar sizni qiziqtirsa, ushbu oddiy va tezkor qo'llanmani kuzatib boring va o'zingiznikini sozlang!

1 -qadam: uskunani sozlash

Uskunani sozlash
Uskunani sozlash

Barcha komponentlarni yig'ib olgandan so'ng, birinchi navbatda, hamma narsani sim bilan ulash kerak.

Bu misolda biz lampochkani ESP8266 ga ulaymiz; Shuni yodda tutingki, siz asosiy kuchlanish bilan ishlashda juda ehtiyot bo'lishingiz kerak - uylar 220Vdan foydalanadi, bu sizni o'ldirishi mumkin! Ishlamasdan oldin har doim quvvatni uzing va agar ishonchingiz komil bo'lmasa, mutaxassislardan yordam so'rang!

Aytgancha: bunday kuchlanish va tokni boshqarish (kichik ESPR8266ni yoqib yuboradi), biz mos keladigan o'rni (masalan, 5V mantiq, standart Arduino uchun mos) yoki 3.3V mantiq darajali o'rni., ESP82666 3.3V pinout uchun mos); ulanish juda oson, biz biriktirgan sxemaga amal qiling.

E'tibor bering, ba'zi o'rni taxtalari (biz bog'lagan kabi) ACTIVE LOW; bu shuni anglatadiki, siz o'rni yoqish uchun uni erga ulashingiz kerak va aksincha. Agar bu sizning holatingiz bo'lsa, Homotica yaxshi echim taklif qiladi; keyingi paragrafda qaysi biri ekanligini ko'ramiz.

2 -qadam: ESP8266 konfiguratsiyasi

ESP8266 konfiguratsiyasi
ESP8266 konfiguratsiyasi
ESP8266 konfiguratsiyasi
ESP8266 konfiguratsiyasi
ESP8266 konfiguratsiyasi
ESP8266 konfiguratsiyasi

Endi biz avtomatlashtirish tizimining uskunasini o'rnatdik, mikrokontrollerni dasturlashimiz kerak.

Buni amalga oshirish uchun bizga taqdim etilgan eskizni ESP8266 -ga yuklash uchun Arduino dasturi kerak bo'ladi; shuning uchun Arduino -ni yuklab olish sahifasiga o'ting va sizga mos keladigan versiyani oling.

Yuklab olingandan so'ng, uni o'rnating.

Endi bizda IDE o'rnatilgan, biz eskiz ishlashi uchun kerakli kutubxonaga muhtojmiz; uni o'rnatish uchun App Github Repo -ni oching va o'ng tarafdagi yashil tugmachadan Yuklab olishni tanlang.

Kompyuteringizdagi Yuklab olish papkasiga o'ting va WinRar yoki WinZip kabi dasturlardan foydalanib faylni oching; yangi yaratilgan "homotica-master" papkasini oching va "Homotica" nomli ichki papkani Arduino muharriri kutubxonalari papkasiga nusxalashtiring (odatda uni C: / Users / your_user_name / Documents / Arduino / libraries ostida topishingiz mumkin). Qolgan fayllarni "homotica-master" da o'chirib tashlang, bizga kerak bo'lmaydi

Kodni ESP8266 -ga yuklashda bir qadam yetishmayapti: Arduino IDE -ni boshqaruv paneli bilan bog'lanish uchun kutubxonani olishimiz kerak, chunki u rasman qo'llab -quvvatlanmaydi.

Buning uchun quyidagi bosqichlarni bajaring (kreditlar: Github ES8266 Arduino Repo):

  • Arduino -ni ishga tushiring va Fayllar> Sozlamalar oynasini oching.
  • Kengash menejerining qo'shimcha URL manzili maydoniga "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (tirnoqsiz) kiriting. Siz ularni vergul bilan ajratib, bir nechta URL qo'shishingiz mumkin.
  • "Asboblar"> "Kengash" menyusidan "Boards Manager" ni oching va esp8266 platformasini o'rnating ("esp8266" ni qidiring va "esp8266 ni ESP8266 hamjamiyati tomonidan yuklab oling").

Hammasi sozlangan. Keling, eskiz kodiga g'amxo'rlik qilaylik.

Fayl> Misol> Homotica> Homotica ESP8266 -ni oching, HAMMA kodni yangi eskizga ko'chiring va quyidagi parametrlarni o'zgartiring:

  • ssid: bu erga simsiz tarmoq nomini kiriting
  • parol: wifi parolingiz
  • ip, shlyuz, pastki tarmoq: ehtimol siz bu sozlamalarga tegmasligingiz kerak; Agar siz ESP8266 boshqa manzilga ega bo'lishini xohlasangiz, ipni o'zgartiring
  • mUdpPort: keyinchalik yo'riqchida ochiladigan port; agar nima ekanligini bilmasangiz, unga tegmang
  • kod: ilovangizni autentifikatsiya qilish uchun ishlatiladigan 8 ta belgidan iborat noyob kod; siz xohlagan narsani tanlashingiz mumkin.

Agar siz ACTIVE LOW sozlamasidan foydalanayotgan bo'lsangiz, misol kodida ko'rsatilgandek homotica.setActiveLow () ga qo'ng'iroq qilishni unutmang!

Uni tugatish uchun: homotica.addUsedPin (5) ni qo'shing (misolda ko'rsatilgandek). barcha homotica.simulateUdp (…) qatorlarini o'chirib tashlang.

Bu sizga qoldirilishi kerak bo'lgan kod:

#qo'shing

#include #include const char* ssid = "mywifiname"; const char* parol = "wifipassword"; IPAddress ip (192, 168, 1, 20); IP -manzil shlyuzi (192, 168, 1, 1); IPAddress pastki tarmog'i (255, 255, 255, 0); imzosiz int mUdpPort = 5858; statik String kodi = "aBc159"; Homotika homotika; void setup () {WiFi.config (ip, shlyuz, pastki tarmoq); WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {kechiktirish (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- faqat sizga homotica.set kerak bo'lsa (mUdpPort, kod); } void loop () {homotica.refresh (); }

Hamma narsa to'g'ri sozlanganda, biriktirilgan skrinshotga muvofiq, asboblar menyusidan kompilyator sozlamalarini o'zgartiring va ESP8266 kompyuteringizga ulangan portni Asboblar> Port -da tanlang.

Endi yuklashni bosing. Sizning mikrokontrolleringiz sozlangan va ishga tayyor!

3 -qadam: yo'riqnoma va IP

Router va IP
Router va IP
Router va IP
Router va IP

Har bir tarmoqdan ESP8266 bilan bog'lanish uchun biz yo'riqchiga biz yuborgan buyruqni kiritishini aytishimiz kerak bo'ladi.

Buning uchun yo'riqnoma konfiguratsiya sahifasiga o'ting (odatda 192.168.1.1) va "virtual server" yoki "portni yo'naltirish" kabi narsalarni qidiring; Siz Google -da qidirayotgan yo'riqnoma modeli uchun aniq sozlamani topishingiz mumkin.

Portni yo'naltirishda ESP8266 porti orqali (avval tuzilgan) ESP8266 (avval tuzilgan) bilan barcha ulanishlarga ruxsat beruvchi yangi qoida yarating. Uni Homotica deb nomlang, IP maydoniga ESP8266 IP -ni kiriting va saqlang.

Agar siz foydalanayotgan yo'riqnoma bunga ruxsat bermasa, xavotir olmang: siz ilovani mobil tarmog'idan ishlata olmaysiz, lekin u sizning uy Wi -Fi ichidan juda yaxshi ishlaydi.

Endi, tashqi dunyodan yo'riqchimizga murojaat qilish uchun uning umumiy IP -ni bilishimiz kerak; Salbiy tomoni shundaki, Internet -provayderlarning aksariyati sizga statik IP -ni bermaydi, balki vaqt o'tishi bilan o'zgaradi.

Lekin kuting, biz buni hal qila olamiz!

NoIp -ga o'ting, yangi hisob yarating, so'ngra yangi xost nomini yarating (biriktirilgan rasmga qarang). Sizda qanday host nomi borligiga e'tibor bering (mening misolimda: https://yourhostname.ddns.net) va keyingi bosqichga o'ting.

(Eslatma: shaxsiy kompyuteringiz yo'riqnoma IP -ni avtomatik ravishda NoIp host nomi bilan sinxronlashini xohlashingiz mumkin: buning uchun ularning bepul ilovasini yuklab oling)

4 -qadam: Ilovalarni sozlash

Ilova konfiguratsiyasi
Ilova konfiguratsiyasi
Ilova konfiguratsiyasi
Ilova konfiguratsiyasi
Ilova konfiguratsiyasi
Ilova konfiguratsiyasi

Keling, ilovaga g'amxo'rlik qilaylik, to'g'rimi?

Ilovani Play Store sahifasidan yuklab oling va oching.

Chap menyuni oching, taxtalar -ni tanlang va yangisini yarating. Biz ESP8266 eskiz kodida ilgari aniqlagan parametrlarni to'ldiramiz:

  • Arduino nomi: siz xohlagan narsa (bu ESP8266 bo'lsin)
  • Xost IP: bu bo'lishi mumkin

    • https://yourhostname.ddns.net havolasi orqali havola qilingan statik IP -yo'riqnoma
    • agar siz uni faqat uy Wi -Fi tarmog'idan ishlatmoqchi bo'lsangiz, ESP8266 IP 192.168.1.20
  • Xost port: biz o'rnatgan va ochgan port 5858
  • Tasdiqlash kodi: aBc195 eskizida biz aniqlagan 8-char kod

Saqlash. Menyuni qayta oching, yangi qurilma yarating; biz namoyish qilish uchun lampochkani biriktiramiz:

  • Ism: yorug'lik
  • Tugma nomi: biz On -ni ishlatamiz, o'zingiz yoqtirgan narsani tanlang
  • Pin raqami: biz lampochkani ulagan pin. Ehtiyot bo'ling! ESP8266 -da pin belgilari (D1, D2…) GPIO PIN nomiga mos kelmaydi! Qaysi pin GPIO ekanligini aniqlash uchun Google -dan qidiring (bizning misolimizda: 5 -pin D1 deb belgilangan)
  • Xulq -atvor: siz qurilmani yoqish, o'chirish, "bosish" holatini o'zgartirish (yoqish va o'chirish) o'rtasida tanlashingiz mumkin.

Saqlash. Agar siz hozirgacha hamma narsani to'g'ri sozlagan bo'lsangiz, lampochkani yoqish kerak.

Ajoyib, shunday emasmi?

Endi siz ko'proq qurilmalarni, hatto ko'proq taxtalarni qo'shib, ularni sahnalarda joylashtirishdan zavqlanishingiz mumkin.

Lekin siz yaratgan narsani to'liq quvvat bilan ishlatish uchun biz Taskerdan foydalanishimiz kerak bo'ladi.

5 -qadam: Tasker integratsiyasi

Tasker integratsiyasi
Tasker integratsiyasi
Tasker integratsiyasi
Tasker integratsiyasi
Tasker integratsiyasi
Tasker integratsiyasi

Agar siz Taskerga egalik qilsangiz yoki uni sotib olmoqchi bo'lsangiz, o'qishni davom ettiring! Biz buni Homotikaga nima qilish va qachon qilish kerakligini aytib berish uchun ishlatamiz.

Bu misolda biz uy Wi -Fi tarmog'iga ulanganimizda va soat 16:00 dan 18:00 gacha chiroqni yoqamiz.

Tasker -ni ochish; yangi vazifa yarating (uni "Chiroqni yoqish" deb nomlang), Qo'shish> Plagin> Homotica -ni tanlang, plaginni sozlash uchun qalamni bosing. Chiroq> Yoniq va Saqlash -ni tanlang. Asosiy menyuga qaytib, yangi profil yarating, Shtat> Wi -Fi ulanishi -ni tanlang, SSID maydoniga Wi -Fi turini kiriting; orqaga bosing va faollikni kiritish paytida yorug'likni yoqishni tanlang. Endi, yangi yaratilgan profilning chap qismini uzoq bosib turing, Qo'shish> Vaqt> 16:00 dan 18:00 gacha, so'ngra yoping.

Biz tugatdik. Belgilangan vaqtda uyga kirganimizda chirog'imiz yonadi.

Bu juda qulay!

Endi sizning navbatingiz: Homotica va Tasker bilan ijod qiling va bizga nima yaratganingizni ko'rsatishni unutmang!

Tavsiya: