Sisukord:

Arvuti kauglülitamine või taaskäivitamine seadmega ESP8266: 10 sammu (piltidega)
Arvuti kauglülitamine või taaskäivitamine seadmega ESP8266: 10 sammu (piltidega)

Video: Arvuti kauglülitamine või taaskäivitamine seadmega ESP8266: 10 sammu (piltidega)

Video: Arvuti kauglülitamine või taaskäivitamine seadmega ESP8266: 10 sammu (piltidega)
Video: arvuti puhastamise õpetus 2024, Juuli
Anonim
Image
Image

Selguse huvides sulgeme SINU arvuti, mitte kellegi teise arvuti.

Lugu läheb nii:

Üks mu sõber Facebookis saatis mulle sõnumi ja ütles, et tal on tosin arvutit, mis töötavad hunnik matemaatikat, kuid igal hommikul kell kolm öösel lukustuvad need. Kuna arvutid on 30-minutilise jalutuskäigu kaugusel, on tohutu ebameeldivus sõita kahest linnast (me elame Lõuna-Dakotas) arvutite toiteallikaks. Ta küsis, kas ma saaksin talle ehitada IoT -seadme, mis võimaldaks tal rikkuvat arvutit oma hubasest voodist mugavalt taaskäivitada?

Et mitte kunagi väljakutsest ilma jääda, olin nõus talle midagi kokku panema. See on see projekt.

Kasutades kahte registreeritud bitivahet, ESP8266 ESP01, käputäis LED-e ja mõnda omatehtud optoisolaatorit, maksab kogu projekt umbes 5 dollarit, kui ostate osad Hiinast eBayst. Amazonist võibolla 20 dollarit.

See on üsna keeruline konstruktsioon, kus on palju peent jootmist. Kui arvestada minu kruvisid ja uuesti jootmist, kulus mul selle tegemiseks parem osa 20 tunnist, kuid see osutus hämmastavaks ja töötas suurepäraselt.

Alustagem.

Samm: prototüüpplaat

Prototüüpide plaat
Prototüüpide plaat
Prototüüpide plaat
Prototüüpide plaat

Alustage kõiki projekte alati leivaplaadi prototüübiga. See on parim viis kindlaks teha, kas teil on kõik komponendid olemas ja toimite ootuspäraselt. See projekt on natuke keeruline, seega soovitan soojalt selle enne edasiliikumist leivaplaadile ehitada.

Vajalikud osad on järgmised:

  • Üks ESP8266 ESP01 (kuigi iga ESP8266 seade töötaks)
  • Kaks 8-bitist vahetusregistrit, kasutasin 74HC595N
  • 16 LED -i, ma kasutasin õlgkübara valgeid LED -e, mis töötavad 3.3V juures. Kui kasutate teisi, võib tekkida vajadus takistite järele.
  • Kolm 3k3-ohmpulldown takistit
  • Jumper juhtmed ja leivaplaat

Samuti peate ehitama vähemalt ühe optoisolaatori. Kasutasin musta kokkutõmbumistoru, helevalget LED-i, 220-oomist takisti ja fototakisti. Jootke 220-oomine takisti LED-i katoodi külge ja seejärel pitseerige LED ja fototakisti kahanevas torus üksteise poole. Kuid nende juurde jõuame hiljem.

Järgige järgmises etapis toodud ühendusskeemi. Juhtmestik on üsna lihtne.

Kuna ESP8266 töötab 3,3 V pingel, veenduge, et toite seda nõuetekohaselt

2. samm: skeem Will-CAD-i abil

Skeem Will-CAD-i abil
Skeem Will-CAD-i abil

Skeem on üsna lihtne. Me järgime 8-bitise nihkeregistri standardset ühendamist. Kuna ma kasutan kahte 8-bitist nihkeregistrit, tuleb need oma kella- ja lukustusnööpnõelte külge aheldada.

Kuna ESP01-l on ainult kaks GPIO-nööpi, peame TX & RX-i uuesti väljunditena kasutama, mis töötab meie eesmärkidel hästi. Kui soovite rohkem juhtimist, võite kasutada ESP-12 või mõnda muud versiooni, millel on rohkem kui kaks GPIO-nööpi. Kuid see lisab projekti maksumusele veel 2 dollarit - mis on lihtsalt hulljulge.

Peame hoidma oma 8-bitiseid vahetusregistreid ja ESP01 nööpnõelu alglaadimisel kõrgelt tõmmatud, et nad ei teeks imelikke asju ega läheks programmirežiimi. Kasutasin kolme 3k3 takistit, suuremad või väiksemad väärtused toimiksid samuti. See väärtus tuletati juhenditest, mis rääkisid ESP01 alternatiivsete tihvtide võimendamisest.

ESP01 (ESP8266)

  • TX kella pin 3k3 pullup
  • RX riivi tihvt 3k3 pullup
  • 00 seeriaandmed 3k3 pullup
  • 02 ujuv

8-bitine vahetuste register (74HC595H)

  • VCC 3.3V
  • OE 3.3V (see on lubatav tihvt)
  • GND GND
  • CLR GND (see hoiab selge tihvti kustutamast)
  • Ja LED -id lähevad maapinnale.

Samm: ESP8266 kood

Kood ESP8266
Kood ESP8266

ESP8266 kood on üsna lihtne. Kahjuks on Instructables'i redaktor üsna kasutu, nii et soovite koodi hankida otse Githubist.

"racks-reboot" projekt:

github.com/bluemonkeydev/arduino-projects/…

"SensorBase" klass on saadaval siin. See on kohustuslik, kui soovite minu koodi "kasutada":

github.com/bluemonkeydev/arduino-projects/…

Märkida tuleb paar asja. Kood on üsna hästi dokumenteeritud.

  1. Olen väga laisk arendaja, nii et panin kogu korduvkasutatava ESP8266 koodi klassi nimega "SensorBase". Selle leiate ka Githubist, ülaltoodud lingilt.
  2. Peate sisestama oma MQTT maakleri serveri, kasutajanime, parooli ja pordi. Neid võib leida veidi allapoole, kui loome teenuse CloudMQTT.
  3. Te ei pea järgima minu teema süntaksi vormingut. Siiski soovitaksin seda järgida.
  4. Selles koodis pole midagi tarka. See on väga pragmaatiline.

4. samm: Perfboardi paigutus

Perfboardi paigutus
Perfboardi paigutus

See projekt paigaldatakse mini-andmekeskusesse, nii et otsustasin lõpliku kujunduse jaoks kasutada lihtsalt perf-plaati. Perfboard töötab suurepäraselt selliste projektide jaoks ja seda on lihtne paigutada kohandatud graafikapaberi abil. Siin näete minu paigutust. Loomulikult võite otsustada teha teisiti.

Minu projekt vajas kahte 8-bitist vahetusregistrit, nii et alustasin nende positsioneerimisega keskel. Ma teadsin, et minu pistikud optoisolaatoritega on praegu lihtsad naissoost päised, kuigi see pole ideaalne lahendus.

Ma armastan LED -e ja sellel oli vaja iga optoisolaatori ahela jaoks LED -i. Ma teadsin, et katseetapp oleks lõpmata lihtsam, kui saaksin kohe tahvlile tagasisidet, kuid teadsin ka, et need LED -id põhjustavad jootmisel tohutut valu. Ja nad olid. Mul polnud midagi väiksemat kui 5 mm LED -id, nii et pidin neid kõigutama. Minu lõplik disain tegi katoodidest siksakilise mustri, sest ma ei tahtnud anoode üle maandusjuhtmete juhtida. See osutus heaks disainiks. LED-juhtmed ühenduvad 8-bitiste nihkeregistrite kohal ja töötavad lihtsuse huvides plaadi ülaosas varjestatud juhtmetega.

Toite saamiseks tahtsin seda käivitada vanast USB -kaablist, et toita otse ühest arvutist. See töötab hästi, kuna USB -pordid saavad tavaliselt toite isegi siis, kui arvuti on välja lülitatud. Võimsuse vähendamiseks 3,3 V -ni kasutasin lineaarset pingeregulaatorit LM317. 3.3V regulaator oleks samuti töötanud, aga mul polnud seda.

Et vältida juhtmete liiga palju ristumist, jooksin paar juhtmest perfoplaadi ülemisele küljele, mida püüan vältida. Pidage meeles, et läbivad augud on juhtivad, nii et lühiste vältimiseks kasutage varjestatud juhtmeid. Tahvli ülaosas toimuvad ühendused on minu diagrammil näidatud katkendjoontega.

Samm 5: jootelaud

Joodiplaat
Joodiplaat

Minu viimane joodetud plaat tuli tõesti hästi välja. Nagu oodatud, nõudsid ülaosas olevad valgusdioodid palju tööd, et joota ilma lühisteta. Pärast valgusdioodide ja päiste jootmist tehke oma multimeetri abil kindlaks, kas teil on lühiseid. Parim on see kohe teada saada.

Peale LEDide läks kõik muu päris hästi. Pidin küll paar ühendust uuesti tegema, kuid mõne patsiendi, mõne silumise ja väikese uuesti jootmise korral töötab kõik hästi.

Sellest fotost näete, et olen ühendanud ka optoisolaatorid, mida kasutasin 8-juhtmelise CAT-5 kaabli abil. Põhjus on selles, et see on ülimalt odav, lihtne kokku liimida ja on hästi märgistatud-rohkem nende optoisolaatorite kohta järgmises etapis.

6. samm: optoisolaatorite valmistamine

Optoisolaatorite valmistamine
Optoisolaatorite valmistamine

Loomulikult ei pea te oma optoisolaatoreid tegema. Paljud kaubanduslikud versioonid on saadaval sendide eest tüki kohta ja need toimiksid paremini, kuna juhiksid arvuti elektriliine otse vastupanuta. Kuid mul polnud ühtegi optoisolaatorit, nii et pidin selle valmistama LED -i, takisti ja fototakisti abil.

Pärast seda, kui olin kinnitanud, et musta kokkutõmbetorustiku varruka sees oli "väljalülitatud" takistus, mille mõõtur oli väiksem kui minu arvesti, ja sisse lülitatud takistus oli paar tuhat oomi, tegin vana emaplaadiga viimase testi. See töötas minu jaoks ideaalselt. Ma kahtlustan, et mõned arvutid võivad olla enam -vähem tundlikud, kuid minu testitud emaplaatidel töötas see konfiguratsioon hästi.

Fototakisti maksimaalse valguse saamiseks peate kasutama tõeliselt säravat valget LED -i. Ma ei proovinud palju võimalusi, kuid ere valge LED ja 220-oomine takisti töötavad kindlasti hästi.

Samm: CloudMQTT seadistamine

CloudMQTT seadistamine
CloudMQTT seadistamine
CloudMQTT seadistamine
CloudMQTT seadistamine
CloudMQTT seadistamine
CloudMQTT seadistamine

Mis tahes MQTT -teenus või sarnane IoT -teenus, nagu Blynk, töötaks, kuid ma otsustan selle projekti jaoks kasutada CloudMQTT -d. Olen varem kasutanud CloudeMQTT -d paljude projektide jaoks ja kuna see projekt antakse sõbrale üle, on mõttekas luua uus konto, mida saab ka üle kanda.

Looge CloudMQTT konto ja seejärel looge uus "eksemplar", valige suurus "Armas kass", kuna me kasutame seda ainult juhtimiseks, mitte logimiseks. CloudMQTT annab teile serveri nime, kasutajanime, parooli ja pordi numbri. (Pange tähele, et pordi number ei ole tavaline MQTT -port). Kandke kõik need väärtused vastavatesse kohtadesse oma ESP8266 -koodi, veendudes, et juhtum on õige. (tõsiselt, kopeerige/kleepige väärtused)

Saate kasutada CloudMQTT paneeli "Websocket UI", et näha oma seadme ühendusi, nupuvajutusi ja kummalisel juhul tõrketeate kuvamist.

Te vajate neid seadeid ka Android MQTT kliendi konfigureerimisel, seega märkige vajadusel väärtused. Loodetavasti pole teie parool telefoni sisestamiseks liiga keeruline. Seda ei saa CloudMQTT -s määrata.

8. samm: MQTT Androidi klient

MQTT Androidi klient
MQTT Androidi klient
MQTT Androidi klient
MQTT Androidi klient
MQTT Androidi klient
MQTT Androidi klient
MQTT Androidi klient
MQTT Androidi klient

Iga Android (või iPhone) MQTT klient töötaks, kuid mulle meeldib MQTT Dash. MQTT Dash on hõlpsasti kasutatav, väga tundlik ja sisaldab kõiki vajalikke võimalusi.

Pärast installimist seadistage MQTT -server, täitke server, port, kasutajanimi ja parool oma eksemplari väärtustega, MITTE oma sisselogimisteabega CloudMQTT -i. Võite kasutada mis tahes soovitud kliendi nime.

Kui sisestasite kõik õigesti, loob see automaatselt ühenduse teie MQTT -serveriga ja kuvab teile tühja ekraani, kuna te pole veel ühtegi nuppu, teksti ega sõnumit seadistanud. Tühjal ekraanil näete paremas ülanurgas "+", klõpsake seda ja seejärel valige "Vali/nupp". Lisame ühe "Vali/nupp" arvuti kohta, seega 8 või 16 või vähem.

Kui saite ühenduse tõrke, on teil üks väärtustest vale. Minge tagasi ja kontrollige uuesti

Iga arvuti kasutab teemat, mis vastab teie koodis määratud väärtustele. Kui te järgiksite minu tavasid, oleksid need "cluster/rack-01/computer/01". Parim oleks muuta "sisse" ja "välja" väärtusi, et need vastaksid meie koodile. Kasutage "0" ja "1" asemel väärtusi "on" ja "off". Soovitan kasutada ka QoS -i (1), kuna ootame serverilt kinnitust.

Pärast ühe lisamist saate pikalt vajutada ja kasutada suvandit "kloon", et luua kamp, seejärel muuta nende nime ja teemat.

Piisavalt lihtne.

Samm 9: ESP8266 hankimine WiFi kaudu

ESP8266 hankimine WiFi kaudu
ESP8266 hankimine WiFi kaudu

Kasutades moodulit ESP8266 Wifi Manager, on imelihtne saada meie seade Wifi -sse. Kui kasutasite minu SensorBase klassi, on see juba sisseehitatud. Kui ei, järgige Wifi halduri lehel olevaid juhiseid.

Wifi haldur proovib alglaadimisel ühenduse luua teie SSID -ga, mida ta ei saa, kuna te pole seda kunagi oma SSID -le öelnud, seega läheb see automaatselt pöörduspunkti režiimi (või AP -režiimi) ja teenindab lihtsat veebilehte, mis küsib teie SSID -d & Parool. Ühendage oma telefoni või sülearvutiga äsja saadavalolev traadita võrk SSID nimega "ESP_xxxxxx", kus "xxxxxx" on juhuslik (mitte päris juhuslik) jada. (Täielikud juhised leiate Wifi halduri lehelt.)

Pärast ühenduse loomist avage oma veebibrauser ja suunake see aadressile 192.168.4.1, sisestage oma SSID ja parool ning klõpsake nuppu Salvesta.

Olete nüüd Internetis ja teie IoT -seadme „I” osa töötab!

Samm: lõplik ühendus ja testimine

Lõplik ühendus ja testimine
Lõplik ühendus ja testimine

Kõik tehtud.

Kõigi ühendamiseks leidke arvuti toitenupu kaabel koht, kus see emaplaadiga kokku puutub. Te peaksite nägema kahte rida päiseid koos hunniku juhtmete ja pistikutega. Tavaliselt on need üsna hästi märgistatud. Eemaldage lüliti ja ühendage optoisolaatori pistik. Panin omale mõned "Duponti" pistikud, nii et need ühendati nagu toitekaabel. Selle polaarsus pole oluline, kuid veenduge, et teise otsa polaarsus oleks õige - see, mis läheb teie kohandatud tahvlile.

Ja see töötab ideaalselt. Kasutades MQTT Dash klienti (või sarnast tööriista), saate oma arvuteid eemalt toita.

Vajutage oma rakendusel vastavat kontrollnuppu ja kui rakendus kuuleb MQTT serverist sõnumit „välja“, muutub nupp märkimata.

See on töötanud paar nädalat ilma probleemideta. Märkasime, et arvutites nupu madalaks tõmbamise ajavahemikku tuleb pikendada. Lõppesime 1 täissekundiga. Seda väärtust saab seadistatava väärtusena kuvada MQTT -serveri kaudu või sõltuvalt soovist saate selle väärtusega ühendada.

Palju õnne ja andke mulle teada, kuidas teil läks.

Soovitan: