Sadržaj:

Daljinsko isključivanje ili ponovno pokretanje računara s uređajem ESP8266: 10 koraka (sa slikama)
Daljinsko isključivanje ili ponovno pokretanje računara s uređajem ESP8266: 10 koraka (sa slikama)

Video: Daljinsko isključivanje ili ponovno pokretanje računara s uređajem ESP8266: 10 koraka (sa slikama)

Video: Daljinsko isključivanje ili ponovno pokretanje računara s uređajem ESP8266: 10 koraka (sa slikama)
Video: Ako imate Samsung EVO KORISNIH TRIKOVA 2024, Juli
Anonim
Image
Image

Da budemo jasni, isključujemo VAŠ računar, a ne računar nekog drugog.

Priča ide ovako:

Moj prijatelj na Facebooku mi je poslao poruku i rekao da ima desetak računara koji vrše hrpu matematike, ali svako jutro u 3 ujutro zaključavaju se. Budući da su računari udaljeni 30 minuta, velika je smetnja voziti dva grada (živimo u Južnoj Dakoti) radi uključivanja računara. Pitao je, mogu li mu izgraditi IoT uređaj koji bi mu omogućio da iz udobnog kreveta ponovo pokrene kompjuter koji vrijeđa?

Nikada nisam propustio izazov, pristao sam mu sastaviti nešto. Ovo je taj projekat.

Koristeći dva registrirana pomaka u bitovima, ESP8266 ESP01, pregršt LED dioda i neke domaće optoizolatore, cijeli projekt košta oko 5 USD ako dijelove kupite iz Kine na eBayu. Možda 20 dolara iz Amazona.

Ovo je prilično složena konstrukcija s puno finog lemljenja. Ne računajući moja zezanja i ponovno lemljenje, trebalo mi je više od 20 sati da napravim, ali ispalo je nevjerojatno i radilo je savršeno.

Počnimo.

Korak 1: Prototipna ploča

Prototype Board
Prototype Board
Prototype Board
Prototype Board

Uvijek započinjite sve projekte s prototipnom pločom. To je najbolji način da utvrdite imate li sve komponente i radite li očekivano. Ovaj projekt je pomalo kompliciran, pa vam toplo preporučujem da ga izgradite na osnovnoj ploči prije nego krenete naprijed.

Delovi koji će vam trebati su:

  • Jedan ESP8266 ESP01 (iako bi svaki ESP8266 uređaj radio)
  • Dva 8-bitna registra pomaka, koristio sam 74HC595N
  • 16 LED dioda, koristio sam bijele LED diode od slamnatog šešira koje rade na 3.3V. Ako koristite druge, možda će vam trebati otpornici.
  • Tri 3k3-ohmpulldown otpornika
  • Žice za preskakanje i matična ploča

Također ćete morati izgraditi barem jedan optoizolator. Koristio sam crnu skupljajuću cijev, svijetlo bijelu LED diodu, otpornik od 220 ohma i fotootpornik. Lemite 220-ohmski otpornik na katodu LED-a, a zatim zalijepite LED i fotootpornik unutar skupljajuće cijevi okrenuti jedan prema drugom. Ali do njih ćemo doći u kasnijem koraku.

Slijedite dijagram ožičenja koji se nalazi u sljedećem koraku. Ožičenje je prilično jednostavno.

Budući da ESP8266 radi na 3.3V, pazite da ga pravilno napajate

Korak 2: Shema pomoću Will-CAD-a

Shema pomoću Will-CAD-a
Shema pomoću Will-CAD-a

Shema je prilično jasna. Pratimo standardno povezivanje 8-bitnog registra pomaka. Budući da koristim dva 8-bitna registra pomaka, oni moraju biti povezani zajedno na svojim 'sat' i 'zasun' pinovima.

Budući da ESP01 ima samo dva GPIO pina, moramo ponovno koristiti TX i RX kao izlaze, što dobro funkcionira za naše potrebe. Možete koristiti ESP-12 ili drugu verziju s više od dva GPIO pina ako želite veću kontrolu. Ali to će dodati još 2 USD na cijenu projekta - što je ludost.

Moramo držati naše 8-bitne registre pomaka i pinove ESP01 visoko podignuti pri pokretanju, kako ne bi radili čudne stvari ili prešli u programski način rada. Koristio sam tri otpornika 3k3, veće ili manje vrijednosti bi također funkcionirale. Ova vrijednost je izvedena iz vodiča koji govore o korištenju alternativnih pinova na ESP01.

ESP01 (ESP8266)

  • Izvlačenje sata TX sata 3k3
  • RX zasun klina 3k3 izvlačenje
  • 00 serijski podaci 3k3 izvlačenje
  • 02 plutajući

8-bitni registar pomaka (74HC595H)

  • VCC 3.3V
  • OE 3.3V (ovo je pin za omogućavanje)
  • GND GND
  • CLR GND (ovo sprječava brisanje čiste igle)
  • A LED diode idu na masu.

Korak 3: Kod ESP8266

Kod ESP8266
Kod ESP8266

Kod ESP8266 je prilično jasan. Nažalost, uređivač u Instructables je prilično beskoristan, pa ćete htjeti kôd nabaviti izravno iz Githuba.

projekat "racks-reboot":

github.com/bluemonkeydev/arduino-projects/…

Klasa "SensorBase" dostupna je ovdje. Potrebno je ako želite "koristiti" moj kôd:

github.com/bluemonkeydev/arduino-projects/…

Treba napomenuti nekoliko stvari. Kôd je prilično dobro dokumentovan.

  1. Ja sam vrlo lijen programer, pa sam stavio sav kod za višekratnu upotrebu ESP8266 u klasu pod nazivom "SensorBase." To možete pronaći i na Githubu, gornja veza.
  2. Morate unijeti poslužitelj vašeg MQTT brokera, korisničko ime, lozinku i port. Oni se mogu pronaći malo niže kada stvorimo CloudMQTT uslugu.
  3. NE morate slijediti format sintakse moje teme. Međutim, preporučio bih da ga se pridržavate.
  4. U ovom kodu nema ništa pametno. Vrlo je pragmatično.

Korak 4: Izgled Perfboard -a

Perfboard Layout
Perfboard Layout

Ovaj će projekt biti instaliran u mini podatkovnom centru, pa sam odlučio koristiti samo perf ploču za konačni dizajn. Perfboard odlično funkcionira za ovakve projekte i jednostavan je za postavljanje pomoću komada prilagođenog papira za grafikone. Ovdje ćete vidjeti moj izgled. Naravno, možete izabrati da to učinite drugačije.

Moj projekt je trebao dva 8-bitna registra pomaka, pa sam počeo s njihovim pozicioniranjem u sredini. Znala sam da će moji konektori za optoizolatore zasad biti jednostavni ženski zaglavlji, iako to nije idealno rješenje.

Volim LED diode, a ovo je trebalo imati LED za svako kolo optoizolatora. Znao sam da će faza testiranja biti beskrajno lakša ako mogu dobiti trenutnu povratnu informaciju direktno na ploču, ali sam također znao da će te LED diode nanijeti veliku bol lemljenju. I bili su. Nisam imao ništa manje od 5 mm LED dioda, pa sam ih morao posrtati. Moj konačni dizajn napravio je cik-cak uzorak katoda jer nisam želio provoditi anode preko uzemljenih žica. Ovo se pokazalo kao dobar dizajn. LED žice se spajaju iznad 8-bitnih registara pomaka i izvode na vrhu ploče zaštićenim žicama radi jednostavnosti.

Za napajanje sam htio da ga pokrenem sa starog USB kabla za napajanje direktno sa jednog od računara. Ovo će dobro funkcionirati jer se USB priključci obično napajaju čak i ako je računar isključen. Koristio sam linearni regulator napona LM317 za smanjenje snage na 3,3 V. Regulator 3.3V bi također radio, ali ja ga nisam imao.

Kako bih izbjegao prelazak previše žica, prošao sam nekoliko žica na gornjoj strani perf ploče, što pokušavam izbjeći. Imajte na umu da su prolazne rupe provodljive, pa upotrijebite oklopljene žice kako biste izbjegli kratke spojeve. Te veze koje se odvijaju na vrhu ploče prikazane su iscrtkanim linijama na mom dijagramu.

Korak 5: Lemljena ploča

Lemljena ploča
Lemljena ploča

Moja posljednja lemljena ploča pokazala se jako dobro. Kao što se očekivalo, LED diode na vrhu trebale su puno rada kako bi bile ispravno lemljene bez kratkih spojeva. Nakon što ste lemili LED diode i zaglavlja, pomoću multimetra utvrdite imate li kratkih spojeva. Najbolje je da to saznate sada.

Osim LED dioda, sve ostalo je prošlo prilično dobro. Morao sam ponoviti nekoliko veza, ali s nekim pacijentima, nekim otklanjanjem pogrešaka i malo ponovnog lemljenja, sve će funkcionirati u redu.

Na ovoj fotografiji ćete vidjeti da sam priključio i optoizolatore za koje sam koristio 8-žični CAT-5 kabel. Razlog je taj što je super jeftin, jednostavan za spajanje i dobro je označen-više o optoizolatorima u sljedećem koraku.

Korak 6: Izrada optoizolatora

Izrada optoizolatora
Izrada optoizolatora

Naravno, ne morate sami izrađivati optoizolatore. Mnoge komercijalne verzije dostupne su za sitne novčiće po komadu i bolje bi radile jer bi direktno vodile napajanje računara bez ikakvog otpora. Ali, nisam imao nikakav optoizolator, pa sam morao napraviti svoj koristeći LED, otpornik i fotootpornik.

Nakon što sam potvrdio da unutar omotača od crnih skupljajućih cijevi otpor "isključen" sa manje od mog mjerača može očitati, a otpor "uključen" bio nekoliko tisuća ohma, napravio sam posljednji test na staroj matičnoj ploči. Meni je savršeno funkcionirao. Pretpostavljam da su neki računari možda manje -više osjetljivi, ali na matičnim pločama koje sam testirao ova je konfiguracija radila dobro.

Morat ćete koristiti jako svijetlu bijelu LED diodu kako biste dobili maksimalno svjetlo u fotootpornik. Nisam isprobavao mnogo opcija, ali svijetlo bijela LED dioda i otpornik od 220 ohma definitivno rade dobro.

Korak 7: Postavljanje CloudMQTT -a

CloudMQTT postavljanje
CloudMQTT postavljanje
CloudMQTT postavljanje
CloudMQTT postavljanje
CloudMQTT postavljanje
CloudMQTT postavljanje

Bilo koja MQTT usluga ili slična IoT usluga poput Blynk -a bi funkcionirala, ali za ovaj projekt odlučujem se koristiti CloudMQTT. U prošlosti sam koristio CloudeMQTT za mnoge projekte, a budući da će ovaj projekt biti predan prijatelju, ima smisla stvoriti novi račun koji se također može prenijeti.

Kreirajte CloudMQTT račun, a zatim kreirajte novu "instancu", odaberite veličinu "Cute Cat" budući da je koristimo samo za kontrolu, bez evidentiranja. CloudMQTT će vam dati ime servera, korisničko ime, lozinku i broj porta. (Imajte na umu da broj porta nije standardni MQTT port). Prenesite sve ove vrijednosti u svoj ESP8266 kôd na odgovarajućim lokacijama, pazeći da su slova ispravna. (ozbiljno, kopirajte/zalijepite vrijednosti)

Možete koristiti ploču "Websocket UI" na CloudMQTT -u da vidite veze vašeg uređaja, pritiskanje tipki i, u neobičnom scenariju, da dobijete grešku, poruku o grešci.

Ove postavke će vam trebati i pri konfiguriranju Android MQTT klijenta, pa zapišite vrijednosti ako trebate. Nadajmo se da vaša lozinka nije previše komplicirana za upisivanje na telefonu. Ne možete to postaviti u CloudMQTT.

Korak 8: MQTT Android klijent

MQTT Android klijent
MQTT Android klijent
MQTT Android klijent
MQTT Android klijent
MQTT Android klijent
MQTT Android klijent
MQTT Android klijent
MQTT Android klijent

Svaki Android (ili iPhone) MQTT klijent bi radio, ali meni se sviđa MQTT Dash. MQTT Dash je jednostavan za korištenje, vrlo osjetljiv i ima sve opcije koje će vam trebati.

Nakon instaliranja postavite MQTT poslužitelj, napunite server, port, korisničko ime i lozinku vrijednostima vaše instance, a NE svoje podatke za prijavu u CloudMQTT. Možete koristiti bilo koje ime klijenta koje želite.

Ako ste sve ispravno upisali, automatski će se povezati s vašim MQTT serverom i prikazati vam prazan ekran jer još niste postavili nijedan gumb, tekst ili poruku. Na praznom ekranu vidite "+" u gornjem desnom kutu, kliknite na nju, a zatim odaberite "Odaberi/dugme". Mi ćemo dodati jedno "Odaberi/dugme" po računaru, dakle 8 ili 16 ili manje.

Ako ste DOBILI grešku pri povezivanju, jedna od vrijednosti je pogrešna. Vratite se i još jednom provjerite

Svaki računar će koristiti temu koja odgovara vrijednostima navedenim u vašem kodu. Da ste slijedili moje konvencije, one bi bile "cluster/rack-01/computer/01". Bilo bi najbolje promijeniti vrijednosti "uključeno" i "isključeno" kako bi odgovarale našem kodu. Umjesto "0" i "1", koristite vrijednosti "uključeno" i "isključeno", respektivno. Također bih preporučio korištenje QoS -a (1) jer očekujemo potvrdu od poslužitelja.

Nakon dodavanja jednog, možete dugo pritisnuti i upotrijebiti opciju "kloniranje" za stvaranje hrpe, a zatim promijeniti njihovo ime i temu.

Lako.

Korak 9: Postavite svoj ESP8266 na Wi -Fi

Nabavite svoj ESP8266 na Wi -Fi
Nabavite svoj ESP8266 na Wi -Fi

Koristeći modul ESP8266 Wifi Manager, jednostavno je staviti naš uređaj na Wifi. Ako ste koristili moju klasu SensorBase, ona je već ugrađena. Ako nije, slijedite upute na stranici Wifi Manager -a.

Wifi Manager će se prilikom pokretanja pokušati povezati s vašim SSID -om, što ne može jer mu nikada niste rekli svoj SSID, pa će automatski preći u način pristupne tačke (ili način rada AP) i poslužiti jednostavnu web stranicu koja traži vaš SSID & Lozinka. Pomoću telefona ili prijenosnog računara povežite novo dostupnu bežičnu mrežu sa imenom SSID-a "ESP_xxxxxx", gdje je "xxxxxx" neki slučajan (ne baš slučajan) niz. (Potpuna uputstva možete pronaći na stranici Wifi Manager.)

Kada se povežete, otvorite web preglednik i usmjerite ga na 192.168.4.1, upišite svoj SSID i lozinku i kliknite Spremi.

Sada ste na internetu, a vaš IoT uređaj ima dio "I" koji radi!

Korak 10: Završna veza i testiranje

Završna veza i testiranje
Završna veza i testiranje

Sve završeno.

Da biste sve spojili, locirajte kabel gumba za napajanje na računaru tamo gdje se sastaje s matičnom pločom. Trebali biste vidjeti dva reda zaglavlja s hrpom žica i konektora. Obično su označeni prilično dobro. Isključite prekidač i uključite utikač optoizolatora. Stavio sam neke "Dupont" utikače na svoje, tako da su uključeni baš kao i kabel za napajanje. Polaritet na ovom kraju nije bitan, ali pazite da imate ispravni polaritet drugog kraja - onog koji ide na vašu prilagođenu ploču.

I radi savršeno. Pomoću klijenta MQTT Dash (ili sličnog alata) možete daljinski napajati računare.

Pritisnite odgovarajuće dugme za provjeru na svojoj aplikaciji, a nakon što se aplikacija javi s poslužitelja MQTT s porukom "isključeno", gumb će se promijeniti u neoznačeno.

Ovo traje nekoliko sedmica bez ikakvih problema. Primijetili smo da je potrebno produžiti vrijeme potrebno za pritiskanje dugmeta na računarima. Završili smo s 1 punom sekundom. Ova vrijednost se može prikazati kao vrijednost koja se može postaviti putem MQTT servera, ili možete ožičiti vrijednost, ovisno o vašoj želji.

Sretno i javi mi kako je tvoje ispalo.

Preporučuje se: