Kazalo:
- 1. korak: Prototipna plošča
- 2. korak: Shema z uporabo Will-CAD
- 3. korak: Koda ESP8266
- 4. korak: postavitev Perfboard
- 5. korak: Spajkana plošča
- 6. korak: Izdelava optoizolatorjev
- 7. korak: nastavitev CloudMQTT
- 8. korak: Odjemalec Android MQTT
- 9. korak: Prenesite svoj ESP8266 na Wi -Fi
- 10. korak: Končna povezava in testiranje
Video: Oddaljeni izklop ali ponovni zagon računalnika z napravo ESP8266: 10 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Če želimo biti jasni, izklapljamo VAŠ računalnik in ne računalnik nekoga drugega.
Zgodba gre takole:
Prijatelj na Facebooku mi je poslal sporočilo in rekel, da ima na ducat računalnikov veliko matematike, a se vsako jutro ob treh zjutraj zaklenejo. Ker so računalniki oddaljeni 30 minut, je velika neprijetnost, da v dveh mestih (živimo v Južni Dakoti) vozimo računalnike. Vprašal je, ali mu lahko zgradim IoT napravo, ki bi mu omogočila, da znova zažene škodljiv računalnik iz udobja svoje udobne postelje?
Da nikoli ne zamudim izziva, sem se strinjal, da mu bom sestavil nekaj. To je tisti projekt.
Z uporabo dveh registriranih premikov bitov, ESP8266 ESP01, peščice LED diod in nekaterih domačih optoizolatorjev, celoten projekt stane približno 5 USD, če dele na Kitajskem kupite na eBayu. Mogoče 20 dolarjev iz Amazona.
To je precej zapletena konstrukcija z veliko finega spajkanja. Če ne štejem mojih zvijač in ponovnega spajkanja, sem za izdelavo porabil več kot 20 ur, vendar se je izkazalo za neverjetno in je delovalo odlično.
Začnimo.
1. korak: Prototipna plošča
Vse projekte vedno začnite s prototipom. To je najboljši način, da ugotovite, ali imate vse komponente in delujete po pričakovanjih. Ta projekt je nekoliko zapleten, zato toplo priporočam, da ga pred nadaljnjo gradnjo sestavite na podlagi.
Deli, ki jih boste potrebovali, so:
- En ESP8266 ESP01 (čeprav bi delovala katera koli naprava ESP8266)
- Dva 8-bitna registra premikov, uporabil sem 74HC595N
- 16 LED, uporabil sem bele LED diode iz slamnika, ki delujejo pri 3.3V. Če uporabljate druge, boste morda potrebovali upore.
- Trije 3k3-ohmpulldown upori
- Mostične žice in plošča
Prav tako boste morali zgraditi vsaj en optoizolator. Uporabil sem črno skrčljivo cev, svetlo belo LED, 220-ohmski upor in foto upor. 220-ohmski upor spajkajte na katodo LED-diode, nato pa LED in foto-upor zapečatite v skrčeni cevi, obrnjeni drug proti drugemu. Toda do njih bomo prišli v naslednjem koraku.
Sledite diagramu ožičenja v naslednjem koraku. Ožičenje je precej preprosto.
Ker ESP8266 deluje pri 3.3V, ga ustrezno napajajte
2. korak: Shema z uporabo Will-CAD
Shema je precej preprosta. Sledimo standardnemu povezovanju 8-bitnega premičnega registra. Ker uporabljam dva 8-bitna registra premikov, ju je treba povezati v verigo na zatičih "ura" in "zapah".
Ker ima ESP01 samo dva zatiča GPIO, moramo kot izhode znova uporabiti TX in RX, kar dobro deluje za naše namene. Če želite več nadzora, lahko uporabite ESP-12 ali drugo različico z več kot dvema zatičema GPIO. Toda to bo stroškom projekta dodalo še 2 USD - kar je noro.
8-bitne registre premikov in zatiče ESP01 moramo ob zagonu držati visoko, da ne delajo čudnih stvari ali preidejo v programski način. Uporabil sem tri upore 3k3, večje ali manjše vrednosti bi delovale tudi. Ta vrednost je bila izpeljana iz vodnikov, ki govorijo o uporabi alternativnih zatičev na ESP01.
ESP01 (ESP8266)
- TX ura zatiča 3k3
- RX zapah zatiča 3k3
- 00 serijski podatki 3k3 izvlečenje
- 02 plavajoče
8-bitni premik (74HC595H)
- VCC 3.3V
- OE 3.3V (to je vklopni zatič)
- GND GND
- CLR GND (to preprečuje brisanje čistega zatiča)
- LED diode gredo na tla.
3. korak: Koda ESP8266
Koda ESP8266 je precej preprosta. Na žalost je urejevalnik v Instructables precej neuporaben, zato boste želeli kodo dobiti neposredno iz Github -a.
projekt "recks-reboot":
github.com/bluemonkeydev/arduino-projects/…
Razred "SensorBase" je na voljo tukaj. To je potrebno, če želite "uporabiti" mojo kodo:
github.com/bluemonkeydev/arduino-projects/…
Opozoriti je treba na nekaj stvari. Koda je precej dobro dokumentirana.
- Sem zelo len razvijalec, zato sem vso kodo ESP8266 za večkratno uporabo dal v razred, imenovan "SensorBase." To lahko najdete tudi na Githubu, zgornja povezava.
- Vnesti morate strežnik posrednika MQTT, uporabniško ime, geslo in vrata. Te lahko najdemo nekoliko nižje, ko ustvarimo storitev CloudMQTT.
- Formati sintakse moje teme vam ni treba slediti. Vseeno bi priporočal, da mu sledite.
- V tej kodi ni nič pametnega. To je zelo pragmatično.
4. korak: postavitev Perfboard
Ta projekt bo nameščen v mini podatkovnem centru, zato sem se odločil, da za končno zasnovo uporabim samo ploščo perf. Perfboard odlično deluje za takšne projekte in ga je enostavno postaviti s kosom graf papirja po meri. Tu boste videli mojo postavitev. Seveda se lahko odločite tudi drugače.
Moj projekt je potreboval dva 8-bitna registra premikov, zato sem začel z njihovim pozicioniranjem na sredini. Vedel sem, da bodo moji priključki za optoizolatorje zaenkrat preproste ženske glave, čeprav to ni idealna rešitev.
Všeč so mi LED diode in to je moralo imeti LED za vsako vezje optoizolatorja. Vedel sem, da bi bila preskusna faza neskončno lažja, če bi lahko takoj dobil povratne informacije neposredno na ploščo, a tudi vedel sem, da bi te LED diode spajkale veliko bolečino. In so bili. Nisem imel nič manjšega od 5 mm LED, zato sem jih moral zamakniti. Moja končna zasnova je naredila cik-cak vzorec katod, ker nisem želel, da bi anode vodile po ozemljitvenih žicah. To se je izkazalo za dober dizajn. LED žice se združijo nad 8-bitnimi registri premikov in poenostavijo na vrhu plošče z oklopljenimi žicami.
Za napajanje sem ga želel zagnati iz starega kabla USB, ki se napaja neposredno iz enega od računalnikov. To bo dobro delovalo, ker se vrata USB običajno napajajo, tudi če je računalnik izklopljen. Uporabil sem linearni regulator napetosti LM317 za zmanjšanje moči na 3,3 V. Prav tako bi deloval regulator 3.3V, vendar ga nisem imel.
Da bi se izognili prečkanju preveč žic, sem na zgornji strani plošče perf potegnil nekaj žic, ki se jim poskušam izogniti. Upoštevajte, da so prehodne luknje prevodne, zato uporabite izolirane žice, da se izognete kratkim stikom. Povezave na vrhu plošče so prikazane s črtkanimi črtami na mojem diagramu.
5. korak: Spajkana plošča
Moja zadnja spajkana plošča se je izkazala za zelo dobro. Kot je bilo pričakovano, so LED diode na vrhu zahtevale veliko dela, da so bile pravilno spajkane brez kratkih stikov. Ko spajate LED in glave, z multimetrom ugotovite, ali imate kratke hlače. Najbolje je, da to ugotovite zdaj.
Razen LED je vse ostalo potekalo zelo dobro. Moral sem obnoviti nekaj povezav, vendar bo pri nekaterih bolnikih, nekaj odpravljanja napak in malo ponovnega spajkanja vse delovalo v redu.
Na tej fotografiji boste videli, da sem priključil tudi optoizolatorje, za katere sem uporabil 8-žilni kabel CAT-5. Razlog je v tem, da je super poceni, enostaven za spajanje in je dobro označen-več o tistih optoizolatorjih v naslednjem koraku.
6. korak: Izdelava optoizolatorjev
Seveda vam ni treba izdelovati lastnih optoizolatorjev. Številne komercialne različice so na voljo za peni na kos in bi delovale bolje, saj bi neposredno vodile napajanje računalnika brez kakršnega koli upora. Nisem pa imel nobenega optoizolatorja, zato sem ga moral narediti z LED, uporom in fotorezistorjem.
Potem ko sem potrdil, da je v rokavu iz črne skrčljive cevi odpornost "off" z manj kot moj meter lahko prebral in "on" upor nekaj tisoč ohmov, sem naredil zadnji test na stari matični plošči. Meni je odlično delovalo. Sumim, da so nekateri računalniki morda bolj ali manj občutljivi, toda na matičnih ploščah, ki sem jih preizkusil, je ta konfiguracija delovala dobro.
Za maksimalno svetlobo fotorezistorja boste želeli uporabiti resnično svetlo belo LED. Nisem preizkusil veliko možnosti, vendar svetlo bela LED in 220-ohmski upor vsekakor dobro delujeta.
7. korak: nastavitev CloudMQTT
Vsaka storitev MQTT ali podobna storitev IoT, kot je Blynk, bi delovala, vendar sem se za ta projekt odločil uporabiti CloudMQTT. CloudeMQTT sem v preteklosti že uporabljal za številne projekte, in ker bo ta projekt predan prijatelju, je smiselno ustvariti nov račun, ki ga je mogoče tudi prenesti.
Ustvarite račun CloudMQTT in nato ustvarite nov "primerek", izberite velikost "Cute Cat", saj ga uporabljamo samo za nadzor, brez beleženja. CloudMQTT vam bo posredoval ime strežnika, uporabniško ime, geslo in številko vrat. (Upoštevajte, da številka vrat ni standardna vrata MQTT). Vse te vrednosti prenesite v kodo ESP8266 na ustreznih mestih in se prepričajte, da je pravilna črka. (resno, kopirajte/prilepite vrednosti)
Na plošči "Websocket UI" v CloudMQTT lahko vidite povezave vaše naprave, pritiske gumbov in v nenavadnem primeru, da dobite napako, sporočilo o napaki.
Te nastavitve boste potrebovali tudi pri konfiguraciji odjemalca Android MQTT, zato upoštevajte vrednosti, če jih potrebujete. Upajmo, da geslo ni preveč zapleteno za vnos v telefon. Tega ne morete nastaviti v CloudMQTT.
8. korak: Odjemalec Android MQTT
Vsak odjemalec MQTT za Android (ali iPhone) bi deloval, vendar mi je všeč MQTT Dash. MQTT Dash je enostaven za uporabo, zelo odziven in ima vse možnosti, ki jih potrebujete.
Ko je nameščen, nastavite strežnik MQTT, v strežnik, vrata, uporabniško ime in geslo napolnite vrednosti svojega primerka, NE pa svoje podatke za prijavo v CloudMQTT. Uporabite lahko poljubno ime odjemalca.
Če ste vse pravilno vnesli, se bo samodejno povezal s strežnikom MQTT in prikazal prazen zaslon, saj še niste nastavili nobenega gumba, besedila ali sporočila. Na praznem zaslonu v zgornjem desnem kotu vidite znak "+", kliknite ga in nato izberite "Izberi/gumb". Na računalnik bomo dodali eno "Izberi/gumb", torej 8 ali 16 ali manj.
Če ste prišlo do napake pri povezavi, je ena od vrednosti napačna. Vrnite se in dvakrat preverite
Vsak računalnik bo uporabil temo, ki ustreza vrednostim, navedenim v vaši kodi. Če bi sledili mojim konvencijam, bi bile "gruča/stojalo-01/računalnik/01". Najbolje bi bilo spremeniti vrednosti "vklop" in "izklop", da se ujemajo z našo kodo. Namesto "0" in "1" uporabite vrednosti "on" in "off". Priporočam tudi uporabo QoS (1), saj bomo od strežnika pričakovali potrditev.
Ko dodate eno, lahko dolgo pritisnete in uporabite možnost "kloniraj", da ustvarite kup, nato pa spremenite njihovo ime in temo.
Dovolj enostavno.
9. korak: Prenesite svoj ESP8266 na Wi -Fi
Z uporabo modula ESP8266 Wifi Manager je enostavno postaviti našo napravo na Wifi. Če ste uporabili moj razred SensorBase, je že vgrajen. V nasprotnem primeru sledite navodilom na strani upravitelja Wifi.
Upravitelj Wifi se bo ob zagonu poskušal povezati z vašim SSID -om, kar pa ne more storiti, saj mu niste nikoli povedali svojega SSID -ja, zato bo samodejno prešel v način dostopne točke (ali način dostopa) in vročil preprosto spletno stran, ki bo zahtevala vaš SSID & Geslo. S telefonom ali prenosnim računalnikom povežite novo razpoložljivo brezžično omrežje z imenom SSID "ESP_xxxxxx", kjer je "xxxxxx" neko naključno (ne prav naključno) zaporedje. (Celotna navodila najdete na strani Wifi Manager.)
Ko ste povezani, odprite spletni brskalnik in ga pokažite na 192.168.4.1, vnesite svoj SSID in geslo ter kliknite shrani.
Zdaj ste na internetu in vaša naprava IoT ima delu "I"!
10. korak: Končna povezava in testiranje
Končano.
Če želite vse povezati, poiščite kabel gumba za vklop računalnika tam, kjer se dotika matične plošče. Videti bi morali dve vrsti naslovov s kopico žic in priključkov. Običajno so označeni precej dobro. Odklopite stikalo in vtaknite vtič optoizolatorja. Na svoj sem dal nekaj vtičev "Dupont", tako da so bili priključeni tako kot napajalni kabel. Polarnost na tem koncu ni pomembna, vendar se prepričajte, da je polarnost drugega konca pravilna - tista, ki gre na vašo ploščo po meri.
In deluje odlično. Z odjemalcem MQTT Dash (ali podobnim orodjem) lahko računalnike na daljavo napajate.
Pritisnite ustrezen gumb za preverjanje v svoji aplikaciji in ko se aplikacija oglasi s strežnika MQTT s sporočilom »izklop«, se bo gumb spremenil v neoznačeno.
To deluje že nekaj tednov brez težav. Opazili smo, da je treba podaljšati čas, da pritisnemo gumb na računalnikih. Na koncu smo imeli 1 polno sekundo. To vrednost lahko razkrijete kot nastavljivo vrednost prek strežnika MQTT ali pa vrednost povežete, odvisno od vaše želje.
Vso srečo in sporoči, kako se je tvoje izkazalo.
Priporočena:
Ponovni obisk računalnika Z80: 6 korakov
Ponovni obisk računalnika Z80: V preteklosti sem napisal vodnik o tem, kako zgraditi računalnik na osnovi Z80, in vezje sem oblikoval tako, da je čim bolj poenostavljen, da ga je mogoče čim lažje zgraditi. Napisal sem tudi majhen program z isto idejo preprostosti. T
Ponovni zagon usmerjevalnika Raspberry Pi: 3 koraki
Ponovni zagon usmerjevalnika Raspberry Pi: Ste kdaj opazili, da niste več povezani z internetom? Ali je frustrirajuće, če vstanem zjutraj in moram znova zagnati usmerjevalnik, da dobim internet nazaj? No, to se mi je zgodilo pogosteje, kot mi je mar, da se to zgodi. Prej
Zagon radijske postaje iz računalnika: 6 korakov (s slikami)
Zaženite radijsko postajo iz računalnika: ta navodila vam pokažejo, kako ustvariti svojo internetno radijsko postajo tik pred domačim računalnikom
Zagon in zagon Ubuntuja s bliskovnega pogona: 6 korakov
Zagon in zagon Ubuntuja s bliskovnega pogona: Zagon operacijskega sistema, kot je Windows, zunaj bliskovnega pogona je lahko včasih zelo koristen. Podatke lahko obnovite s trdega diska in jih kopirate na zunanji trdi disk, če se ta ne zažene ali skenira računalnika glede virusov in
Izklop, ponovni zagon ali mirovanje računalnika po urniku: 6 korakov
Zaustavitev, ponovni zagon ali mirovanje računalnika po urniku: V tem navodilu vam bom pokazal, kako računalnik po urniku zaustavite, znova zaženete ali preklopite v mirovanje. Glejte obvestilo na koncu, če uporabljate starejši operacijski sistem kot Windows XP