Obsah:

Vzdálené vypnutí nebo restartování počítače pomocí zařízení ESP8266: 10 kroků (s obrázky)
Vzdálené vypnutí nebo restartování počítače pomocí zařízení ESP8266: 10 kroků (s obrázky)

Video: Vzdálené vypnutí nebo restartování počítače pomocí zařízení ESP8266: 10 kroků (s obrázky)

Video: Vzdálené vypnutí nebo restartování počítače pomocí zařízení ESP8266: 10 kroků (s obrázky)
Video: ANDROID MÁ JEDNO SKRYTÉ NASTAVENÍ 🤖 2024, Červenec
Anonim
Image
Image

Aby bylo jasno, zavíráme VÁŠ počítač, nikoli počítač někoho jiného.

Příběh probíhá takto:

Můj přítel na Facebooku mi poslal zprávu a řekl, že má tucet počítačů, na kterých běží spousta matematiky, ale každé ráno ve 3 hodiny ráno se zamknou. Vzhledem k tomu, že počítače jsou vzdálené 30 minut, je obrovská nepříjemnost řídit dvě města (žijeme v Jižní Dakotě) a napájet počítače. Zeptal se, mohl bych mu postavit zařízení IoT, které by mu umožnilo restartovat počítač, který se provinil, z pohodlí své útulné postele?

Abych nikdy nevynechal výzvu, souhlasil jsem, že mu něco připravím. Tohle je ten projekt.

Při použití dvou bit-shift registrovaných, ESP8266 ESP01, hrstky LED a některých domácích optoizolátorů, celý projekt stojí asi 5 $, pokud si koupíte díly z Číny na eBay. Možná 20 dolarů od Amazonu.

Jedná se o poměrně složitou konstrukci se spoustou jemného pájení. Když nepočítám moje šroubování a přepájení, trvalo mi to 20 hodin na výrobu, ale ukázalo se to úžasně a fungovalo to perfektně.

Pojďme začít.

Krok 1: Prototypová deska

Prototypová rada
Prototypová rada
Prototypová rada
Prototypová rada

Vždy začněte všechny projekty s prototypem prkénka. Je to nejlepší způsob, jak zjistit, zda máte všechny součásti a fungovat podle očekávání. Tento projekt je trochu komplikovaný, takže vřele doporučuji postavit jej na prkénko, než se pohnete kupředu.

Potřebné součásti jsou:

  • Jeden ESP8266 ESP01 (i když by fungovalo jakékoli zařízení ESP8266)
  • Dva 8bitové posuvné registry, použil jsem 74HC595N
  • 16 LED, použil jsem bílé LED diody ze slaměného klobouku, které pracují na 3,3V. Pokud používáte jiné, možná budete potřebovat odpory.
  • Tři 3k3-ohmpulldown odpory
  • Propojovací vodiče a prkénko

Budete také muset postavit alespoň jeden optoizolátor. Použil jsem černé smršťovací bužírky, jasně bílou LED, odpor 220 ohmů a fotorezistor. Připájejte 220 ohmový odpor ke katodě LED a poté utěsněte LED a fotorezistor uvnitř smršťovací trubice proti sobě. K těm se ale dostaneme v pozdějším kroku.

Postupujte podle schématu zapojení uvedeného v dalším kroku. Zapojení je celkem jednoduché.

Protože ESP8266 pracuje na napětí 3,3 V, ujistěte se, že jste jej řádně napájili

Krok 2: Schéma pomocí Will-CAD

Schéma pomocí Will-CAD
Schéma pomocí Will-CAD

Schéma je celkem jednoduché. Sledujeme standardní zapojení 8bitového posuvného registru. Vzhledem k tomu, že používám dva 8bitové posuvné registry, je třeba je spojit dohromady na jejich piny „hodiny“a „západka“.

Protože ESP01 má pouze dva GPIO piny, musíme znovu použít TX & RX jako výstupy, což pro naše účely funguje dobře. Pokud chcete větší kontrolu, můžete použít ESP-12 nebo jinou verzi s více než dvěma piny GPIO. Ale to přidá další 2 dolary k nákladům na projekt - což je jen bláznivé povídání.

Potřebujeme, aby naše 8bitové posuvné registry a piny ESP01 byly při spouštění vytaženy vysoko, aby nedělaly divné věci nebo nepřešly do programového režimu. Použil jsem tři odpory 3k3, větší nebo menší hodnoty by také fungovaly. Tato hodnota byla odvozena od průvodců hovořících o využití alternativních pinů na ESP01.

ESP01 (ESP8266)

  • TX hodiny pin 3k3 pullup
  • RX západka pin 3k3 pullup
  • 00 vytažení sériových dat 3k3
  • 02 plovoucí

8bitový posuvný registr (74HC595H)

  • VCC 3,3 V.
  • OE 3,3 V (toto je aktivační kolík)
  • GND GND
  • CLR GND (to zabraňuje vymazání čistého kolíku)
  • A LED diody, ty jdou na zem.

Krok 3: Kód ESP8266

Kód ESP8266
Kód ESP8266

Kód ESP8266 je docela přímočarý. Bohužel editor v Instructables je docela zbytečný, takže budete chtít získat kód přímo z Githubu.

Projekt „rack-reboot“:

github.com/bluemonkeydev/arduino-projects/…

Zde je k dispozici třída „SensorBase“. Je vyžadováno, pokud chcete „použít“můj kód:

github.com/bluemonkeydev/arduino-projects/…

Je třeba poznamenat několik věcí. Kód je docela dobře zdokumentovaný.

  1. Jsem velmi líný vývojář, a tak jsem veškerý opakovaně použitelný kód ESP8266 zařadil do třídy s názvem „SensorBase“. Najdete to také na Githubu, odkaz výše.
  2. Musíte zadat server brokera MQTT, uživatelské jméno, heslo a port. Ty můžeme najít o něco níže, když vytváříme službu CloudMQTT.
  3. Nemusíte se řídit mým formátem syntaxe tématu. Doporučil bych to však dodržovat.
  4. Na tomto kódu není nic chytrého. Je to velmi pragmatické.

Krok 4: Rozložení desky

Rozložení perfboardu
Rozložení perfboardu

Tento projekt bude nainstalován v mini-datovém centru, takže jsem se rozhodl pro konečný návrh použít pouze desku perf. Perfboard funguje skvěle pro projekty jako je tento a lze jej snadno rozložit pomocí kusu vlastního milimetrového papíru. Zde uvidíte mé rozložení. Samozřejmě se můžete rozhodnout, že to uděláte jinak.

Můj projekt potřeboval dva 8bitové posuvné registry, takže jsem začal s jejich umístěním uprostřed. Věděl jsem, že moje konektory k optoizolátorům budou prozatím jednoduché ženské záhlaví, i když to není ideální řešení.

Miluji LED diody, a to potřebovalo mít LED pro každý obvod optoizolátoru. Věděl jsem, že testovací fáze by byla nekonečně snazší, kdybych mohl získat okamžitou zpětnou vazbu přímo na desce, ale také jsem věděl, že tyto LED diody způsobí pájení obrovskou bolest. A byli. Neměl jsem nic menšího než 5 mm LED, takže jsem je musel rozložit. Můj konečný návrh vytvořil klikatý vzor katod, protože jsem nechtěl přenést anody přes zemnící dráty. To se ukázalo jako dobrý design. Vodiče LED se spojují nad 8bitovými posuvnými registry a pro jednoduchost vedou na desce desky se stíněnými vodiči.

Pokud jde o napájení, chtěl jsem jej spustit ze starého kabelu USB, který by měl být napájen přímo z jednoho z počítačů. To bude fungovat dobře, protože porty USB jsou obvykle napájeny, i když je počítač vypnutý. Pro snížení výkonu na 3,3 V jsem použil lineární regulátor napětí LM317. Regulátor 3,3 V by také fungoval, ale neměl jsem.

Abych se vyhnul přílišnému křížení vodičů, přivedl jsem na horní stranu desky desek pár drátů, kterým se snažím vyhýbat. Mějte na paměti, že průchozí otvory jsou vodivé, proto použijte stíněné vodiče, abyste se vyhnuli zkratům. Tato připojení probíhající v horní části desky jsou na mém diagramu znázorněna čárkovaně.

Krok 5: Pájená deska

Pájená deska
Pájená deska

Moje poslední pájená deska dopadla opravdu dobře. Jak se dalo očekávat, LED diody nahoře vyžadovaly spoustu práce, aby byly správně připájeny bez zkratů. Poté, co jste pájili LED a záhlaví, pomocí multimetru zjistíte, zda máte nějaké zkraty. Nejlepší je to zjistit hned.

Kromě LED diod šlo všechno docela dobře. Musel jsem předělat několik připojení, ale s některými pacienty, některým laděním a malým pájením bude vše fungovat dobře.

Z této fotografie uvidíte, že jsem připojil také optoizolátory, které jsem použil 8vodičový kabel CAT-5. Důvodem je, že je super levný, snadno se spojuje a je dobře označen-více o těchto optoizolátorech v dalším kroku.

Krok 6: Výroba optoizolátorů

Výroba optoizolátorů
Výroba optoizolátorů

Samozřejmě nemusíte vyrábět vlastní optoizolátory. Mnoho komerčních verzí je k dispozici za haléře za kus a fungovalo by lépe, protože by poháněly napájecí vedení počítače přímo bez jakéhokoli odporu. Ale neměl jsem žádný optoizolátor, takže jsem musel vyrobit svůj pomocí LED, rezistoru a fotorezistoru.

Poté, co jsem potvrdil, že v pouzdře černé smršťovací bužírky odpor „vypnuto“s méně, než dokázal přečíst můj měřič a odpor „zapnuto“byl několik tisíc ohmů, jsem provedl závěrečný test na staré základní desce. Mně to fungovalo perfektně. Mám podezření, že některé počítače mohou být více či méně citlivé, ale na základních deskách, které jsem testoval, tato konfigurace fungovala dobře.

Chcete -li do fotorezistoru dostat maximum světla, budete chtít použít opravdu jasně bílou LED. Nezkoušel jsem mnoho možností, ale jasně bílá LED a 220ohmový odpor rozhodně fungují dobře.

Krok 7: Nastavení CloudMQTT

Nastavení CloudMQTT
Nastavení CloudMQTT
Nastavení CloudMQTT
Nastavení CloudMQTT
Nastavení CloudMQTT
Nastavení CloudMQTT

Fungovala by jakákoli služba MQTT nebo podobná služba IoT jako Blynk, ale pro tento projekt jsem se rozhodl použít CloudMQTT. CloudeMQTT jsem v minulosti používal pro mnoho projektů a protože tento projekt bude předán příteli, má smysl vytvořit nový účet, který lze také převést.

Vytvořte si účet CloudMQTT a poté vytvořte novou „instanci“, zvolte velikost „Cute Cat“, protože ji používáme pouze pro ovládání, bez protokolování. CloudMQTT vám poskytne název serveru, uživatelské jméno, heslo a číslo portu. (Všimněte si, že číslo portu není standardní port MQTT). Přeneste všechny tyto hodnoty do vašeho kódu ESP8266 na odpovídajících místech a ujistěte se, že případ je správný. (vážně, zkopírujte/vložte hodnoty)

Pomocí panelu „Websocket UI“na CloudMQTT můžete vidět připojení vašeho zařízení, stisknutí tlačítka a v podivném případě, že se vám zobrazí chyba, chybovou zprávu.

Tato nastavení BUDETE potřebovat i při konfiguraci klienta Android MQTT, proto si poznamenejte hodnoty, pokud potřebujete. Naštěstí vaše heslo není pro psaní do telefonu příliš složité. V CloudMQTT to nemůžete nastavit.

Krok 8: Klient MQTT pro Android

Klient MQTT pro Android
Klient MQTT pro Android
Klient MQTT pro Android
Klient MQTT pro Android
Klient MQTT pro Android
Klient MQTT pro Android
Klient MQTT pro Android
Klient MQTT pro Android

Jakýkoli klient MQTT pro Android (nebo iPhone) by fungoval, ale mám rád MQTT Dash. MQTT Dash je snadno použitelný, velmi citlivý a má všechny možnosti, které budete potřebovat.

Po instalaci nastavte server MQTT, naplňte server, port, uživatelské jméno a heslo hodnotami vaší instance, NENÍ vašimi přihlašovacími údaji do CloudMQTT. Můžete použít libovolné požadované jméno klienta.

Pokud jste vše zadali správně, automaticky se připojí k vašemu serveru MQTT a zobrazí vám prázdnou obrazovku, protože jste dosud nenastavili žádná tlačítka, text ani zprávy. Na prázdné obrazovce uvidíte v pravém horním rohu znak „+“, klikněte na něj a poté vyberte „Vybrat/Tlačítko“. Přidáme jeden „Select/Button“na počítač, tedy 8 nebo 16 nebo méně.

Pokud se vám zobrazila chyba připojení, máte jednu z chybných hodnot. Vraťte se a znovu zkontrolujte

Každý počítač použije téma, které odpovídá hodnotám uvedeným v kódu. Pokud byste se řídili mými konvencemi, byly by „cluster/rack-01/computer/01“. Nejlepší by bylo změnit hodnoty „zapnuto“a „vypnuto“tak, aby odpovídaly našemu kódu. Namísto „0“a „1“použijte hodnoty „zapnuto“a „vypnuto“. Doporučil bych také použít QoS (1), protože budeme očekávat potvrzení od serveru.

Po přidání jednoho můžete dlouze stisknout a pomocí možnosti „klonovat“vytvořit skupinu a poté změnit jejich název a téma.

Snadné.

Krok 9: Získání vašeho ESP8266 na Wifi

Získání vašeho ESP8266 na Wifi
Získání vašeho ESP8266 na Wifi

Pomocí modulu ESP8266 Wifi Manager je snadné dostat naše zařízení na Wifi. Pokud jste použili moji třídu SensorBase, je již integrovaná. Pokud ne, postupujte podle pokynů na stránce Správce Wifi.

Wifi Manager se pokusí připojit k vašemu SSID při spuštění, což se mu nepodaří, protože jste mu nikdy neřekli své SSID, takže se automaticky přepne do režimu přístupového bodu (nebo režimu AP) a zobrazí jednoduchou webovou stránku s žádostí o vaše SSID & Heslo. Pomocí telefonu nebo notebooku připojte nově dostupnou bezdrátovou síť pod názvem SSID „ESP_xxxxxx“, kde „xxxxxx“je nějaká náhodná (ne ve skutečnosti náhodná) sekvence. (Úplné pokyny najdete na stránce Wifi Manager.)

Po připojení vyvolejte webový prohlížeč a přejděte na 192.168.4.1, zadejte SSID a heslo a klikněte na Uložit.

Nyní jste na internetu a vaše zařízení IoT funguje na části „I“!

Krok 10: Konečné připojení a testování

Konečné připojení a testování
Konečné připojení a testování

Vše hotovo.

Chcete -li vše zapojit, vyhledejte kabel napájecího tlačítka počítače v místě, kde se setkává se základní deskou. Měli byste vidět dvě řady záhlaví se spoustou vodičů a konektorů. Obvykle jsou označeny docela dobře. Odpojte vypínač a zapojte zástrčku optoizolátoru. Na své jsem nasadil nějaké zástrčky „Dupont“, takže se zapojily stejně jako napájecí kabel. Polarita na tomto konci nezáleží, ale ujistěte se, že máte správnou polaritu druhého konce - toho, který jde na vaši vlastní desku.

A funguje to perfektně. Pomocí klienta MQTT Dash (nebo podobného nástroje) můžete vzdáleně napájet počítače.

Stiskněte odpovídající zaškrtávací tlačítko na vaší aplikaci a jakmile aplikace uslyší ze serveru MQTT zprávu „vypnuto“, tlačítko se změní zpět na nezaškrtnuté.

Toto běží několik týdnů bez problémů. Všimli jsme si, že je třeba prodloužit dobu, po kterou je nutné tlačítko na počítačích snížit. Skončili jsme s 1 plnou sekundou. Tuto hodnotu lze vystavit jako nastavitelnou hodnotu prostřednictvím serveru MQTT, nebo ji můžete napevno propojit v závislosti na vaší touze.

Hodně štěstí a dejte mi vědět, jak to vaše dopadlo.

Doporučuje: