Sadržaj:

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

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

Video: Daljinsko isključivanje ili ponovno pokretanje računala s uređajem ESP8266: 10 koraka (sa slikama)
Video: Ako imate Android telefon, OVO MORATE ISPROBATI! 2024, Srpanj
Anonim
Image
Image

Da budemo jasni, gasimo VAŠE računalo, a ne tuđe računalo.

Priča ide ovako:

Moj prijatelj na Facebooku mi je poslao poruku i rekao da ima desetak računara koji rade hrpu matematike, ali svako jutro u 3 ujutro zaključavaju se. Budući da su računala udaljena 30 minuta, velika je smetnja voziti dva grada (živimo u Južnoj Dakoti) radi uključivanja računala. Pitao je, mogu li mu izgraditi IoT uređaj koji bi mu omogućio da ponovno pokrene kompjutersko računalo iz udobnosti svog udobnog kreveta?

Da nikad ne propustim izazov, pristala sam mu sastaviti nešto. Ovo je taj projekt.

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 kupite dijelove 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.

Započnimo.

Korak 1: Prototipna ploča

Prototipna ploča
Prototipna ploča
Prototipna ploča
Prototipna ploča

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 je projekt pomalo kompliciran pa toplo preporučujem da ga prije nego što krenete naprijed izgradite na osnovnoj ploči.

Dijelovi 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
  • Kratkospojne žice 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ćih cijevi okrenutih jedan prema drugom. No do njih ćemo doći kasnije.

Slijedite shemu ožičenja koja je navedena u sljedećem koraku. Ožičenje je prilično jednostavno.

Budući da ESP8266 radi na 3,3 V, pazite da ga napajate na odgovarajući način

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 svoje 'sat' i 'zasun' pinova.

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. No to će cijeni projekta dodati još 2 USD - š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 niti prešli u programski način rada. Koristio sam tri otpornika 3k3, veće ili manje vrijednosti također bi radile. Ova je vrijednost izvedena iz vodiča koji govore o iskorištavanju 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, one idu na masu.

Korak 3: Kôd ESP8266

Kod ESP8266
Kod ESP8266

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

projekt "recks-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 dokumentiran.

  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, na gornjoj poveznici.
  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 uslugu CloudMQTT.
  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 ploče

Izgled Perfboard ploče
Izgled Perfboard ploče

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 lako ga je postaviti pomoću komada prilagođenog papira za grafofonije. Ovdje ćete vidjeti moj izgled. Naravno, možete odlučiti učiniti 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 svaki krug optoizolatora. Znao sam da će faza ispitivanja biti beskrajno lakša ako mogu dobiti trenutnu povratnu informaciju izravno na ploči, ali sam također znao da bi te LED diode izazvale ogromnu bol pri 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 žica za uzemljenje. Ovo se pokazalo kao dobar dizajn. LED žice spajaju se iznad 8-bitnih registara pomaka i provode na vrhu ploče s oklopljenim žicama radi jednostavnosti.

Za napajanje sam ga htio pokrenuti sa starog USB kabela za napajanje izravno s jednog od računala. To će dobro funkcionirati jer se USB priključci obično napajaju čak i ako je računalo isključeno. 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 s gornje strane perf ploče, što pokušavam izbjeći. Imajte na umu da su prolazne rupe vodljive, 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 saznati sada.

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

Vidjet ćete na ovoj fotografiji da sam spojio 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 novce po komadu i radile bi bolje jer bi izravno napajale vodove računala bez ikakvog otpora. No, nisam imao nikakav optoizolator, pa sam svoj morao napraviti pomoću LED diode, otpornika i fotootpornika.

Nakon što sam potvrdio da unutar omotača od crnih skupljajućih cijevi otpor "isključen" s 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 neka računala možda manje -više osjetljiva, 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 isprobao mnogo opcija, ali svijetlo bijela LED dioda i otpornik od 220 ohma definitivno rade dobro.

Korak 7: Postavljanje CloudMQTT -a

Postavljanje CloudMQTT -a
Postavljanje CloudMQTT -a
Postavljanje CloudMQTT -a
Postavljanje CloudMQTT -a
Postavljanje CloudMQTT -a
Postavljanje CloudMQTT -a

Bilo koja MQTT usluga ili slična IoT usluga poput Blynk -a bi funkcionirala, ali ja se odlučujem za ovaj projekt 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.

Izradite CloudMQTT račun, a zatim stvorite novu "instancu", odaberite veličinu "Cute Cat" budući da je koristimo samo za kontrolu, bez evidentiranja. CloudMQTT će vam dati naziv poslužitelja, 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 mjestima, pazeći da je slučaj ispravan. (ozbiljno, kopirajte/zalijepite vrijednosti)

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

Ove će vam postavke trebati i pri konfiguriranju Android MQTT klijenta, pa zabilježite vrijednosti ako trebate. Nadajmo se da vaša lozinka nije previše komplicirana za upisivanje na telefonu. To ne možete 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

Bilo koji 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 mogućnosti koje će vam trebati.

Nakon instaliranja postavite MQTT poslužitelj, napunite poslužitelj, 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 spojiti na vaš MQTT poslužitelj i prikazati će vam prazan zaslon jer još niste postavili nijedan gumb, tekst ili poruku. Na praznom zaslonu vidite "+" u gornjem desnom kutu, kliknite ga, a zatim odaberite "Odaberi/gumb". Dodat ćemo jedan "Odabir/gumb" po računalu, dakle 8 ili 16 ili manje.

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

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

Nakon dodavanja jednog, možete dugo pritisnuti i upotrijebiti opciju "klonirati" za stvaranje hrpe, a zatim promijeniti njihov naziv i temu.

Dovoljno lako.

Korak 9: Dobivanje vašeg ESP8266 na Wi -Fi

Nabavite svoj ESP8266 na Wifi
Nabavite svoj ESP8266 na Wifi

Korištenje modula 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 Managera.

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 točke (ili način AP -a) i poslužiti jednostavnu web stranicu koja traži vaš SSID & Lozinka. Pomoću telefona ili prijenosnog računala 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. (Cijele upute možete pronaći na stranici Wifi Manager.)

Kad 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 gotovo.

Da biste sve spojili, locirajte kabel gumba za napajanje na računalu 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 utikač optoizolatora. Na svoj sam stavio neke "Dupont" utikače, pa su se oni priključili baš kao i kabel za napajanje. Polaritet na ovom kraju nije bitan, ali provjerite jeste li ispravno izvršili 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čunala.

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

Ovo traje nekoliko tjedana bez ikakvih problema. Uočili smo da je potrebno produljiti vrijeme potrebno za pritiskanje gumba na računalima. Završili smo s 1 punom sekundom. Ova se vrijednost može prikazati kao vrijednost koja se može postaviti putem poslužitelja MQTT, ili možete ožičiti vrijednost, ovisno o vašoj želji.

Sretno i javi mi kako je tvoje ispalo.

Preporučeni: