Sisällysluettelo:

Tietokoneen sammuttaminen tai käynnistäminen uudelleen ESP8266 -laitteella: 10 vaihetta (kuvien kanssa)
Tietokoneen sammuttaminen tai käynnistäminen uudelleen ESP8266 -laitteella: 10 vaihetta (kuvien kanssa)

Video: Tietokoneen sammuttaminen tai käynnistäminen uudelleen ESP8266 -laitteella: 10 vaihetta (kuvien kanssa)

Video: Tietokoneen sammuttaminen tai käynnistäminen uudelleen ESP8266 -laitteella: 10 vaihetta (kuvien kanssa)
Video: [HomeAssistant] ติดตั้งบน Mini PC, Thin Client, Intel NUC โดยไม่ต้องถอด SSD ไปเฟลชเครื่องอื่น 2024, Heinäkuu
Anonim
Image
Image

Selvyyden vuoksi suljamme SINUN tietokoneesi, emme jonkun muun tietokoneen.

Tarina menee näin:

Ystäväni Facebookissa lähetti minulle viestin ja sanoi, että hänellä on kymmenkunta tietokonetta, jotka suorittavat joukon matematiikkaa, mutta ne lukittuvat joka aamu kello 3. Koska tietokoneet ovat 30 minuutin päässä, on valtava haitta ajaa kaksi kaupunkia (asumme Etelä-Dakotassa) tietokoneiden käynnistämiseksi. Hän kysyi, voisinko rakentaa hänelle IoT -laitteen, jonka avulla hän voisi käynnistää rikkoneen tietokoneen uudelleen mukavasta sängystään?

Älä koskaan unohda haastetta, suostuin järjestämään jotain hänelle. Tämä on se projekti.

Käyttämällä kahta rekisteröityä bittisiirtoa, ESP8266 ESP01, kourallinen LED-valoja ja joitakin kotitekoisia optoisolaattoreita, koko projekti maksaa noin 5 dollaria, jos ostat osat Kiinasta eBayssa. Ehkä 20 dollaria Amazonista.

Tämä on melko monimutkainen rakenne, jossa on paljon hienoja juotoksia. Lukuun ottamatta ruuveja ja juottamista, kesti paremman osan 20 tunnista, mutta se osoittautui hämmästyttäväksi ja toimi täydellisesti.

Aloitetaanpa.

Vaihe 1: Prototyyppitaulu

Prototyyppitaulu
Prototyyppitaulu
Prototyyppitaulu
Prototyyppitaulu

Aloita aina kaikki projektit leipälevyn prototyypillä. Se on paras tapa selvittää, onko sinulla kaikki komponentit ja toimi odotetulla tavalla. Tämä projekti on hieman monimutkainen, joten suosittelen lämpimästi rakentamaan sen leipäpöydälle ennen eteenpäin siirtymistä.

Tarvitsemasi osat ovat:

  • Yksi ESP8266 ESP01 (vaikka mikä tahansa ESP8266 -laite toimisi)
  • Kaksi 8-bittistä siirtorekisteriä, käytin 74HC595N
  • 16 LEDiä, käytin olkihattua valkoisia LED -valoja, jotka toimivat 3,3 V: n jännitteellä. Jos käytät muita, saatat tarvita vastuksia.
  • Kolme 3k3-ohmpulldown-vastusta
  • Hyppyjohdot ja leipälauta

Sinun on myös rakennettava vähintään yksi optoisolaattori. Käytin mustaa kutisteputkea, kirkkaan valkoista LEDiä, 220 ohmin vastusta ja valoresistoria. Juotos 220 ohmin vastus LEDin katodiin ja sinetöi sitten LED ja valovastus kutisteputken sisällä vastakkain. Mutta niihin palataan myöhemmin.

Noudata seuraavassa vaiheessa olevaa kytkentäkaaviota. Johdotus on melko suoraviivaista.

Koska ESP8266 toimii 3,3 V: n jännitteellä, varmista, että virta on kytketty oikein

Vaihe 2: Skeemi Will-CADin avulla

Kaava Will-CAD: n avulla
Kaava Will-CAD: n avulla

Kaavio on melko suoraviivainen. Seuraamme 8-bittisen siirtorekisterin vakiokytkentää. Koska käytän kahta 8-bittistä siirtorekisteriä, ne on ketjutettava yhteen kello- ja salpa-nastoilleen.

Koska ESP01: ssä on vain kaksi GPIO-nastaa, meidän on käytettävä TX- ja RX-lähtöjä uudelleen, mikä toimii tarkoitukseemme hyvin. Voit käyttää ESP-12: ta tai muuta versiota, jossa on enemmän kuin kaksi GPIO-nastaa, jos haluat enemmän hallintaa. Mutta se lisää vielä 2 dollaria projektin kustannuksiin - mikä on vain hullua puhetta.

Meidän on pidettävä 8-bittiset siirtorekisterimme ja ESP01-nastat vedettynä korkealle käynnistyksen yhteydessä, jotta ne eivät tee outoja asioita tai mene ohjelmatilaan. Käytin kolmea 3k3 vastusta, suurempia tai pienempiä arvoja toimisi myös. Tämä arvo on johdettu oppaista, jotka puhuvat vaihtoehtoisten nastojen hyödyntämisestä ESP01: ssä.

ESP01 (ESP8266)

  • TX -kellotappi 3k3 pullup
  • RX -salvatappi 3k3 pullup
  • 00 sarjatiedot 3k3 pullup
  • 02 kelluva

8-bittinen siirtorekisteri (74HC595H)

  • VCC 3.3V
  • OE 3.3V (tämä on sallintatappi)
  • GND GND
  • CLR GND (tämä estää kirkkaita tappeja poistumasta)
  • Ja LEDit, ne menevät maahan.

Vaihe 3: ESP8266 -koodi

ESP8266 -koodi
ESP8266 -koodi

ESP8266 -koodi on melko yksinkertainen. Valitettavasti Instructablesin editori on melko hyödytön, joten haluat saada koodin suoraan Githubista.

"racks-reboot" -projekti:

github.com/bluemonkeydev/arduino-projects/…

"SensorBase" -luokka löytyy täältä. Se on pakollinen, jos haluat "käyttää" koodiani:

github.com/bluemonkeydev/arduino-projects/…

On syytä huomata muutama asia. Koodi on melko hyvin dokumentoitu.

  1. Olen erittäin laiska kehittäjä, joten laitoin kaikki uudelleenkäytettävät ESP8266 -koodit luokkaan nimeltä "SensorBase". Löydät sen myös Githubista, yllä olevasta linkistä.
  2. Sinun on kirjoitettava MQTT -välittäjän palvelin, käyttäjätunnus, salasana ja portti. Ne löytyvät hieman alempana, kun luomme CloudMQTT -palvelun.
  3. Sinun ei tarvitse noudattaa aiheen syntaksimuotoa. Suosittelen kuitenkin seuraamaan sitä.
  4. Tässä koodissa ei ole mitään fiksua. Se on hyvin käytännöllistä.

Vaihe 4: Perfboard -asettelu

Perfboard -asettelu
Perfboard -asettelu

Tämä projekti asennetaan minidatakeskukseen, joten päätin käyttää vain perf-levyä lopulliseen suunnitteluun. Perfboard toimii erinomaisesti tällaisissa projekteissa, ja sen asettelu on helppoa käyttämällä mukautettua kaaviopaperia. Täältä näet asetteluni. Voit tietysti tehdä sen toisin.

Projektini tarvitsi kaksi 8-bittistä siirtorekisteriä, joten aloitin niiden sijoittelusta keskellä. Tiesin, että liittimet optoisolaattoreihin olisivat toistaiseksi yksinkertaisia naarasotsikoita, vaikka se ei ole ihanteellinen ratkaisu.

Rakastan LED -valoja, ja tähän tarvittiin LED jokaiselle optoerotinpiirille. Tiesin, että testivaihe olisi äärettömän helpompi, jos saisin välittömän palautteen suoraan taululle, mutta tiesin myös, että nämä LEDit aiheuttavat valtavaa kipua juotokseen. Ja he olivat. Minulla ei ollut mitään pienempiä kuin 5 mm: n LEDit, joten minun piti porrastaa ne. Lopullinen suunnitteluni teki siksak-kuvion katodeista, koska en halunnut käyttää anodeja maadoitusjohtimien yli. Tämä osoittautui hyväksi suunnitteluksi. LED-johdot yhdistyvät 8-bittisten siirtorekisterien yläpuolelle ja toimivat levyn päällä suojattuilla johtimilla yksinkertaisuuden vuoksi.

Virran vuoksi halusin käyttää sitä vanhasta USB -kaapelista, jotta se saa virtansa suoraan yhdestä tietokoneesta. Tämä toimii hyvin, koska USB -portit saavat yleensä virtaa, vaikka tietokone on sammutettu. Käytin LM317 -lineaarista jännitesäädintä tehon pienentämiseksi 3,3 V. 3.3V -säädin olisi myös toiminut, mutta minulla ei ollut sitä.

Välttääkseni liikaa johtoja risteämällä, vedin muutaman johdon perf -levyn yläpuolelle, jota yritän välttää. Muista, että läpivientireiät ovat johtavia, joten käytä suojattuja johtimia oikosulkujen välttämiseksi. Nämä liitännät, jotka tapahtuvat levyn yläosassa, on esitetty katkoviivoilla kaaviossa.

Vaihe 5: Soldered Board

Juotoslevy
Juotoslevy

Viimeinen juotettu levyni osoittautui todella hyväksi. Kuten odotettiin, ylhäällä olevat LEDit vaativat paljon työtä, jotta ne juotettiin oikein ilman shortseja. Kun olet juottanut LEDit ja otsikot, määritä yleismittarisi avulla, onko sinulla oikosulkuja. Paras on ottaa selvää nyt.

Ledien lisäksi kaikki muu meni melko hyvin. Jouduin tekemään muutaman yhteyden uudelleen, mutta joillakin potilailla, joillakin virheenkorjauksilla ja hiukan juottamisella kaikki toimii hyvin.

Tästä kuvasta näet, että olen liittänyt myös optoisolaattorit, joita käytin 8-johtimisella CAT-5-kaapelilla. Syynä on se, että se on erittäin halpa, helppo liittää ja on hyvin merkitty-enemmän niistä optoisolaattoreista seuraavassa vaiheessa.

Vaihe 6: Optoisolaattorien valmistus

Optoisolaattorien valmistus
Optoisolaattorien valmistus

Sinun ei tietenkään tarvitse tehdä omia optoisolaattoreitasi. Monet kaupalliset versiot ovat saatavilla penniä kappaleittain ja toimivat paremmin, koska ne ajaisivat tietokoneen voimalinjoja suoraan ilman vastustusta. Mutta minulla ei ollut optoisolaattoria, joten minun piti tehdä omani käyttämällä LEDiä, vastusta ja valoresistoria.

Vahvistettuani, että mustan kutisteputken holkissa "off" -vastus, joka oli pienempi kuin mittari pystyi lukemaan ja "on" -vastus oli muutama tuhat ohmia, tein viimeisen testin vanhalla emolevyllä. Se toimi minulle täydellisesti. Epäilen, että jotkut tietokoneet voivat olla enemmän tai vähemmän herkkiä, mutta testatuilla emolevyillä tämä kokoonpano toimi hyvin.

Haluat käyttää todella kirkasta valkoista LEDiä saadaksesi maksimaalisen valon valovastukseen. En kokeillut monia vaihtoehtoja, mutta kirkkaan valkoinen LED ja 220 ohmin vastus toimivat varmasti hyvin.

Vaihe 7: CloudMQTT -asennus

CloudMQTT -asennus
CloudMQTT -asennus
CloudMQTT -asennus
CloudMQTT -asennus
CloudMQTT -asennus
CloudMQTT -asennus

Mikä tahansa MQTT -palvelu tai vastaava IoT -palvelu, kuten Blynk, toimisi, mutta päätän käyttää CloudMQTT: tä tähän projektiin. Olen käyttänyt CloudeMQTT: tä aikaisemmin moniin projekteihin, ja koska tämä projekti luovutetaan ystävälle, on järkevää luoda uusi tili, joka voidaan myös siirtää.

Luo CloudMQTT -tili ja luo sitten uusi "esiintymä", valitse "Cute Cat" -koko, koska käytämme sitä vain hallintaan, ei lokiin. CloudMQTT antaa sinulle palvelimen nimen, käyttäjänimen, salasanan ja portin numeron. (Huomaa, että portin numero ei ole tavallinen MQTT -portti). Siirrä kaikki nämä arvot ESP8266 -koodisi vastaaviin paikkoihin varmistaen, että tapaus on oikea. (vakavasti, kopioi/liitä arvot)

Voit käyttää CloudMQTT: n "Websocket -käyttöliittymä" -paneelia nähdäksesi laitteesi yhteydet, painikkeiden painallukset ja epätavallisessa tilanteessa virheilmoituksen.

Tarvitset näitä asetuksia määrittäessäsi myös Android MQTT -asiakasohjelmaa, joten merkitse arvot tarvittaessa muistiin. Toivottavasti salasanasi ei ole liian monimutkainen kirjoittamiseen puhelimeesi. Et voi asettaa sitä CloudMQTT: ssä.

Vaihe 8: MQTT Android Client

MQTT Android -asiakas
MQTT Android -asiakas
MQTT Android -asiakas
MQTT Android -asiakas
MQTT Android -asiakas
MQTT Android -asiakas
MQTT Android -asiakas
MQTT Android -asiakas

Mikä tahansa Android (tai iPhone) MQTT -asiakas toimisi, mutta pidän MQTT Dashista. MQTT Dash on helppokäyttöinen, erittäin herkkä ja siinä on kaikki tarvitsemasi vaihtoehdot.

Kun olet asentanut, määritä MQTT -palvelin, täytä palvelin, portti, käyttäjätunnus ja salasana ilmentymän arvoilla, EI kirjautumistiedoillasi CloudMQTT: hen. Voit käyttää mitä tahansa haluamaasi asiakkaan nimeä.

Jos kirjoitit kaiken oikein, se muodostaa automaattisesti yhteyden MQTT -palvelimeen ja näyttää tyhjän näytön, koska et ole vielä määrittänyt painikkeita, tekstiä tai viestejä. Tyhjässä näytössä näkyy "+" oikeassa yläkulmassa, napsauta sitä ja valitse sitten "Valitse/painike". Lisäämme yhden "Valitse/painike" -kohtaista tietokonetta kohden, eli 8 tai 16 tai vähemmän.

Jos saat yhteysvirheen, jokin arvoista on väärä. Palaa takaisin ja tarkista vielä

Jokainen tietokone käyttää aihetta, joka vastaa koodissasi määritettyjä arvoja. Jos noudattaisit käytäntöjäni, ne olisivat "cluster/rack-01/computer/01". Olisi parasta muuttaa "päällä" ja "pois" arvot vastaamaan koodiamme. Käytä 0: n ja 1: n sijasta arvoja "päällä" ja "pois". Suosittelen myös QoS: n (1) käyttöä, koska odotamme vahvistusta palvelimelta.

Kun olet lisännyt yhden, voit painaa pitkään ja luoda "nippu" -vaihtoehdon "klooni" -vaihtoehdon avulla ja muuttaa sen nimeä ja aihetta.

Tarpeeksi helppoa.

Vaihe 9: ESP8266 -laitteen hankkiminen Wi -Fi -yhteydellä

ESP8266 -laitteen hankkiminen Wi -Fi -yhteydellä
ESP8266 -laitteen hankkiminen Wi -Fi -yhteydellä

ESP8266 Wifi Manager -moduulin avulla on helppoa saada laitteemme Wifi -verkkoon. Jos käytit SensorBase-luokkaani, se on jo sisäänrakennettu. Jos ei, noudata Wifi Manager -sivun ohjeita.

Wifi Manager yrittää muodostaa yhteyden SSID -tunnukseen käynnistyksen yhteydessä, jota se ei voi, koska et ole koskaan kertonut sille SSID -tunnustasi, joten se siirtyy automaattisesti tukiasematilaan (tai AP -tilaan) ja näyttää yksinkertaisen verkkosivun, joka pyytää SSID -tunnusta & Salasana. Yhdistä puhelimella tai kannettavalla tietokoneella äskettäin käytettävissä oleva langaton verkko SSID-nimellä "ESP_xxxxxx", jossa "xxxxxx" on satunnainen (ei todellakaan satunnainen) järjestys. (Täydelliset ohjeet löytyvät Wifi Manager -sivulta.)

Kun yhteys on muodostettu, avaa verkkoselain ja osoita se kohtaan 192.168.4.1, kirjoita SSID ja salasana ja napsauta Tallenna.

Olet nyt Internetissä, ja IoT -laitteesi I -osa toimii!

Vaihe 10: Lopullinen yhteys ja testaus

Lopullinen yhteys ja testaus
Lopullinen yhteys ja testaus

Valmista.

Jos haluat kytkeä kaiken, etsi tietokoneen virtapainikkeen kaapeli kohdasta, jossa se kohtaa emolevyn. Sinun pitäisi nähdä kaksi riviä otsikoita, joissa on joukko johtimia ja liittimiä. Yleensä ne on merkitty melko hyvin. Irrota kytkin ja kytke optoerotinpistoke pistorasiaan. Laitoin "Dupont" -pistokkeita omiini, joten ne kytkettiin aivan kuten virtajohto. Napaisuudella tässä päässä ei ole väliä, mutta varmista, että toisen pään napaisuus on oikea - se, joka menee mukautetulle levyllesi.

Ja se toimii täydellisesti. MQTT Dash -asiakasohjelman (tai vastaavan työkalun) avulla voit käyttää tietokoneita virtalähteenä.

Paina vastaavaa valintanappia sovelluksessasi, ja kun sovellus kuulee MQTT -palvelimelta "off" -viestin, painike muuttuu takaisin tarkistamattomaksi.

Tämä on toiminut muutaman viikon ilman ongelmia. Huomasimme, että tietokoneen painikkeen alhaisen painamisen kestoaikaa piti pidentää. Päätimme yhden täyden sekunnin. Tämä arvo voidaan näyttää asetettavana arvona MQTT -palvelimen kautta tai voit liittää arvon halutessasi.

Paljon onnea, ja kerro minulle, miten sinun kävi.

Suositeltava: