Taula de continguts:

Apagueu o reinicieu un ordinador de manera remota amb el dispositiu ESP8266: 10 passos (amb imatges)
Apagueu o reinicieu un ordinador de manera remota amb el dispositiu ESP8266: 10 passos (amb imatges)

Vídeo: Apagueu o reinicieu un ordinador de manera remota amb el dispositiu ESP8266: 10 passos (amb imatges)

Vídeo: Apagueu o reinicieu un ordinador de manera remota amb el dispositiu ESP8266: 10 passos (amb imatges)
Vídeo: R Ошибка устройства VMWARE CREDENTIAL Guard WINDOWS 10 | Как отключить учетные данные GUARD ✍️ 2024, Desembre
Anonim
Image
Image

Per tenir-ho clar aquí, estem apagant l’ordinador, no l’ordinador d’una altra persona.

La història és així:

Un amic meu de Facebook em va enviar un missatge i em va dir que tenia una dotzena d’ordinadors que funcionaven amb un munt de matemàtiques, però cada matí a les 3 de la matinada es tanquen. Com que els ordinadors es troben a 30 minuts de distància, és una molèstia enorme conduir dues ciutats (vivim a Dakota del Sud) per encendre els ordinadors. Va preguntar: podia construir-li un dispositiu IoT que li permetés reiniciar l’ordinador ofensiu des de la comoditat del seu acollidor llit?

Per no perdre’m mai cap repte, vaig acceptar muntar alguna cosa per ell. Aquest és aquest projecte.

Utilitzant dos bit-shift registrats, un ESP8266 ESP01, un grapat de LEDs i alguns optoisoladors casolans, tot el projecte costa uns 5 dòlars si compreu les peces de la Xina a eBay. Potser 20 dòlars d’Amazon.

Es tracta d’una construcció bastant complexa amb molta soldadura fina. Sense comptar els problemes i la soldadura, em van costar 20 hores fer-ho, però va resultar increïble i va funcionar perfectament.

Anem a començar.

Pas 1: prototip de tauler

Tauler prototip
Tauler prototip
Tauler prototip
Tauler prototip

Inicieu sempre tots els projectes amb un tauler de prototipus. És la millor manera de determinar si teniu tots els components i opereu tal i com s’esperava. Aquest projecte és una mica complicat, per la qual cosa recomano encarir-lo construir-lo sobre una taula abans de seguir endavant.

Les parts que necessiteu són:

  • Un ESP8266 ESP01 (tot i que qualsevol dispositiu ESP8266 funcionaria)
  • Dos registres de desplaçament de 8 bits, he utilitzat el 74HC595N
  • 16 LEDs, he utilitzat LEDs blancs de barret de palla que funcionen a 3,3V. Si en feu servir d'altres, és possible que necessiteu resistències.
  • Tres resistències de 3k3-ohmpulldown
  • Filferros de pont i una taula de tall

També haureu de construir almenys un optoisolador. He utilitzat tubs retractilables negres, un LED blanc brillant, una resistència de 220 ohms i un fotoresistor. Soldeu la resistència de 220 ohms al càtode del LED i, a continuació, segelleu el LED i el fotoresistor dins del tub retràctil enfrontats. Però arribarem a aquells en un pas posterior.

Seguiu l'esquema de cablejat que es proporciona al següent pas. El cablejat és bastant senzill.

Com que l’ESP8266 funciona a 3,3 V, assegureu-vos d’alimentar-lo adequadament

Pas 2: Esquema mitjançant Will-CAD

Esquema mitjançant Will-CAD
Esquema mitjançant Will-CAD

L’esquema és força senzill. Seguim el cablejat estàndard d’un registre de desplaçament de 8 bits. Com que faig servir dos registres de desplaçament de 8 bits, cal encadenar-los entre els passadors de "rellotge" i "pestell".

Com que l’ESP01 només té dos pins GPIO, hem de tornar a utilitzar el TX & RX com a sortides, que funcionen bé per als nostres propòsits. Podeu utilitzar un ESP-12 o una altra versió amb més de dos pins GPIO si voleu més control. Però això afegirà altres 2 dòlars al cost del projecte, que és una bogeria.

Hem de mantenir els registres de desplaçament de 8 bits i els pins ESP01 arrencats a l’arrencada, de manera que no facin coses estranyes ni passin al mode de programa. Vaig utilitzar tres resistències 3k3, també funcionarien valors més grans o més petits. Aquest valor es va derivar de les guies que parlaven sobre l'aprofitament de pins alternatius a ESP01.

ESP01 (ESP8266)

  • Extracció del pin del rellotge TX 3k3
  • Tirador RX del passador 3k3
  • 00 extracció de dades de sèrie 3k3
  • 02 flotant

Registre de canvis de 8 bits (74HC595H)

  • VCC 3.3V
  • OE 3.3V (aquest és el pin d’activació)
  • GND GND
  • CLR GND (això evita que el pin clar esborri)
  • I els LED, aquests van a terra.

Pas 3: codi ESP8266

Codi ESP8266
Codi ESP8266

El codi ESP8266 és bastant senzill. Malauradament, l'editor d'Instructables és força inútil, de manera que voldreu obtenir el codi directament de Github.

projecte "racks-reboot":

github.com/bluemonkeydev/arduino-projects/…

La classe "SensorBase" està disponible aquí. És obligatori si voleu "utilitzar" el meu codi:

github.com/bluemonkeydev/arduino-projects/…

Hi ha algunes coses a destacar. El codi està força ben documentat.

  1. Sóc un desenvolupador molt mandrós, de manera que he posat tot el codi ESP8266 reutilitzable en una classe anomenada "SensorBase". També podeu trobar-ho a Github, a l’enllaç superior.
  2. Heu d’escriure el servidor, el nom d’usuari, la contrasenya i el port del vostre intermediari MQTT. Es poden trobar una mica més avall quan creem el servei CloudMQTT.
  3. NO cal que seguiu el format de sintaxi del tema. Tanmateix, recomanaria seguir-lo.
  4. No hi ha res intel·ligent en aquest codi. És molt pragmàtic.

Pas 4: Disseny de perfboard

Disseny de perfboard
Disseny de perfboard

Aquest projecte s’instal·larà en un mini-centre de dades, de manera que vaig decidir utilitzar el tauler de perf per al disseny final. Perfboard funciona molt bé per a projectes com aquest i és fàcil de dissenyar amb un tros de paper mil·limetrat personalitzat. Aquí veureu el meu disseny. Per descomptat, podeu optar per fer-ho d’una altra manera.

El meu projecte necessitava dos registres de desplaçament de 8 bits, així que vaig començar amb el seu posicionament al mig. Sabia que ara els meus connectors a optoisoladors serien simples capçaleres femenines, tot i que no és una solució ideal.

M’encanten els LED, i això necessitava tenir un LED per a cada circuit d’optoisoladors. Sabia que la fase de prova seria infinitament més fàcil si pogués obtenir informació instantània directament a la placa, però també sabia que aquests LED causarien un enorme dolor de soldadura. I ho eren. No tenia res més petit que els LED de 5 mm, així que els vaig haver d’escalonar. El meu disseny final va fer un patró en zig-zag dels càtodes perquè no volia passar els ànodes sobre els cables de terra. Aquest va resultar ser un bon disseny. Els cables LED s’uneixen per sobre dels registres de desplaçament de 8 bits i funcionen a la part superior de la placa amb cables blindats per simplificar.

Per obtenir energia, volia executar-lo des d’un antic cable USB per alimentar-lo directament des d’un ordinador. Això funcionarà bé perquè els ports USB solen alimentar-se fins i tot si l’ordinador està apagat. He utilitzat un regulador de tensió lineal LM317 per reduir la potència a 3,3V. Un regulador de 3,3 V també hauria funcionat, però jo no en tenia.

Per evitar que es creuessin massa cables, vaig passar uns quants cables a la part superior del tauler de perfils, cosa que intento evitar. Tingueu en compte que els forats passants són conductors, de manera que utilitzeu cables blindats per evitar curtmetratges. Les connexions que tenen lloc a la part superior del tauler es mostren en línies discontínues al meu diagrama.

Pas 5: Tauler soldat

Taula soldada
Taula soldada

El meu tauler soldat final va sortir molt bé. Com era d’esperar, els LED de la part superior van fer molta feina per soldar-se correctament sense cap curtmetratge. Després d’haver soldat els LED i les capçaleres, utilitzeu el multímetre per determinar si teniu pantalons curts. El millor és esbrinar-ho ara.

A part dels LED, tota la resta va anar força bé. Vaig haver de refer algunes connexions, però amb alguns pacients, alguns de depuració i una mica de soldadura, tot funcionarà bé.

Veureu en aquesta foto que també he connectat els optoisoladors, que he utilitzat un cable CAT-5 de 8 fils. La raó és que és molt barat, fàcil d’empalmar i està molt ben marcat sobre els optoisoladors del pas següent.

Pas 6: Fer optoisoladors

Fer optoisoladors
Fer optoisoladors

Per descomptat, no necessiteu fabricar els vostres propis optoisoladors. Hi ha moltes versions comercials disponibles per cèntims per cent i funcionarien millor, ja que conduirien les línies elèctriques de l'ordinador directament sense cap mena de resistència. Però no tenia cap optoisolador, de manera que vaig haver de fer el meu mitjançant un LED, una resistència i una fotoresistència.

Després de confirmar que dins d'una màniga de tubs retractilables negres, la resistència "apagada" amb menys del meu comptador podia llegir i la resistència "activada" era d'uns quants milers d'ohms, vaig fer una prova final en una placa base antiga. Va funcionar perfectament per a mi. Sospito que alguns ordinadors poden ser més o menys sensibles, però a les plaques base que he provat, aquesta configuració funcionava bé.

Voleu utilitzar un LED blanc realment brillant per aconseguir la màxima llum al fotoresistor. No vaig provar moltes opcions, però el LED blanc brillant i una resistència de 220 ohmis definitivament funcionen bé.

Pas 7: Configuració de CloudMQTT

Configuració del CloudMQTT
Configuració del CloudMQTT
Configuració del CloudMQTT
Configuració del CloudMQTT
Configuració del CloudMQTT
Configuració del CloudMQTT

Qualsevol servei MQTT o qualsevol servei similar d’IoT com Blynk funcionaria, però trio utilitzar CloudMQTT per a aquest projecte. He utilitzat CloudeMQTT per a molts projectes en el passat i, atès que aquest projecte es lliurarà a un amic, té sentit crear un compte nou que també es pugui transferir.

Creeu un compte CloudMQTT i, a continuació, creeu una nova "instància", trieu la mida "Cute Cat", ja que només l'utilitzem per al control, sense registre. CloudMQTT us proporcionarà un nom de servidor, un nom d’usuari, una contrasenya i un número de port. (Tingueu en compte que el número de port no és el port MQTT estàndard). Transferiu tots aquests valors al vostre codi ESP8266 a les ubicacions corresponents, assegurant-vos que el cas sigui correcte. (seriosament, copieu / enganxeu els valors)

Podeu utilitzar el tauler "Websocket UI" de CloudMQTT per veure les connexions del dispositiu, les pulsacions de botons i, en algun cas estrany, que obtingueu un error, un missatge d'error.

També necessitareu aquesta configuració quan configureu el client Android MQTT, així que tingueu en compte els valors si ho necessiteu. Amb sort, la vostra contrasenya no és massa complicada per escriure al telèfon. No es pot configurar a CloudMQTT.

Pas 8: client Android MQTT

Client Android MQTT
Client Android MQTT
Client Android MQTT
Client Android MQTT
Client Android MQTT
Client Android MQTT
Client Android MQTT
Client Android MQTT

Qualsevol client MQTT d'Android (o iPhone) funcionaria, però m'agrada MQTT Dash. MQTT Dash és fàcil d'utilitzar, molt sensible i té totes les opcions que necessiteu.

Un cop instal·lat, configureu un servidor MQTT, empleneu el servidor, el port, el nom d'usuari i la contrasenya amb els valors de la vostra instància, NO la vostra informació d'inici de sessió a CloudMQTT. Podeu utilitzar qualsevol nom de client que vulgueu.

Si ho heu escrit tot correctament, es connectarà automàticament al servidor MQTT i us mostrarà una pantalla en blanc ja que encara no heu configurat cap botó, text ni missatge. A la pantalla en blanc, apareix un "+" a l'extrem superior dret, hi feu clic i, a continuació, seleccioneu "Selecciona / Botó". Afegirem un botó de selecció per equip, de manera que 8 o 16 o menys.

Si heu rebut un error de connexió, teniu un dels valors incorrecte. Torneu enrere i comproveu-ho de nou

Cada ordinador utilitzarà el tema que correspon als valors especificats al vostre codi. Si seguiu les meves convencions, serien "cluster / rack-01 / computer / 01". El millor seria canviar els valors "on" i "off" perquè coincideixin amb el nostre codi. En lloc de "0" i "1", utilitzeu els valors "on" i "off" respectivament. També recomanaria utilitzar QoS (1), ja que esperarem una confirmació del servidor.

Després d'afegir-ne un, podeu prémer i utilitzar l'opció "clonar" per crear un grup i canviar-ne el nom i el tema.

Prou fàcil.

Pas 9: Obtenir el vostre ESP8266 a Wifi

Obtenir el vostre ESP8266 a Wifi
Obtenir el vostre ESP8266 a Wifi

Mitjançant el mòdul ESP8266 Wifi Manager, és molt fàcil que el nostre dispositiu funcioni amb Wifi. Si heu utilitzat la meva classe SensorBase, ja està integrada. Si no, seguiu les instruccions de la pàgina del gestor de Wifi.

El gestor de Wifi intentarà connectar-se al vostre SSID en arrencar, cosa que no pot fer, ja que mai no li heu indicat el vostre SSID, de manera que passarà automàticament al mode de punt d’accés (o mode AP) i publicarà una pàgina web senzilla que us demanarà el vostre SSID. & Contrasenya. Amb el telèfon o l'ordinador portàtil, connecteu la xarxa sense fils recentment disponible amb el nom SSID "ESP_xxxxxx", on el "xxxxxx" és una seqüència aleatòria (no realment aleatòria). (Les instruccions completes es poden trobar a la pàgina del gestor de Wifi.)

Un cop connectat, accediu al navegador web i apunteu-lo a 192.168.4.1, escriviu el vostre SSID i contrasenya i feu clic a Desa.

Ara esteu a Internet i el vostre dispositiu IoT té la part "Jo" funcionant.

Pas 10: connexió final i proves

Connexió i proves finals
Connexió i proves finals

Tot fet.

Per connectar-ho tot, localitzeu el cable del botó d’engegada de l’ordinador on es troba amb la placa base. Hauríeu de veure dues files de capçaleres amb un munt de cables i connectors. Normalment, s’etiqueten bastant bé. Desconnecteu l’interruptor i endolleu l’endoll optoisolador. Vaig posar uns endolls "Dupont" a la meva, de manera que es van endollar igual que el cable d'alimentació. La polaritat en aquest extrem no importa, però assegureu-vos que la polaritat de l’altre extrem sigui correcta, la que va al vostre tauler personalitzat.

I funciona perfectament. Mitjançant el client MQTT Dash (o una eina similar), podeu alimentar els vostres equips de manera remota.

Premeu el botó de verificació corresponent de l'aplicació i, una vegada que l'aplicació torni a escoltar el servidor MQTT amb el missatge "off", el botó tornarà a estar desmarcat.

Fa poques setmanes que funciona sense problemes. Ens vam adonar que calia ampliar la durada del temps per prémer el botó als equips. Vam acabar amb 1 segon complet. Aquest valor es pot exposar com a valor ajustable a través del servidor MQTT o bé es pot configurar el valor en funció del que vulgueu.

Bona sort i feu-me saber com va resultar el vostre.

Recomanat: