Satura rādītājs:

Datora izslēgšana vai restartēšana, izmantojot ierīci ESP8266: 10 soļi (ar attēliem)
Datora izslēgšana vai restartēšana, izmantojot ierīci ESP8266: 10 soļi (ar attēliem)

Video: Datora izslēgšana vai restartēšana, izmantojot ierīci ESP8266: 10 soļi (ar attēliem)

Video: Datora izslēgšana vai restartēšana, izmantojot ierīci ESP8266: 10 soļi (ar attēliem)
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Novembris
Anonim
Image
Image

Lai būtu skaidrs, mēs izslēdzam JŪSU datoru, nevis kāda cita datoru.

Stāsts ir šāds:

Mans draugs vietnē Facebook man nosūtīja īsziņu un teica, ka viņam ir ducis datoru, kuros darbojas ķekars matemātikas, bet katru rītu pulksten 3 no rīta tie tiek bloķēti. Tā kā datori atrodas 30 minūšu attālumā, ir milzīgs apgrūtinājums braukt pa divām pilsētām (mēs dzīvojam Dienviddakotā), lai ieslēgtu datorus. Viņš jautāja, vai es varu uzbūvēt viņam IoT ierīci, kas ļautu viņam restartēt vainīgo datoru no savas mājīgās gultas komforta?

Lai nekad nepalaistu garām izaicinājumu, es piekritu viņam kaut ko salikt. Šis ir tas projekts.

Izmantojot divas reģistrētas bitu maiņas, ESP8266 ESP01, nedaudzas gaismas diodes un dažus pašdarinātus optoizolatorus, viss projekts maksā aptuveni 5 USD, ja pērkat detaļas no Ķīnas eBay. Varbūt $ 20 no Amazon.

Šī ir diezgan sarežģīta konstrukcija ar daudz smalku lodēšanu. Neskaitot manas skrūves un atkārtotu lodēšanu, man bija nepieciešamas labākās 20 stundas, lai to izgatavotu, bet tas izrādījās pārsteidzošs un strādāja perfekti.

Sāksim.

1. solis: prototipa dēlis

Prototipa dēlis
Prototipa dēlis
Prototipa dēlis
Prototipa dēlis

Visus projektus vienmēr sāciet ar maizes dēļa prototipu. Tas ir labākais veids, kā noteikt, vai jums ir visas sastāvdaļas un vai tas darbojas, kā paredzēts. Šis projekts ir nedaudz sarežģīts, tāpēc es ļoti iesaku to uzbūvēt uz maizes dēļa, pirms virzāties uz priekšu.

Jums vajadzīgās detaļas ir:

  • Viena ESP8266 ESP01 (lai gan jebkura ESP8266 ierīce darbotos)
  • Divi 8 bitu maiņu reģistri, es izmantoju 74HC595N
  • 16 gaismas diodes, es izmantoju salmu cepures baltas gaismas diodes, kas darbojas pie 3.3V. Ja izmantojat citus, jums var būt nepieciešami rezistori.
  • Trīs 3k3-ohmpulldown rezistori
  • Jumper vadi un maizes dēlis

Jums būs arī jāveido vismaz viens optoizolators. Es izmantoju melnas saraušanās caurules, spilgti baltu LED, 220 omu rezistoru un fotorezistoru. Lodējiet 220 omu rezistoru pie gaismas diodes katoda un pēc tam aizzīmogojiet gaismas diodi un fotorezistoru saraušanās caurules iekšpusē viens pret otru. Bet pie tiem mēs nonāksim vēlāk.

Izpildiet elektroinstalācijas shēmu, kas sniegta nākamajā darbībā. Elektroinstalācija ir diezgan vienkārša.

Tā kā ESP8266 darbojas ar 3,3 V spriegumu, pārliecinieties, vai tas ir pienācīgi barots

2. darbība. Shēma, izmantojot Will-CAD

Shēma, izmantojot Will-CAD
Shēma, izmantojot Will-CAD

Shēma ir diezgan vienkārša. Mēs sekojam 8 bitu maiņu reģistra standarta savienojumam. Tā kā es izmantoju divus 8 bitu maiņu reģistrus, tie ir jāsavieno kopā savās pulksteņa un fiksatora tapās.

Tā kā ESP01 ir tikai divas GPIO tapas, mums ir atkārtoti jāizmanto TX & RX kā izejas, kas mūsu mērķiem darbojas labi. Ja vēlaties lielāku kontroli, varat izmantot ESP-12 vai citu versiju ar vairāk nekā divām GPIO tapām. Bet tas projekta izmaksām pievienos vēl 2 ASV dolārus - tas ir tikai traki.

Mums ir jāuztur mūsu 8 bitu maiņu reģistri un ESP01 tapas, kas ir paceltas uz sāknēšanas, lai tie nedarītu dīvainas lietas vai neieslēgtos programmas režīmā. Es izmantoju trīs 3k3 rezistorus, derētu arī lielākas vai mazākas vērtības. Šī vērtība tika iegūta no ceļvežiem, kas runāja par alternatīvu tapu izmantošanu ESP01.

ESP01 (ESP8266)

  • TX pulksteņa tapas 3k3 pullup
  • RX fiksatora tapa 3k3 pullup
  • 00 sērijas dati 3k3 pullup
  • 02 peldošs

8 bitu maiņu reģistrs (74HC595H)

  • VCC 3.3V
  • OE 3.3V (šī ir iespējošanas tapa)
  • GND GND
  • CLR GND (tas neļauj notīrīt tapu)
  • Un gaismas diodes, tās iet uz zemes.

3. darbība: kods ESP8266

Kods ESP8266
Kods ESP8266

ESP8266 kods ir diezgan vienkāršs. Diemžēl Instructables redaktors ir diezgan bezjēdzīgs, tāpēc jūs vēlaties iegūt kodu tieši no Github.

projekts "racks-reboot":

github.com/bluemonkeydev/arduino-projects/…

"SensorBase" klase ir pieejama šeit. Tas ir nepieciešams, ja vēlaties "izmantot" manu kodu:

github.com/bluemonkeydev/arduino-projects/…

Jāņem vērā dažas lietas. Kods ir diezgan labi dokumentēts.

  1. Es esmu ļoti slinks izstrādātājs, tāpēc es ievietoju visu atkārtoti lietojamo ESP8266 kodu klasē ar nosaukumu "SensorBase". To var atrast arī vietnē Github, saite iepriekš.
  2. Jums jāievada sava MQTT brokera serveris, lietotājvārds, parole un ports. Tos var atrast nedaudz tālāk, kad mēs izveidojam pakalpojumu CloudMQTT.
  3. Jums NAV jāievēro mans tēmas sintakses formāts. Tomēr es ieteiktu to ievērot.
  4. Šajā kodā nav nekā gudra. Tas ir ļoti pragmatiski.

4. solis: Perfboard izkārtojums

Perfboard izkārtojums
Perfboard izkārtojums

Šis projekts tiks instalēts mini datu centrā, tāpēc es nolēmu galīgajam dizainam izmantot tikai perf dēli. Perfboard lieliski darbojas šādos projektos, un to ir viegli izkārtot, izmantojot pielāgotu grafiskā papīra gabalu. Šeit jūs redzēsit manu izkārtojumu. Protams, jūs varat izvēlēties to darīt savādāk.

Manam projektam bija nepieciešami divi 8 bitu maiņu reģistri, tāpēc es sāku ar to pozicionēšanu vidū. Es zināju, ka mani savienotāji ar optoizolatoriem pagaidām būs vienkāršas sieviešu galvenes, lai gan tas nav ideāls risinājums.

Man patīk gaismas diodes, un tam vajadzēja, lai katrai optoizolatora shēmai būtu LED. Es zināju, ka testa fāze būtu bezgala vienkārša, ja es varētu saņemt tūlītēju atgriezenisko saiti tieši uz tāfeles, taču es arī zināju, ka šīs gaismas diodes radīs milzīgas sāpes lodēšanai. Un viņi bija. Man nebija nekā mazāka par 5 mm gaismas diodēm, tāpēc man vajadzēja tos pakārtot. Mans galīgais dizains veidoja katodu zigzaga rakstu, jo es negribēju vadīt anodus pa zemes vadiem. Tas izrādījās labs dizains. Gaismas diodes vadi savienojas virs 8 bitu maiņu reģistriem un vienkāršības dēļ darbojas ar paneļa augšdaļu ar ekranētiem vadiem.

Lai iegūtu enerģiju, es gribēju to palaist no veca USB kabeļa, lai to darbinātu tieši no viena datora. Tas darbosies labi, jo USB porti parasti tiek darbināti pat tad, ja dators ir izslēgts. Es izmantoju LM317 lineāro sprieguma regulatoru, lai samazinātu jaudu līdz 3,3 V. Būtu strādājis arī 3.3V regulators, bet man tāda nebija.

Lai izvairītos no pārāk daudz vadu krustošanās, es vadīju dažus vadus perf paneļa augšējā pusē, no kā es cenšos izvairīties. Paturiet prātā, ka caurumi ir vadoši, tāpēc, lai izvairītos no šortiem, izmantojiet ekranētus vadus. Šie savienojumi, kas notiek tāfeles augšpusē, manā diagrammā ir parādīti punktētās līnijās.

5. solis: Lodētā dēlis

Lodēta tāfele
Lodēta tāfele

Mana pēdējā lodētā dēlis izrādījās patiešām laba. Kā gaidīts, augšpusē esošās gaismas diodes prasīja daudz darba, lai pareizi pielodētu bez šortiem. Kad esat lodējis gaismas diodes un galvenes, izmantojiet savu multimetru, lai noteiktu, vai jums ir šorti. Vislabāk to uzzināt tagad.

Izņemot gaismas diodes, viss pārējais gāja diezgan labi. Man bija jāpārveido daži savienojumi, taču ar dažiem pacientiem, dažiem atkļūdošanu un nelielu atkārtotu lodēšanu viss darbosies labi.

No šīs fotogrāfijas jūs redzēsiet, ka esmu pievienojis arī optoizolatorus, kurus izmantoju ar 8 vadu CAT-5 kabeli. Iemesls tam ir tas, ka tas ir ļoti lēts, viegli saliekams un ir labi atzīmēts-vairāk par šiem optoizolatoriem nākamajā solī.

6. solis: Optoizolatoru izgatavošana

Optoizolatoru izgatavošana
Optoizolatoru izgatavošana

Protams, jums pašiem nav jāizgatavo optoizolatori. Daudzas komerciālas versijas ir pieejamas par santīmiem gabalā, un tās darbotos labāk, jo tās vadītu datora elektropārvades līnijas bez jebkādas pretestības. Bet man nebija neviena optoizolatora, tāpēc man vajadzēja to izgatavot, izmantojot LED, rezistoru un fotorezistoru.

Pēc tam, kad biju apstiprinājis, ka melnās saraušanās caurules uzmavā “pret” izslēgšanas pretestība, kas ir mazāka par manu skaitītāju, var nolasīt, un “ieslēgtā” pretestība bija daži tūkstoši omu, es veco mātesplati veicu pēdējo pārbaudi. Man tas darbojās perfekti. Man ir aizdomas, ka daži datori var būt vairāk vai mazāk jutīgi, taču manis pārbaudītajās mātesplatēs šī konfigurācija darbojās labi.

Jūs vēlaties izmantot patiešām spilgti baltu gaismas diodi, lai iegūtu maksimālo gaismu fotorezistorā. Es neizmēģināju daudzas iespējas, bet spilgti baltais LED un 220 omu rezistors noteikti darbojas labi.

7. darbība: CloudMQTT iestatīšana

CloudMQTT iestatīšana
CloudMQTT iestatīšana
CloudMQTT iestatīšana
CloudMQTT iestatīšana
CloudMQTT iestatīšana
CloudMQTT iestatīšana

Jebkurš MQTT pakalpojums vai līdzīgs IoT pakalpojums, piemēram, Blynk, darbotos, bet es izvēlos šim projektam izmantot CloudMQTT. Iepriekš esmu izmantojis CloudeMQTT daudziem projektiem, un, tā kā šis projekts tiks nodots draugam, ir jēga izveidot jaunu kontu, kuru var arī pārsūtīt.

Izveidojiet CloudMQTT kontu un pēc tam izveidojiet jaunu "instanci", izvēlieties izmēru "Cute Cat", jo mēs to izmantojam tikai kontrolei, nevis reģistrēšanai. CloudMQTT nodrošinās jums servera nosaukumu, lietotājvārdu, paroli un porta numuru. (Ņemiet vērā, ka porta numurs nav standarta MQTT ports). Pārnesiet visas šīs vērtības uz savu ESP8266 kodu atbilstošajās vietās, pārliecinoties, ka gadījums ir pareizs. (nopietni, kopējiet/ielīmējiet vērtības)

Jūs varat izmantot CloudMQTT paneli "Websocket UI", lai redzētu ierīces savienojumus, pogu nospiešanu un neparastā gadījumā - kļūdas ziņojumu.

Šie iestatījumi būs nepieciešami arī, konfigurējot Android MQTT klientu, tāpēc, ja nepieciešams, ņemiet vērā vērtības. Cerams, ka jūsu parole nav pārāk sarežģīta, lai to ierakstītu tālrunī. To nevar iestatīt pakalpojumā CloudMQTT.

8. darbība: MQTT Android klients

MQTT Android klients
MQTT Android klients
MQTT Android klients
MQTT Android klients
MQTT Android klients
MQTT Android klients
MQTT Android klients
MQTT Android klients

Jebkurš Android (vai iPhone) MQTT klients darbotos, bet man patīk MQTT Dash. MQTT Dash ir viegli lietojams, ļoti atsaucīgs, un tam ir visas nepieciešamās iespējas.

Pēc instalēšanas iestatiet MQTT serveri, aizpildiet serveri, portu, lietotājvārdu un paroli ar savas instances vērtībām, NAV jūsu pieteikšanās informāciju CloudMQTT. Varat izmantot jebkuru vēlamo klienta vārdu.

Ja esat pareizi ievadījis visu, tas automātiski izveidos savienojumu ar jūsu MQTT serveri un parādīs tukšu ekrānu, jo vēl neesat iestatījis nevienu pogu, tekstu vai ziņojumu. Tukšajā ekrānā augšējā labajā stūrī redzat "+", noklikšķiniet uz tā un pēc tam atlasiet "Atlasīt/poga". Mēs katram datoram pievienosim vienu "Atlasīt/pogu", tātad 8 vai 16 vai mazāk.

Ja JŪS saņēmāt savienojuma kļūdu, viena no vērtībām ir nepareiza. Atgriezieties un vēlreiz pārbaudiet

Katrs dators izmantos tēmu, kas atbilst jūsu kodā norādītajām vērtībām. Ja jūs ievērotu manas konvencijas, tās būtu "cluster/rack-01/computer/01". Vislabāk būtu mainīt ieslēgšanas un izslēgšanas vērtības, lai tās atbilstu mūsu kodam. "0" un "1" vietā izmantojiet vērtības "ieslēgts" un "izslēgts". Es arī ieteiktu izmantot QoS (1), jo mēs gaidīsim apstiprinājumu no servera.

Pēc viena pievienošanas varat ilgi nospiest un izmantot opciju "klons", lai izveidotu ķekaru, pēc tam mainiet to nosaukumu un tēmu.

Pietiekami viegli.

9. darbība. ESP8266 iegūšana, izmantojot Wi -Fi

ESP8266 iegūšana, izmantojot Wi -Fi
ESP8266 iegūšana, izmantojot Wi -Fi

Izmantojot ESP8266 Wifi pārvaldnieka moduli, ir viegli iegūt mūsu ierīci Wifi. Ja izmantojāt manu SensorBase klasi, tā jau ir iebūvēta. Ja nē, izpildiet Wifi pārvaldnieka lapā sniegtos norādījumus.

Wifi pārvaldnieks mēģinās izveidot savienojumu ar jūsu SSID sāknēšanas laikā, ko tas nevar, jo jūs nekad neesat teicis savam SSID, tāpēc tas automātiski pārslēgsies piekļuves punkta režīmā (vai AP režīmā) un parādīs vienkāršu tīmekļa lapu, kurā tiek prasīts jūsu SSID & Parole. Izmantojot tālruni vai klēpjdatoru, pievienojiet tikko pieejamo bezvadu tīklu ar SSID nosaukumu "ESP_xxxxxx", kur "xxxxxx" ir nejauša (nevis īsti nejauša) secība. (Pilnas instrukcijas ir pieejamas Wifi pārvaldnieka lapā.)

Kad esat izveidojis savienojumu, atveriet savu tīmekļa pārlūkprogrammu un norādiet uz 192.168.4.1, ierakstiet savu SSID un paroli un noklikšķiniet uz Saglabāt.

Jūs tagad atrodaties internetā, un jūsu IoT ierīcē darbojas daļa “I”!

10. darbība. Galīgais savienojums un pārbaude

Galīgais savienojums un pārbaude
Galīgais savienojums un pārbaude

Viss pabeigts.

Lai visu savienotu, atrodiet datora barošanas pogas kabeli vietā, kur tas saskaras ar mātesplati. Jums vajadzētu redzēt divas galvenes rindas ar virkni vadu un savienotāju. Parasti tie ir marķēti diezgan labi. Atvienojiet slēdzi un pievienojiet optoizolatora kontaktdakšu. Es uzliku dažus "Dupont" kontaktdakšas, tāpēc tās tika pievienotas tāpat kā strāvas kabelis. Polaritātei šajā galā nav nozīmes, taču pārliecinieties, vai otra gala polaritāte ir pareiza - tā, kas nonāk jūsu pielāgotajā panelī.

Un tas darbojas perfekti. Izmantojot MQTT Dash klientu (vai līdzīgu rīku), jūs varat attālināti barot savus datorus.

Nospiediet atbilstošo pārbaudes pogu savā lietotnē, un, tiklīdz lietotne no MQTT servera dzirdēs ziņojumu “Izslēgts”, poga atkal mainīsies uz neatzīmētu.

Tas darbojas dažas nedēļas bez problēmām. Mēs pamanījām, ka ir jāpagarina laiks, kas nepieciešams, lai datoros nospiestu pogu zemu. Mēs beidzām ar 1 pilnu sekundi. Šo vērtību var parādīt kā iestatāmu vērtību, izmantojot MQTT serveri, vai arī varat pieslēgt vērtību, atkarībā no jūsu vēlmes.

Lai veicas, un dariet man zināmu, kā jums sanāca.

Ieteicams: