Mündəricat:

ESP8266 Cihazı ilə Kompüteri Uzaqdan Bağlayın və ya Yenidən Başlatın: 10 Addım (Şəkillərlə)
ESP8266 Cihazı ilə Kompüteri Uzaqdan Bağlayın və ya Yenidən Başlatın: 10 Addım (Şəkillərlə)

Video: ESP8266 Cihazı ilə Kompüteri Uzaqdan Bağlayın və ya Yenidən Başlatın: 10 Addım (Şəkillərlə)

Video: ESP8266 Cihazı ilə Kompüteri Uzaqdan Bağlayın və ya Yenidən Başlatın: 10 Addım (Şəkillərlə)
Video: ESP8266 ESP-01 Wi-Fi Relay Modulunu necə proqramlaşdırmaq olar 2024, Iyul
Anonim
Image
Image

Burada aydın olmaq üçün başqasının kompüterini deyil, SİZİN kompüterinizi bağlayırıq.

Hekayə belə gedir:

Facebookdakı bir dostum mənə mesaj yazdı və bir çox riyaziyyat işlədən bir kompüteri olduğunu söylədi, amma hər səhər saat 3 -də kilidlənir. Kompüterlər 30 dəqiqəlik məsafədə olduğundan, kompüterlərin dövriyyəsi üçün iki şəhəri (Cənubi Dakotada yaşayırıq) sürmək böyük bir narahatlıqdır. Soruşdu ki, onu rahat yatağının rahatlığından təhqir edən kompüteri yenidən başlatmasına imkan verən bir IoT cihazı qura bilərəmmi?

Heç vaxt problemi qaçırmamaq üçün onun üçün bir şeylər toplamağa razı oldum. Bu o layihədir.

Qeyd olunan iki bit keçidli bir ESP8266 ESP01, bir neçə LED və bir neçə evdə hazırlanan optoizolatordan istifadə edərək, hissələri Çindən eBay-də satın alsanız, bütün layihə təxminən 5 dollara başa gəlir. Bəlkə də Amazon -dan 20 dollar.

Bu, çoxlu lehimləmə ilə olduqca mürəkkəb bir quruluşdur. Vidalanmalarımı və yenidən lehimləməyimi nəzərə almadan, 20 saat ərzində daha yaxşı bir hissə çəkdim, amma heyrətamiz oldu və mükəmməl işləyir.

Başlayaq.

Addım 1: Prototip lövhəsi

Prototip lövhəsi
Prototip lövhəsi
Prototip lövhəsi
Prototip lövhəsi

Həmişə bütün layihələrə prototip çörək taxtası ilə başlayın. Bütün komponentlərə sahib olub -olmadığınızı və gözlənildiyi kimi işlədiyinizi təyin etməyin ən yaxşı yolu budur. Bu layihə bir az mürəkkəbdir, buna görə irəliləməzdən əvvəl onu çörək taxtası üzərində qurmağı məsləhət görürəm.

Ehtiyac duyacağınız hissələr bunlardır:

  • Bir ESP8266 ESP01 (hər hansı bir ESP8266 cihazı işləsə də)
  • İki 8 bitlik keçid qeydləri, 74HC595N istifadə etdim
  • 16 LED, 3.3V -də işləyən saman papaqlı ağ LED -lərdən istifadə etdim. Başqalarını istifadə edirsinizsə, rezistorlara ehtiyacınız ola bilər.
  • 3k3-ohm pulldown üç rezistor
  • Jumper telləri və çörək taxtası

Ən azı bir optoisolator qurmaq lazımdır. Qara daralma borusu, parlaq ağ LED, 220 ohm rezistor və fotorezistor istifadə etdim. 220-ohm rezistoru LED-in katotuna lehimləyin və sonra LED-i və büzülmə borusunun içərisindəki fotorezistoru bir-birinə baxaraq bağlayın. Ancaq bunları sonrakı bir mərhələdə əldə edəcəyik.

Növbəti addımda göstərilən tel sxeminə əməl edin. Kablolama olduqca sadədir.

ESP8266 3.3V -də işlədiyinə görə, onu düzgün şəkildə gücləndirdiyinizə əmin olun

Addım 2: Will-CAD istifadə edərək sxem

Will-CAD istifadə edərək sxem
Will-CAD istifadə edərək sxem

Sxem olduqca sadədir. 8 bitlik keçid qeydinin standart bağlanmasını izləyirik. İki 8 bitlik keçid qeydindən istifadə etdiyim üçün 'saat' və 'mandal' pinlərində birlikdə zəncirlənməlidirlər.

ESP01-in yalnız iki GPIO sancağı olduğundan, məqsədlərimiz üçün yaxşı işləyən TX & RX-i yenidən çıxış kimi istifadə etməliyik. Daha çox nəzarət etmək istəyirsinizsə, bir ESP-12 və ya ikidən çox GPIO sancağı olan başqa bir versiyadan istifadə edə bilərsiniz. Ancaq bu, layihənin dəyərinə daha 2 dollar əlavə edəcək - bu, sadəcə çılğın söhbətdir.

8 bitlik qeyd qeydlərimizi və ESP01 sancaqlarımızı açılışda yüksək çəkməliyik ki, qəribə işlər görməsinlər və ya proqram rejiminə keçməsinlər. Üç 3k3 rezistor istifadə etdim, daha böyük və ya kiçik dəyərlər də işləyəcəkdi. Bu dəyər, ESP01 -də alternativ sancaqlar istifadə etmək haqqında danışan bələdçilərdən əldə edilmişdir.

ESP01 (ESP8266)

  • TX saat pin 3k3 çəkmə
  • RX mandalı pin 3k3 çəkmə
  • 00 seriya məlumatları 3k3 çəkmə
  • 02 üzən

8 bitlik Shift Qeydiyyatı (74HC595H)

  • VCC 3.3V
  • OE 3.3V (bu aktivləşdirmə pinidir)
  • GND GND
  • CLR GND (bu, aydın pimi təmizləməyə mane olur)
  • Və LEDlər yerə düşür.

Addım 3: ESP8266 Kodu

ESP8266 kodu
ESP8266 kodu

ESP8266 kodu olduqca sadədir. Təəssüf ki, Instructables -dakı redaktor olduqca yararsızdır, buna görə kodu birbaşa Github -dan almaq istəyəcəksiniz.

"racks-reboot" layihəsi:

github.com/bluemonkeydev/arduino-projects/…

"SensorBase" sinfi burada mövcuddur. Kodumu "istifadə etmək" istəyirsinizsə, tələb olunur:

github.com/bluemonkeydev/arduino-projects/…

Qeyd etmək lazım olan bir neçə şey var. Kod olduqca yaxşı sənədləşdirilmişdir.

  1. Mən çox tənbəl bir inkişaf etdiriciyəm, buna görə yenidən istifadə edilə bilən ESP8266 kodunu "SensorBase" adlı bir sinifə qoydum. Bunu yuxarıdakı Github -da da tapa bilərsiniz.
  2. MQTT brokerinizin serverini, istifadəçi adınızı, şifrənizi və limanınızı yazmalısınız. CloudMQTT xidmətini yaratdığımız zaman bunları bir az aşağıda tapa bilərik.
  3. Mövzu sintaksisi formatımı izləməyinizə ehtiyac yoxdur. Ancaq buna əməl etməyi məsləhət görürəm.
  4. Bu kodda ağıllı heç nə yoxdur. Çox praqmatikdir.

Addım 4: Perfboard Layout

Perfboard Layout
Perfboard Layout

Bu layihə bir mini-məlumat mərkəzində quraşdırılacaq, buna görə də son dizayn üçün perf board istifadə etmək qərarına gəldim. Perfboard, bu cür layihələr üçün əla işləyir və xüsusi bir kağız kağızı istifadə edərək düzülüşü asandır. Burada mənim tərtibatımı görəcəksiniz. Əlbəttə ki, bunu başqa cür edə bilərsiniz.

Layihəmin iki 8 bitlik keçid qeydinə ehtiyacı var idi, buna görə də onların ortada yerləşdirilməsi ilə başladım. Optoisolatorlara bağlayıcılarımın ideal bir həll olmasa da, indiyə qədər sadə qadın başlıqları olacağını bilirdim.

LEDləri sevirəm və bunun hər bir optoizolator dövrəsi üçün bir LED olması lazım idi. Birbaşa lövhədə dərhal rəy ala bilsəm test mərhələsinin son dərəcə asan olacağını bilirdim, amma eyni zamanda bu LED -lərin lehimləmə işində böyük ağrılara səbəb olacağını da bilirdim. Və onlar idi. 5 mm -lik LED -lərdən daha kiçik bir şeyim yox idi, buna görə də onları əymək məcburiyyətində qaldım. Anodları yer telləri üzərində aparmaq istəmədiyim üçün son dizaynım katodların ziq-zaq modelini düzəltdi. Bu yaxşı bir dizayn olduğunu sübut etdi. LED telləri 8 bitlik keçid qeydlərinin üstünə qoşulur və sadəlik üçün lövhənin üstündə ekranlı tellərlə işləyir.

Güc üçün, köhnə bir USB kabelindən işə salmaq istədim ki, birbaşa kompüterlərdən birindən qidalansın. USB portları kompüter söndürüldükdə də normal olaraq işlədiyi üçün bu yaxşı işləyəcək. Gücü 3.3V -ə endirmək üçün LM317 xətti gərginlik tənzimləyicisindən istifadə etdim. 3.3V tənzimləyici də işləyərdi, amma məndə yox idi.

Çox tellərin kəsişməməsi üçün, perf lövhəsinin yuxarı tərəfində bir neçə tel çəkdim ki, bu da qarşısını almağa çalışıram. Çuxurların keçirici olduğunu unutmayın, buna görə şortdan qaçmaq üçün ekranlı tellərdən istifadə edin. Lövhənin yuxarı hissəsində baş verən əlaqələr diaqramımda kəsikli xətlərlə göstərilmişdir.

Addım 5: Lehimlənmiş lövhə

Lehimlənmiş lövhə
Lehimlənmiş lövhə

Son lehimli lövhəm həqiqətən yaxşı çıxdı. Gözlənildiyi kimi, yuxarıdakı LED -lər heç bir şort olmadan düzgün lehimlənmək üçün çox iş gördü. LEDləri və başlıqları lehimlədikdən sonra, şortunuz olub olmadığını müəyyən etmək üçün multimetrinizi istifadə edin. İndi bunu öyrənmək daha yaxşıdır.

LED -lərdən başqa hər şey çox yaxşı getdi. Bir neçə əlaqəni yenidən düzəltmək məcburiyyətində qaldım, amma bəzi xəstələrdə, bəzilərində hata ayıklama və bir az yenidən lehimləmə ilə hər şey yaxşı olacaq.

Bu fotodan görəcəksiniz ki, 8 telli CAT-5 kabelindən istifadə etdiyim optoizolatorları da bağladım. Səbəbi super ucuz olması, birləşdirilməsi asan olması və sonrakı addımda bu optoizolatorlar haqqında daha yaxşı qeyd olunmasıdır.

Addım 6: Optoizolatorların hazırlanması

Optoizolatorların hazırlanması
Optoizolatorların hazırlanması

Əlbəttə ki, öz optoisolatorlarınızı etmək lazım deyil. Bir çox kommersiya versiyası hər bir qəpik üçün mövcuddur və kompüterin elektrik xətlərini heç bir müqavimət göstərmədən birbaşa idarə edəcəyi üçün daha yaxşı işləyəcəkdir. Ancaq heç bir optoizolatorum yox idi, buna görə LED, rezistor və fotorezistor istifadə edərək özümü düzəltməliydim.

Qara büzülmə borusunun bir qolu içərisində, sayğacımdan az oxuya bilən "söndürmə" müqavimətinin bir neçə min ohm olduğunu təsdiqlədikdən sonra, köhnə bir anakartda son test etdim. Mənim üçün mükəmməl işləyirdi. Bəzi kompüterlərin az və ya çox həssas ola biləcəyindən şübhələnirəm, amma test etdiyim anakartlarda bu konfiqurasiya yaxşı işləyirdi.

Fotorezistora maksimum işığı daxil etmək üçün həqiqətən parlaq bir ağ LED istifadə etmək istəyəcəksiniz. Çox seçim etmədim, amma parlaq ağ LED və 220 ohm rezistor mütləq yaxşı işləyir.

Addım 7: CloudMQTT Quraşdırması

CloudMQTT Quraşdırması
CloudMQTT Quraşdırması
CloudMQTT Quraşdırması
CloudMQTT Quraşdırması
CloudMQTT Quraşdırması
CloudMQTT Quraşdırması

Hər hansı bir MQTT xidməti və ya Blynk kimi oxşar IoT xidməti işləyərdi, amma bu layihə üçün CloudMQTT -dən istifadə etməyi seçirəm. Keçmişdə bir çox layihə üçün CloudeMQTT -dən istifadə etmişəm və bu layihə bir dostunuza veriləcəyi üçün köçürə biləcəyiniz yeni bir hesab açmağın mənası var.

Bir CloudMQTT hesabı yaradın və sonra yeni bir "nümunə" yaradın, "Şirin Pişik" ölçüsünü seçin, çünki biz onu yalnız nəzarət üçün istifadə edirik, giriş yoxdur. CloudMQTT sizə bir server adı, istifadəçi adı, parol və liman nömrəsi təqdim edəcək. (Liman nömrəsinin standart MQTT portu olmadığını unutmayın). İşin düzgün olduğundan əmin olaraq bütün bu dəyərləri müvafiq yerlərdə ESP8266 kodunuza köçürün. (dəyərləri kopyalayın/yapışdırın)

Cihazınızın əlaqələrini, düymə basmalarını və qəribə bir ssenaridə bir səhv aldığınızı görmək üçün CloudMQTT üzərindəki "Websocket UI" panelindən istifadə edə bilərsiniz.

Android MQTT müştərisini konfiqurasiya edərkən bu parametrlərə ehtiyacınız olacaq, buna görə ehtiyacınız varsa dəyərləri qeyd edin. Ümid edirik ki, şifrənizi telefonunuza daxil etmək o qədər də çətin deyil. Bunu CloudMQTT -də təyin edə bilməzsiniz.

Addım 8: MQTT Android Müştəri

MQTT Android Müştəri
MQTT Android Müştəri
MQTT Android Müştəri
MQTT Android Müştəri
MQTT Android Müştəri
MQTT Android Müştəri
MQTT Android Müştəri
MQTT Android Müştəri

İstənilən Android (və ya iPhone) MQTT müştərisi işləyəcək, amma MQTT Dash -i bəyənirəm. MQTT Dash istifadə etmək asandır, çox həssasdır və ehtiyacınız olan bütün seçimlərə malikdir.

Quraşdırıldıqdan sonra, bir MQTT Server qurun, CloudMQTT -ə giriş məlumatlarınızı deyil, serverinizi, limanınızı, istifadəçi adınızı və şifrənizi nümunənizin dəyərləri ilə doldurun. İstədiyiniz müştəri adından istifadə edə bilərsiniz.

Hər şeyi düzgün yazmısınızsa, avtomatik olaraq MQTT serverinizə qoşulacaq və heç bir düymə, mətn və ya mesaj qurmadığınız üçün sizə boş bir ekran göstərəcək. Boş ekranda sağ üst küncdə "+" işarəsi görürsünüz, üzərinə vurun və sonra "Seç/Düyməni" seçin. Kompüter başına bir "Seç/Düymə" əlavə edəcəyik, buna görə 8 və ya 16 və ya daha az.

Bir əlaqə xətası əldə etmisinizsə, dəyərlərdən biri səhvdir. Geri qayıdın və iki dəfə yoxlayın

Hər bir kompüter kodunuzda göstərilən dəyərlərə uyğun olan mövzudan istifadə edəcək. Mənim konvensiyalarımı yerinə yetirsəydiniz, "cluster/rack-01/computer/01" olardı. Kodumuza uyğun olaraq "açma" və "söndürmə" dəyərlərini dəyişdirmək yaxşı olardı. "0" və "1" əvəzinə "on" və "off" dəyərlərini istifadə edin. QoS (1) istifadə etməyi də tövsiyə edərdim, çünki serverdən təsdiq gözləyəcəyik.

Birini əlavə etdikdən sonra uzun müddət basıb bir dəstə yaratmaq üçün "klon" seçimindən istifadə edə bilərsiniz, sonra adlarını və mövzusunu dəyişə bilərsiniz.

Kifayət qədər asan.

Addım 9: Wifi -də ESP8266 -nı əldə edin

Wifi -də ESP8266 -nı əldə edin
Wifi -də ESP8266 -nı əldə edin

ESP8266 Wifi Manager modulundan istifadə edərək, cihazımızı Wifi -yə çıxarmaq çox rahatdır. SensorBase sinifimi istifadə etmisinizsə, artıq quraşdırılmışdır. Əks təqdirdə, Wifi Manager səhifəsindəki təlimatları izləyin.

Wifi Meneceri, açılışda SSID -ə qoşulmağa çalışacaq, ancaq bunu heç vaxt SSID -ni demədiyinizə görə, bu səbəbdən avtomatik olaraq giriş nöqtəsi rejiminə (və ya AP rejiminə) keçəcək və SSID -inizi tələb edən sadə bir veb səhifəyə xidmət edəcək. & Şifrə. Telefonunuzu və ya dizüstü kompüterinizi istifadə edərək, "xxxxxx" in təsadüfi (təsadüfi deyil) bir sıra olduğu "ESP_xxxxxx" SSID adı ilə yeni mövcud olan simsiz şəbəkəni bağlayın. (Tam təlimatları Wifi Manager səhifəsində tapa bilərsiniz.)

Bağlandıqdan sonra veb brauzerinizi açın və 192.168.4.1 -ə işarə edin, SSID və Şifrənizi yazın və Saxla düyməsini basın.

İndi internetdəsiniz və IoT cihazınızda "I" hissəsi işləyir!

Addım 10: Son Bağlantı və Test

Son Bağlantı və Test
Son Bağlantı və Test

Hər şey hazırdır.

Hər şeyi bağlamaq üçün kompüterinizin güc düyməsinin kabelini anakartla uyğun olduğu yerdə tapın. Bir dəstə tel və bağlayıcı ilə iki sıra başlıq görməlisiniz. Tipik olaraq, onlar olduqca yaxşı etiketlənir. Şalterinizi ayırın və optoizolator fişini qoşun. Mənə "Dupont" fişləri taxdım, buna görə də elektrik kabeli kimi bağladılar. Bu istiqamətdəki polaritenin əhəmiyyəti yoxdur, ancaq digər ucun polaritesinin düzgün olduğuna əmin olun - xüsusi lövhənizə gedən.

Və mükəmməl işləyir. MQTT Dash müştəri (və ya oxşar alət) istifadə edərək kompüterlərinizi uzaqdan idarə edə bilərsiniz.

Tətbiqinizdəki müvafiq yoxlama düyməsini basın və tətbiq "söndürüldü" mesajı ilə MQTT serverindən eşitdikdə düymə yenidən yoxlanılmayacaq.

Bir neçə həftədir ki, heç bir problem olmadan işləyir. Kompüterlərdəki düyməni aşağı çəkmə müddətinin uzadılması lazım olduğunu gördük. 1 tam saniyə ilə başa vurduq. Bu dəyər, MQTT serveri vasitəsi ilə təyin edilə bilən bir dəyər olaraq ortaya çıxa bilər və ya istəyinizə görə dəyəri sabitləşdirə bilərsiniz.

Uğurlar, və sənin necə olduğunu mənə bildir.

Tövsiyə: