Tartalomjegyzék:

A számítógép távoli leállítása vagy újraindítása ESP8266 eszközzel: 10 lépés (képekkel)
A számítógép távoli leállítása vagy újraindítása ESP8266 eszközzel: 10 lépés (képekkel)

Videó: A számítógép távoli leállítása vagy újraindítása ESP8266 eszközzel: 10 lépés (képekkel)

Videó: A számítógép távoli leállítása vagy újraindítása ESP8266 eszközzel: 10 lépés (képekkel)
Videó: Использование плат Digispark Attiny85 Mini Arduino: Урок 108 2024, Július
Anonim
Image
Image

Az egyértelműség kedvéért itt az ÖN számítógépét állítjuk le, nem valaki másét.

A történet így szól:

Egy ismerősöm a Facebookon üzenetet küldött nekem, és azt mondta, hogy tucatnyi számítógépe fut egy csomó matematikával, de minden reggel 3 órakor bezáródnak. Mivel a számítógépek 30 percre vannak, óriási kellemetlenség két város áthajtása (Dél-Dakotában élünk), hogy újraindítsuk a számítógépeket. Megkérdezte: építhetek -e neki IoT -eszközt, amely lehetővé teszi számára, hogy újraindítsa a szabálysértő számítógépet kényelmes ágyából?

Hogy soha ne hagyjak ki egy kihívást, beleegyeztem, hogy összeállítok neki valamit. Ez a projekt.

Két regisztrált biteltolódás, egy ESP8266 ESP01, egy marék LED és néhány házi optoizolátor használatával a teljes projekt körülbelül 5 dollárba kerül, ha az alkatrészeket Kínából vásárolja az eBay-en. Talán 20 dollár az Amazon -tól.

Ez egy meglehetősen összetett konstrukció, sok finomforrasztással. Ha nem számolom a csavarjaimat és az újraforrasztást, akkor 20 órába telt, mire elkészítettem, de elképesztő lett és tökéletesen működött.

Kezdjük.

1. lépés: Prototípus tábla

Prototípus tábla
Prototípus tábla
Prototípus tábla
Prototípus tábla

Az összes projektet mindig prototípusú kenyértáblával kezdje. Ez a legjobb módja annak megállapítására, hogy rendelkezik -e az összes összetevővel, és a várt módon működik -e. Ez a projekt kissé bonyolult, ezért erősen javaslom, hogy a továbblépés előtt építse fel kenyérsütő táblára.

A szükséges alkatrészek a következők:

  • Egy ESP8266 ESP01 (bár bármelyik ESP8266 eszköz működne)
  • Két 8 bites váltóregiszter, a 74HC595N-t használtam
  • 16 LED, szalmakalap fehér LED -eket használtam, amelyek 3.3V -on működnek. Ha másokat használ, ellenállásokra lehet szüksége.
  • Három 3k3 ohmpulldown ellenállás
  • Jumper vezetékek és kenyérpad

Emellett legalább egy optoizolátort kell építenie. Fekete zsugorcsövet, fényes fehér LED-et, 220 ohmos ellenállást és fényellenállást használtam. Forrasztja a 220 ohmos ellenállást a LED katódjához, majd tömítse le a LED-et és a fényellenállást a zsugorcsövön belül egymással szemben. De ezekre egy későbbi lépésben térünk rá.

Kövesse a következő lépésben megadott kapcsolási rajzot. A vezetékek meglehetősen egyszerűek.

Mivel az ESP8266 3,3 V feszültségről működik, győződjön meg róla, hogy megfelelően táplálja

2. lépés: Séma Will-CAD használatával

Séma Will-CAD használatával
Séma Will-CAD használatával

A vázlat meglehetősen egyszerű. Követjük a 8 bites shift regiszter szabványos bekötését. Mivel két 8 bites váltóregisztert használok, ezeket össze kell láncolni az „óra” és a „retesz” csapjukon.

Mivel az ESP01-nek csak két GPIO-csapja van, újra kell használnunk a TX & RX-et kimenetként, ami jól működik a mi céljainkhoz. Használhat egy ESP-12-t vagy egy másik verziót, több mint két GPIO-tűvel, ha nagyobb irányítást szeretne. De ez további 2 dollárral növeli a projekt költségeit - ami csak őrült beszéd.

Meg kell őriznünk a 8 bites műszakregisztereinket és az ESP01 csapokat a rendszerindításkor magasra húzva, hogy ne tegyenek furcsa dolgokat, és ne lépjenek programmódba. Három 3k3 ellenállást használtam, nagyobb vagy kisebb értékek is működnének. Ez az érték abból származik, hogy az útmutatók az ESP01 alternatív csapjainak kihasználásáról beszélnek.

ESP01 (ESP8266)

  • TX óracsap 3k3 felhúzás
  • RX reteszcsap 3k3 felhúzás
  • 00 soros adatok 3k3 pullup
  • 02 lebegő

8 bites Shift Register (74HC595H)

  • VCC 3.3V
  • OE 3.3V (ez az engedélyező csap)
  • GND GND
  • CLR GND (ez megakadályozza, hogy a tiszta csap kitisztuljon)
  • És a LED -ek, azok a földre mennek.

3. lépés: ESP8266 kód

ESP8266 kód
ESP8266 kód

Az ESP8266 kód meglehetősen egyszerű. Sajnos az Instructables szerkesztője elég haszontalan, ezért a kódot közvetlenül a Githubtól kell beszereznie.

"racks-reboot" projekt:

github.com/bluemonkeydev/arduino-projects/…

A "SensorBase" osztály itt érhető el. Szükséges, ha "használni" akarja a kódomat:

github.com/bluemonkeydev/arduino-projects/…

Meg kell jegyezni néhány dolgot. A kód elég jól dokumentált.

  1. Nagyon lusta fejlesztő vagyok, ezért az összes újrafelhasználható ESP8266 kódot a "SensorBase" nevű osztályba helyeztem. Ezt megtalálod a Githubon is, a fenti link.
  2. Be kell írnia az MQTT bróker szerverét, felhasználónevét, jelszavát és portját. Ezek egy kicsit lejjebb találhatók, amikor létrehozjuk a CloudMQTT szolgáltatást.
  3. Nem kell követnie a téma szintaktikai formátumát. Javaslom azonban, hogy kövesse.
  4. Ebben a kódban nincs semmi okos. Nagyon pragmatikus.

4. lépés: Perfboard elrendezés

Perfboard elrendezés
Perfboard elrendezés

Ezt a projektet egy mini-adatközpontba fogják telepíteni, ezért úgy döntöttem, hogy csak a perf boardot használom a végső tervezéshez. A Perfboard nagyszerűen működik az ilyen projektekhez, és könnyen elrendezhető egy egyedi grafikonpapír segítségével. Itt láthatod az elrendezésemet. Természetesen dönthet úgy, hogy másképp csinálja.

A projektemhez két 8 bites műszakregiszterre volt szükség, ezért a középen történő elhelyezésükkel kezdtem. Tudtam, hogy az optoizolátorokhoz való csatlakozóim egyelőre egyszerű női fejrészek lesznek, bár ez nem ideális megoldás.

Szeretem a LED -eket, és ehhez szükség volt egy LED -re minden optoizolátor áramkörhöz. Tudtam, hogy a tesztfázis végtelenül könnyebb lesz, ha azonnali visszajelzést kapok közvetlenül a táblán, de azt is tudtam, hogy ezek a LED -ek óriási fájdalmat okoznak a forrasztásban. És voltak. Nem rendelkeztem 5 mm -nél kisebb LED -ekkel, ezért el kellett tántorítanom őket. A végső tervem cikcakkos mintát készített a katódokról, mert nem akartam az anódokat a földvezetékeken átvezetni. Ez jó tervezésnek bizonyult. A LED-vezetékek összekapcsolódnak a 8 bites váltóregiszterek felett, és az egyszerűség kedvéért árnyékolt vezetékekkel futnak a tábla tetején.

Az áramellátáshoz egy régi USB -kábelről akartam futtatni, hogy közvetlenül az egyik számítógépről táplálhassam. Ez jól fog működni, mert az USB -portok általában akkor is áram alatt vannak, ha a számítógép ki van kapcsolva. LM317 lineáris feszültségszabályozót használtam a teljesítmény csökkentésére 3,3 V -ra. Egy 3.3V -os szabályozó is működött volna, de nekem nem volt.

Annak elkerülése érdekében, hogy túl sok vezeték kereszteződjön, néhány vezetéket elfuttattam a perf tábla felső oldalán, amit megpróbálok elkerülni. Ne feledje, hogy az átmenő lyukak vezetőképesek, ezért árnyékolt vezetékeket használjon a rövidzárlat elkerülése érdekében. Azok a kapcsolatok, amelyek a tábla tetején történnek, szaggatott vonallal láthatók a diagramomon.

5. lépés: Forrasztott tábla

Forrasztott tábla
Forrasztott tábla

Az utolsó forrasztott táblám nagyon jól sikerült. A várakozásoknak megfelelően a tetején lévő LED -ek sok munkát igényeltek, hogy rövidzár nélkül, helyesen forraszthassák. Miután forrasztotta a LED -eket és a fejléceket, a multiméterrel határozza meg, nincs -e rövidzárlata. A legjobb, ha most megtudja.

A LED -eken kívül minden más nagyon jól ment. Néhány kapcsolatot újra kellett készítenem, de néhány betegnél, néhány hibakeresésnél és egy kis újraforrasztásnál minden rendben lesz.

Ebből a fényképből látni fogja, hogy az optoizolátorokat is bekötöttem, amelyekhez 8 vezetékes CAT-5 kábelt használtam. Ennek az az oka, hogy rendkívül olcsó, könnyen összeilleszthető, és jól meg van jelölve-a következő lépésben inkább ezekről az optoizolátorokról.

6. lépés: Optoizolátorok készítése

Optoizolátorok készítése
Optoizolátorok készítése

Természetesen nem kell saját optoizolátort készíteni. Sok kereskedelmi verzió kapható fillérekért, és jobban működnének, mivel ellenállás nélkül közvetlenül vezetnék a számítógép áramvezetékeit. De nem volt optoizolátorom, ezért LED -et, ellenállást és fényellenállást kellett használnom.

Miután megerősítettem, hogy a fekete zsugorcső hüvelyében az "off" ellenállás kevesebb, mint a mérőm képes olvasni, és az "on" ellenállás néhány ezer ohm volt, végeztem egy utolsó tesztet egy régi alaplapon. Nekem tökéletesen működött. Gyanítom, hogy néhány számítógép többé -kevésbé érzékeny lehet, de az általam tesztelt alaplapokon ez a konfiguráció jól működött.

Egy igazán fényes fehér LED -et szeretne használni, hogy a lehető legtöbb fényt juttassa a fotorezisztorba. Nem sok lehetőséget próbáltam ki, de a fényes fehér LED és a 220 ohmos ellenállás határozottan jól működik.

7. lépés: CloudMQTT beállítás

CloudMQTT beállítás
CloudMQTT beállítás
CloudMQTT beállítás
CloudMQTT beállítás
CloudMQTT beállítás
CloudMQTT beállítás

Bármely MQTT szolgáltatás vagy hasonló IoT szolgáltatás, mint például a Blynk, működne, de én úgy döntök, hogy a CloudMQTT -t használom ehhez a projekthez. Korábban sok projekthez használtam a CloudeMQTT -t, és mivel ezt a projektet átadják egy barátjának, ésszerű új fiókot létrehozni, amely szintén átruházható.

Hozzon létre egy CloudMQTT fiókot, majd hozzon létre egy új "példányt", válassza ki az "Aranyos macska" méretet, mivel csak ellenőrzésre használjuk, naplózás nélkül. A CloudMQTT kiszolgálónevet, felhasználónevet, jelszót és portszámot biztosít. (Vegye figyelembe, hogy a port száma nem a szabványos MQTT port). Vigye át ezeket az értékeket az ESP8266 kódjába a megfelelő helyeken, ügyelve arra, hogy a kis- és nagybetűk helyesek legyenek. (komolyan, másolja/illessze be az értékeket)

A CloudMQTT "Websocket UI" paneljével megtekintheti az eszköz kapcsolatait, gombnyomásait, és - furcsa esetben - hibaüzenetet kaphat.

Szüksége lesz ezekre a beállításokra az Android MQTT kliens konfigurálásakor is, ezért ha szükséges, jegyezze fel az értékeket. Remélhetőleg a jelszavát nem túl bonyolult beírni a telefonra. Ezt nem állíthatja be a CloudMQTT -ben.

8. lépés: MQTT Android Client

MQTT Android kliens
MQTT Android kliens
MQTT Android kliens
MQTT Android kliens
MQTT Android kliens
MQTT Android kliens
MQTT Android kliens
MQTT Android kliens

Bármilyen Android (vagy iPhone) MQTT kliens működne, de szeretem az MQTT Dash -t. Az MQTT Dash könnyen kezelhető, nagyon érzékeny, és minden szükséges lehetőséggel rendelkezik.

A telepítés után állítson be egy MQTT szervert, töltse fel a szervert, portot, felhasználónevet és jelszót a példány értékeivel, NEM a bejelentkezési adatait a CloudMQTT rendszerbe. Bármilyen ügyfélnevet használhat.

Ha mindent helyesen írt be, akkor automatikusan csatlakozik az MQTT szerverhez, és üres képernyő jelenik meg, mivel még nem állított be semmilyen gombot, szöveget vagy üzenetet. Az üres képernyőn a "+" jel látható a jobb felső sarokban, kattintson rá, majd válassza a "Kiválasztás/gomb" lehetőséget. Számítógépenként egy „Kiválasztás/gombot” adunk hozzá, tehát 8 vagy 16 vagy kevesebbet.

Ha csatlakozási hibát észlelt, akkor az egyik érték hibás. Menjen vissza, és ellenőrizze kétszer

Minden számítógép azt a témakört fogja használni, amely megfelel a kódban megadott értékeknek. Ha követné az egyezményeimet, akkor "cluster/rack-01/computer/01" lenne. A legjobb, ha megváltoztatjuk az "on" és "off" értékeket, hogy megfeleljenek a kódunknak. A "0" és "1" helyett használja az "on" és "off" értékeket. A QoS (1) használatát is javaslom, mivel megerősítést várunk a szervertől.

Miután hozzáadott egyet, hosszan megnyomhatja, és a "klón" opcióval létrehozhat egy csomót, majd megváltoztathatja a nevét és a témát.

Elég könnyű.

9. lépés: Az ESP8266 letöltése Wifi -n

Az ESP8266 letöltése Wifi -n
Az ESP8266 letöltése Wifi -n

Az ESP8266 Wifi Manager modul használatával könnyedén elérhetjük, hogy eszközünk Wifi -n legyen. Ha a SensorBase osztályomat használta, az már beépített. Ha nem, kövesse a Wifi Manager oldalán található utasításokat.

A Wifi Manager megpróbál csatlakozni az SSID -hez a rendszerindításkor, amit nem tud, mivel soha nem mondta meg neki az SSID -jét, így automatikusan belép hozzáférési pont módba (vagy AP módba), és kiszolgál egy egyszerű weboldalt, amely kéri az SSID -t & Jelszó. Telefonja vagy laptopja segítségével csatlakoztassa az újonnan elérhető vezeték nélküli hálózatot az "ESP_xxxxxx" SSID névvel, ahol az "xxxxxx" egy véletlenszerű (nem igazán véletlenszerű) sorozat. (A teljes útmutató a Wifi Manager oldalon található.)

A csatlakoztatás után nyissa meg a webböngészőt, és mutassa a 192.168.4.1 pontra, írja be SSID -jét és jelszavát, majd kattintson a Mentés gombra.

Most az interneten van, és az IoT -eszközén az "I" rész működik!

10. lépés: Végső kapcsolat és tesztelés

Végső kapcsolat és tesztelés
Végső kapcsolat és tesztelés

Minden kész.

Ha mindent össze szeretne kapcsolni, keresse meg a számítógép bekapcsológombjának kábelét ott, ahol találkozik az alaplappal. Két sor fejlécet kell látnia egy csomó vezetékkel és csatlakozóval. Jellemzően elég jól vannak címkézve. Húzza ki a kapcsolót és csatlakoztassa az optoizolátor csatlakozódugóját. Az enyémre néhány "Dupont" csatlakozót tettem, így azok ugyanúgy csatlakoztak, mint a tápkábel. Ezen a ponton a polaritás nem számít, de győződjön meg arról, hogy a másik végének polaritása helyes - az egyéni táblára kerülő polaritás.

És tökéletesen működik. Az MQTT Dash kliens (vagy hasonló eszköz) segítségével távolról táplálhatja a számítógépeket.

Nyomja meg a megfelelő ellenőrző gombot az alkalmazásban, és miután az alkalmazás visszahallgat az MQTT szerverről a „ki” üzenettel, a gomb visszajelölés nélkül változik.

Ez néhány hete fut minden probléma nélkül. Észrevettük, hogy meg kell hosszabbítani azt az időtartamot, amíg a számítógépen le kell nyomni a gombot. Végül 1 teljes másodpercet kaptunk. Ez az érték beállítható értékként jeleníthető meg az MQTT kiszolgálón keresztül, vagy az értéket bekötheti a kívánt módon.

Sok sikert, és tudassa velem, milyen lett a tiéd.

Ajánlott: