Mundarija:

ESP8266 qurilmasi yordamida kompyuterni masofadan o'chirish yoki qayta ishga tushirish: 10 qadam (rasmlar bilan)
ESP8266 qurilmasi yordamida kompyuterni masofadan o'chirish yoki qayta ishga tushirish: 10 qadam (rasmlar bilan)

Video: ESP8266 qurilmasi yordamida kompyuterni masofadan o'chirish yoki qayta ishga tushirish: 10 qadam (rasmlar bilan)

Video: ESP8266 qurilmasi yordamida kompyuterni masofadan o'chirish yoki qayta ishga tushirish: 10 qadam (rasmlar bilan)
Video: Telegram accountini buzib kiramiz! 2024, Noyabr
Anonim
Image
Image

Bu erda aniq bo'lish uchun, biz sizning kompyuteringizni yopamiz, boshqa birovning kompyuterini emas.

Hikoya shunday bo'ladi:

Facebookdagi bir do'stim menga xabar yubordi va u erda matematikani ishlatadigan o'nlab kompyuterlari borligini aytdi, lekin har kuni ertalab soat 3 da ular qulflanib qolishadi. Kompyuterlar 30 daqiqalik masofada bo'lgani uchun, biz kompyuterlarni qayta ishga tushirish uchun ikkita shaharni (biz Janubiy Dakota shtatida yashaymiz) haydab chiqarish katta qiyinchilik tug'diradi. U so'radi, men unga yotog'idan turib, buzilgan kompyuterni qayta ishga tushirishga imkon beradigan IoT qurilmasini qura olamanmi?

Hech qachon qiyinchilikni o'tkazib yubormaslik uchun, men unga biror narsa yig'ishga rozi bo'ldim. Bu o'sha loyiha.

Ikkita bit-smenali ESP8266 ESP01, bir nechta LED va bir nechta uy qurilishi optoizolyatorlaridan foydalangan holda, agar siz ehtiyot qismlarni eBay-dan Xitoydan sotib olsangiz, butun loyiha 5 dollarga tushadi. Balki Amazondan 20 dollar.

Bu juda nozik lehim bilan juda murakkab qurilish. Mening burilishlarimni va qayta lehimlashni hisobga olmaganda, menga 20 soat ichida ko'proq vaqt kerak bo'ldi, lekin bu ajoyib bo'lib chiqdi va juda yaxshi ishladi.

Boshlaylik.

1 -qadam: prototiplar paneli

Prototiplar taxtasi
Prototiplar taxtasi
Prototiplar taxtasi
Prototiplar taxtasi

Hamma loyihalarni har doim prototipli non panelidan boshlang. Bu sizning barcha komponentlaringiz borligini va kutilganidek ishlashini aniqlashning eng yaxshi usuli. Bu loyiha biroz murakkab, shuning uchun men oldinga siljishdan oldin uni non paneli ustida qurishni tavsiya qilaman.

Sizga kerak bo'lgan qismlar:

  • Bitta ESP8266 ESP01 (garchi har qanday ESP8266 qurilmasi ishlaydi)
  • Ikkita 8-bitli o'zgarish registrlari, men 74HC595N-dan foydalanardim
  • 16 LED, men 3,3V kuchlanishli somon shlyapali oq LEDlardan foydalanardim. Agar siz boshqalardan foydalansangiz, sizga rezistorlar kerak bo'lishi mumkin.
  • 3k3 ohmli uchta qarshilik
  • Jumper simlari va non paneli

Bundan tashqari, siz kamida bitta optoizolyatorni qurishingiz kerak bo'ladi. Men qora shrink trubkasini, oq oq LEDni, 220 ohmli rezistorni va fotorezistorni ishlatardim. 220-ohmli rezistorni LEDning katotiga lehimlang, so'ngra LEDni va fotorezistorni bir-biriga qarama-qarshi trubka ichida muhrlang. Ammo biz ularga keyingi bosqichda murojaat qilamiz.

Keyingi bosqichda ko'rsatilgan ulanish sxemasiga amal qiling. Ulanish juda oddiy.

ESP8266 3.3V da ishlagani uchun uni to'g'ri quvvatlantirganingizga ishonch hosil qiling

2-qadam: Will-CAD yordamida sxema

Will-CADdan foydalanish sxemasi
Will-CADdan foydalanish sxemasi

Sxema juda oddiy. Biz 8-bitli smenali registrning standart o'tkazilishini kuzatamiz. Men ikkita 8-bitli smenali registrlardan foydalanayotganim uchun ularni "soat" va "mandal" pinlarida bir-biriga bog'lab qo'yish kerak.

ESP01 faqat ikkita GPIO piniga ega bo'lganligi sababli, biz TX & RX-ni chiqish sifatida qayta ishlatishimiz kerak, bu bizning maqsadlarimiz uchun yaxshi ishlaydi. Agar siz ko'proq nazorat qilishni xohlasangiz, ESP-12 yoki ikkitadan ortiq GPIO pinli boshqa versiyadan foydalanishingiz mumkin. Ammo bu loyiha narxiga yana 2 dollar qo'shadi - bu shunchaki bema'ni gap.

Biz 8-bitli o'zgarish registrlarini va ESP01 pinlarini yuklashda ushlab turishimiz kerak, shuning uchun ular g'alati ish qilmaydilar yoki dastur rejimiga o'tmaydilar. Men uchta 3k3 rezistordan foydalandim, kattaroq yoki kichikroq qiymatlar ham ishlaydi. Bu qiymat ESP01 -dagi muqobil pinlardan foydalanish haqida gapiradigan qo'llanmalardan olingan.

ESP01 (ESP8266)

  • TX soat pin 3k3 tortish
  • RX mandalli pin 3k3
  • 00 seriyali ma'lumotlar 3k3
  • 02 suzuvchi

8-bitli Shift reestri (74HC595H)

  • VCC 3.3V
  • OE 3.3V (bu yoqish pimi)
  • GND GND
  • CLR GND (bu aniq pinni tozalashga to'sqinlik qiladi)
  • Va LEDlar erga tushadi.

3 -qadam: ESP8266 kodi

ESP8266 kodi
ESP8266 kodi

ESP8266 kodi juda oddiy. Afsuski, Instructables -dagi muharrir juda foydasiz, shuning uchun siz kodni to'g'ridan -to'g'ri Github -dan olishni xohlaysiz.

"Racks-reboot" loyihasi:

github.com/bluemonkeydev/arduino-projects/…

"SensorBase" klassi bu erda mavjud. Agar siz mening kodimni "ishlatmoqchi bo'lsangiz" talab qilinadi:

github.com/bluemonkeydev/arduino-projects/…

E'tibor qilish kerak bo'lgan bir nechta narsa bor. Kod juda yaxshi hujjatlashtirilgan.

  1. Men juda dangasa ishlab chiquvchiman, shuning uchun qayta ishlatiladigan ESP8266 kodini "SensorBase" deb nomlangan sinfga kiritdim. Buni Github -da ham topishingiz mumkin, yuqoridagi havola.
  2. Siz MQTT brokerining serverini, foydalanuvchi nomini, parolini va portini kiritishingiz kerak. Biz CloudMQTT xizmatini yaratganimizda ularni biroz pastroqda topish mumkin.
  3. Siz mening mavzu sintaksisi formatiga rioya qilishingiz shart emas. Biroq, men unga rioya qilishni maslahat beraman.
  4. Bu kodda aqlli narsa yo'q. Bu juda pragmatik.

4 -qadam: Perfboard tartibi

Perfboard tartibi
Perfboard tartibi

Ushbu loyiha mini-ma'lumotlar markaziga o'rnatiladi, shuning uchun men yakuniy dizayn uchun perf kartasidan foydalanishga qaror qildim. Perfboard bu kabi loyihalar uchun juda yaxshi ishlaydi va uni maxsus grafik qog'oz yordamida joylashtirish oson. Bu erda siz mening tartibimni ko'rasiz. Albatta, siz boshqacha yo'l tutishingiz mumkin.

Mening loyihamga ikkita 8-bitli smenali registr kerak edi, shuning uchun men ularning joylashuvini o'rtasidan boshladim. Men bilardimki, optoizolyatorlarga ulagichlar hozircha oddiy ayol sarlavhalari bo'ladi, garchi bu ideal echim bo'lmasa ham.

Men LEDlarni yaxshi ko'raman va buning uchun har bir optoizolyator davri uchun LED bo'lishi kerak edi. Men bilardimki, agar men to'g'ridan -to'g'ri bortda tezkor javob olsam, sinov bosqichi cheksiz osonroq bo'ladi, lekin men shuni bilardimki, bu LEDlar lehimlashda katta og'riq keltiradi. Va ular edi. Menda 5 mm diametrli LEDlardan kichikroq narsa yo'q edi, shuning uchun men ularni qoqib qo'yishga majbur bo'ldim. Mening oxirgi dizaynim katodlarning zig-zag naqshini yaratdi, chunki men anodlarni er simlari orqali o'tkazishni xohlamadim. Bu yaxshi dizayn ekanligini isbotladi. LED simlari 8-bitli smenali registrlar ustida birlashadi va bortning yuqori qismida ekranlangan simlar bilan ishlaydi.

Quvvat uchun, men uni to'g'ridan -to'g'ri kompyuterlardan birining quvvatiga ega bo'lish uchun eski USB kabelidan ishlatmoqchi edim. Bu yaxshi ishlaydi, chunki USB portlari odatda kompyuter o'chirilgan bo'lsa ham quvvatlanadi. Quvvatni 3,3V ga kamaytirish uchun men LM317 chiziqli kuchlanish regulyatoridan foydalandim. 3.3V regulyator ham ishlagan bo'lardi, lekin menda yo'q edi.

Juda ko'p simlar kesilmasligi uchun, men perfart taxtaning yuqori tomonida bir nechta sim o'tkazdim. Shuni esda tutingki, teshiklar o'tkazuvchan, shuning uchun qisqa tutashuvni oldini olish uchun ekranlangan simlardan foydalaning. Kengashning yuqori qismida joylashgan ulanishlar diagrammada kesilgan chiziqlar bilan ko'rsatilgan.

5 -qadam: lehimli taxta

Lehimlangan taxta
Lehimlangan taxta

Mening oxirgi lehimli taxtam juda yaxshi chiqdi. Kutilganidek, tepadagi LEDlar hech qanday shortisiz to'g'ri lehimlanishi uchun ko'p mehnat talab qilingan. LED va sarlavhalarni lehimlagandan so'ng, multimetrdan foydalanib, sizda shortilar bor -yo'qligini aniqlang. Buni hoziroq bilib olish yaxshiroqdir.

LEDlardan tashqari, hamma narsa juda yaxshi o'tdi. Men bir nechta ulanishlarni qayta tiklashim kerak edi, lekin ba'zi bemorlar, ba'zi disk raskadrovka va biroz lehim bilan hamma narsa yaxshi ishlaydi.

Siz bu rasmdan ko'rasiz, men optiozolyatorlarni ham uladim, ular 8 simli CAT-5 kabelidan foydalangan. Sababi shundaki, u juda arzon, birlashtirilishi oson va keyingi bosqichda o'sha optoizolyatorlar haqida yaxshi belgilangan.

6 -qadam: Optoizolyatorlar tayyorlash

Optoizolyatorlar ishlab chiqarish
Optoizolyatorlar ishlab chiqarish

Albatta, siz o'zingiz optoizolyator yasashingiz shart emas. Ko'p tijorat versiyalari har bir tiyin uchun mavjud va ular yaxshiroq ishlaydi, chunki ular hech qanday qarshiliksiz to'g'ridan -to'g'ri kompyuterning elektr uzatish liniyalarini boshqaradi. Ammo menda optoizolyator yo'q edi, shuning uchun men o'zimni LED, rezistor va fotorezistor yordamida yasashga majbur bo'ldim.

Qora qisqichli trubkaning yengida, o'lchagichimdan past bo'lgan "o'chirilgan" qarshilik o'qilishi mumkinligi va "yoqilgan" qarshiligi bir necha ming ohm ekanligini tasdiqlaganimdan so'ng, men eski anakartda oxirgi sinovni o'tkazdim. Bu men uchun mukammal ishladi. Menimcha, ba'zi kompyuterlar sezgirroq bo'lishi mumkin, lekin men sinab ko'rgan anakartlarda bu konfiguratsiya yaxshi ishlagan.

Fotorezistorga maksimal yorug'lik olish uchun siz haqiqatan ham oq rangli oq LEDni ishlatishni xohlaysiz. Men ko'p variantlarni sinab ko'rmadim, lekin yorqin oq LED va 220 ohmli rezistor, albatta, yaxshi ishlaydi.

7 -qadam: CloudMQTT -ni sozlash

CloudMQTT sozlamalari
CloudMQTT sozlamalari
CloudMQTT sozlamalari
CloudMQTT sozlamalari
CloudMQTT sozlamalari
CloudMQTT sozlamalari

Har qanday MQTT xizmati yoki Blynk kabi shunga o'xshash IoT xizmati ishlaydi, lekin men bu loyiha uchun CloudMQTT dan foydalanishni tanlayman. Men ilgari CloudeMQTT -ni ko'plab loyihalar uchun ishlatganman va bu loyiha do'stimga topshiriladi, shuning uchun ham uni o'tkazish mumkin bo'lgan yangi hisob yaratish mantiqan.

CloudMQTT hisob qaydnomasini yarating, so'ngra yangi "misol" yarating, "Yoqimli mushuk" hajmini tanlang, chunki biz uni faqat nazorat qilish uchun ishlatamiz, jurnalga yozilmaydi. CloudMQTT sizga server nomi, foydalanuvchi nomi, parol va port raqamini beradi. (E'tibor bering, port raqami standart MQTT porti emas). Ishning to'g'riligiga ishonch hosil qilib, ushbu qiymatlarning barchasini tegishli joylarga ESP8266 kodingizga o'tkazing. (jiddiy, qiymatlarni nusxalash/joylashtirish)

Siz CloudMQTT -dagi "Websocket UI" panelini ishlatib, qurilmangizning ulanishlarini, tugmachalarini bosishlarini va g'alati stsenariyda xato, xato xabarini ko'rishingiz mumkin.

Android MQTT mijozini sozlashda sizga bu sozlamalar kerak bo'ladi, shuning uchun agar kerak bo'lsa, qiymatlarga e'tibor bering. Umid qilamanki, sizning parolingiz telefoningizga kiritish uchun unchalik murakkab emas. Siz buni CloudMQTT -da o'rnatolmaysiz.

8 -qadam: MQTT Android mijozi

MQTT Android mijozi
MQTT Android mijozi
MQTT Android mijozi
MQTT Android mijozi
MQTT Android mijozi
MQTT Android mijozi
MQTT Android mijozi
MQTT Android mijozi

Har qanday Android (yoki iPhone) MQTT mijozi ishlaydi, lekin menga MQTT Dash yoqadi. MQTT Dash -dan foydalanish oson, juda sezgir va sizga kerak bo'lgan barcha variantlarga ega.

O'rnatilgandan so'ng, MQTT serverini o'rnating, CloudMQTT -ga kirish ma'lumotlarini emas, balki server, port, foydalanuvchi nomi va parolni namuna qiymatlari bilan to'ldiring. Siz xohlagan mijoz nomidan foydalanishingiz mumkin.

Agar siz hamma narsani to'g'ri yozgan bo'lsangiz, u avtomatik ravishda sizning MQTT serveringizga ulanadi va bo'sh ekranni ko'rsatadi, chunki siz hali hech qanday tugma, matn yoki xabar o'rnatmagansiz. Bo'sh ekranda yuqori o'ng burchakda "+" belgisini ko'rasiz, ustiga bosing va "Tanlash/Tugma" ni tanlang. Biz har bir kompyuterga bitta "Tanlash/Tugma" qo'shamiz, shuning uchun 8 yoki 16 yoki undan kam.

Agar siz ulanish xatosini olgan bo'lsangiz, sizda qiymatlardan biri noto'g'ri. Orqaga qayting va ikki marta tekshiring

Har bir kompyuter sizning kodingizda ko'rsatilgan qiymatlarga mos keladigan mavzuni ishlatadi. Agar siz mening konvensiyalarimga rioya qilsangiz, ular "klaster/rack-01/computer/01" bo'lar edi. Bizning kodimizga mos keladigan "yoqish" va "o'chirish" qiymatlarini o'zgartirish yaxshi bo'lardi. "0" va "1" o'rniga mos ravishda "on" va "off" qiymatlarini ishlating. Men ham QoS (1) dan foydalanishni tavsiya qilaman, chunki biz serverdan tasdiq kutamiz.

Bir qo'shgandan so'ng, siz "klon" variantini uzoq bosib turishingiz mumkin, so'ngra ularning nomi va mavzusini o'zgartirishingiz mumkin.

Etarli darajada oson.

9 -qadam: ESP8266 -ni Wi -Fi -ga o'rnatish

ESP8266 -ni Wi -Fi orqali olish
ESP8266 -ni Wi -Fi orqali olish

ESP8266 Wi -Fi menejeri modulidan foydalanib, bizning qurilmamizni Wi -Fi -ga ulash juda oson. Agar siz SensorBase sinfidan foydalansangiz, u allaqachon o'rnatilgan. Aks holda, Wifi menejeri sahifasidagi ko'rsatmalarga amal qiling.

Wi -Fi menejeri yuklash paytida SSID -ga ulanishga urinib ko'radi, lekin siz buni hech qachon SSID -ga aytmagansiz, u avtomatik ravishda kirish nuqtasi rejimiga (yoki AP rejimiga) o'tadi va sizning SSID -ni so'raydigan oddiy veb -sahifaga xizmat qiladi. & Parol. Telefon yoki noutbukdan foydalanib, yangi mavjud bo'lgan simsiz tarmoqni "ESP_xxxxxx" SSID nomi bilan ulang, bu erda "xxxxxx" tasodifiy (tasodifiy emas) ketma-ketlikdir. (To'liq ko'rsatmalarni Wifi menejeri sahifasida topish mumkin.)

Ulangach, veb -brauzeringizni oching va uni 192.168.4.1 -ga yo'naltiring, SSID va parolni kiriting va Saqlash -ni bosing.

Siz hozir Internetdasiz va sizning IoT qurilmangizda "I" qismi ishlaydi!

10 -qadam: Yakuniy ulanish va sinov

Yakuniy ulanish va sinov
Yakuniy ulanish va sinov

Hammasi bajarildi.

Hamma narsani ulash uchun kompyuterning quvvat tugmasi kabelini anakartga mos keladigan joyini toping. Siz simlar va ulagichlar bilan ikki qatorli sarlavhalarni ko'rishingiz kerak. Odatda, ular juda yaxshi etiketlanadi. Kalitni uzing va optoizolyator vilkasini ulang. Men o'zimga "Dupont" vilkalarini qo'ydim, shuning uchun ular xuddi elektr kabeli singari ulangan. Bu yo'nalishdagi qutblanish muhim emas, lekin siz boshqa uchining kutupluluğunun to'g'ri ekanligiga ishonch hosil qiling - bu sizning maxsus taxtangizga.

Va u mukammal ishlaydi. MQTT Dash mijozidan (yoki shunga o'xshash vositadan) foydalanib, kompyuterlaringizni masofadan quvvatlantirishingiz mumkin.

Ilovangizdagi mos keladigan tekshirish tugmachasini bosing va ilova MQTT serveridan "o'chirilgan" degan xabarni eshitganidan so'ng, tugma qaytarilmagan holatga o'tadi.

Bu bir necha haftadan beri muammosiz ishlaydi. Biz shuni payqadikki, kompyuterda tugmani past bosish vaqti uzaytirilishi kerak edi. Biz 1 soniya bilan yakunladik. Bu qiymat MQTT serveri orqali o'rnatiladigan qiymat sifatida ko'rsatilishi mumkin, yoki siz xohlaganingizga qarab qiymatni belgilashingiz mumkin.

Omad tilaymiz, va sizniki qanday bo'lganini menga xabar bering.

Tavsiya: