INHOUDSOPGAWE:

Skakel 'n rekenaar op afstand af of herbegin met ESP8266 -toestel: 10 stappe (met foto's)
Skakel 'n rekenaar op afstand af of herbegin met ESP8266 -toestel: 10 stappe (met foto's)

Video: Skakel 'n rekenaar op afstand af of herbegin met ESP8266 -toestel: 10 stappe (met foto's)

Video: Skakel 'n rekenaar op afstand af of herbegin met ESP8266 -toestel: 10 stappe (met foto's)
Video: Inleiding tot NodeMCU ESP8266 WiFi-ontwikkelbord met voorbeeld van HTTP-client 2024, Julie
Anonim
Image
Image

Om duidelik te wees, sluit ons u rekenaar af, nie iemand anders se rekenaar nie.

Die verhaal verloop soos volg:

'N Vriend van my op Facebook het vir my 'n boodskap gestuur en gesê hy het 'n dosyn rekenaars wat 'n klomp wiskunde doen, maar elke oggend om 3 uur sluit hulle. Aangesien die rekenaars 30 minute weg is, is dit 'n groot oorlas om twee dorpe oor te ry (ons woon in Suid-Dakota) om die rekenaars met krag te laat ry. Hy het gevra: kan ek vir hom 'n IoT -toestel bou wat hom toelaat om die gewraakte rekenaar weer uit sy gemaklike bed te herlaai?

Om nooit 'n uitdaging te mis nie, het ek ingestem om iets vir hom saam te stel. Dit is die projek.

Met twee bit-shift-geregistreerde, 'n ESP8266 ESP01, 'n handjievol LED's en 'n paar tuisgemaakte optoisolators, kos die hele projek ongeveer $ 5 as u die onderdele uit China op eBay koop. Miskien $ 20 van Amazon.

Dit is 'n taamlik komplekse konstruksie met baie fyn soldeer. Ek het nie my oproperings en soldeer getel nie, maar dit het my die beste deel van 20 uur geneem om dit te maak, maar dit was wonderlik en het perfek gewerk.

Laat ons begin.

Stap 1: prototipe bord

Prototipe bord
Prototipe bord
Prototipe bord
Prototipe bord

Begin altyd alle projekte met 'n prototipe broodbord. Dit is die beste manier om vas te stel of u al die komponente het en te werk soos verwag. Hierdie projek is 'n bietjie ingewikkeld, dus ek beveel dit sterk aan om dit op 'n broodbord te bou voordat u verder gaan.

Die onderdele wat u benodig, is:

  • Een ESP8266 ESP01 (hoewel enige ESP8266 -toestel sou werk)
  • Twee 8-bis-skofregisters, ek het die 74HC595N gebruik
  • 16 LED's, ek gebruik wit LED's met strooihoed wat op 3.3V werk. As u ander gebruik, benodig u weerstande.
  • Drie 3k3-ohmpulldown-weerstande
  • Trude en 'n broodbord

U moet ook ten minste een optoisolator bou. Ek gebruik swart krimpbuise, 'n helder wit LED, 'n weerstand van 220 ohm en 'n fotoresistor. Soldeer die 220-ohm weerstand aan die LED se katode en verseël dan die LED en die fotoresistor binne-in die krimpbuis na mekaar. Maar ons sal in 'n latere stap daarby uitkom.

Volg die bedradingsdiagram wat in die volgende stap verskaf word. Die bedrading is redelik eenvoudig.

Omdat die ESP8266 op 3,3V werk, moet u dit behoorlik voed

Stap 2: Skema met behulp van Will-CAD

Skema met behulp van Will-CAD
Skema met behulp van Will-CAD

Die skematiese is redelik eenvoudig. Ons volg die standaard opstelling van 'n 8-bis-skofregister. Aangesien ek twee 8-bis skofregisters gebruik, moet hulle aan hul 'klok' en 'grendel' penne vasgeketting word.

Omdat die ESP01 slegs twee GPIO-penne het, moet ons die TX & RX as uitsette hergebruik, wat vir ons doeleindes goed werk. As u meer beheer wil hê, kan u 'n ESP-12 of 'n ander weergawe met meer as twee GPIO-penne gebruik. Maar dit sal nog $ 2 by die koste van die projek voeg - dit is net 'n gekke praatjie.

Ons moet ons 8-bis-skofregisters en ESP01-penne hoog op die boot hou, sodat hulle nie vreemde dinge doen of in die programmodus kan gaan nie. Ek het drie 3k3 -weerstande gebruik; groter of kleiner waardes werk ook. Hierdie waarde is afgelei van die gidse wat praat oor die gebruik van alternatiewe penne op ESP01.

ESP01 (ESP8266)

  • TX klokpen 3k3 pullup
  • RX grendelpen 3k3 pullup
  • 00 reeksdata 3k3 pullup
  • 02 dryf

8-bis verskuiwingsregister (74HC595H)

  • VCC 3.3V
  • OE 3.3V (dit is die aktiveringspen)
  • GND GND
  • CLR GND (dit verhoed dat die duidelike pen uitvee)
  • En die LED's, dié gaan grond toe.

Stap 3: ESP8266 -kode

ESP8266 -kode
ESP8266 -kode

Die ESP8266 -kode is redelik eenvoudig. Ongelukkig is die redakteur in Instructables redelik nutteloos, dus u wil die kode direk van Github kry.

"rek-herlaai" -projek:

github.com/bluemonkeydev/arduino-projects/…

'SensorBase' klas is hier beskikbaar. Dit is nodig as u my kode wil "gebruik":

github.com/bluemonkeydev/arduino-projects/…

Daar is 'n paar dinge om op te let. Die kode is redelik goed gedokumenteer.

  1. Ek is 'n baie lui ontwikkelaar, en ek plaas al die herbruikbare ESP8266 -kode in 'n klas genaamd 'SensorBase'. U kan dit ook op Github vind, die skakel hierbo.
  2. U moet die bediener, gebruikersnaam, wagwoord en poort van u MQTT -makelaar invoer. Dit kan 'n bietjie verder gevind word as ons die CloudMQTT -diens skep.
  3. U hoef NIE my onderwerp sintaksis formaat te volg nie. Ek sou egter aanbeveel om dit te volg.
  4. Daar is niks slim aan hierdie kode nie. Dit is baie pragmaties.

Stap 4: Perfboard -uitleg

Perfboard -uitleg
Perfboard -uitleg

Hierdie projek sal by 'n mini-datasentrum geïnstalleer word, so ek het besluit om net perf board te gebruik vir die finale ontwerp. Perfboard werk uitstekend vir projekte soos hierdie en is maklik om uit te lê met 'n stuk aangepaste grafiekpapier. Hier sien u my uitleg. U kan natuurlik kies om dit anders te doen.

My projek het twee 8-bis-skofregisters nodig gehad, so ek het begin met hul posisie in die middel. Ek het geweet dat my verbindings met optoisolators vir eers eenvoudige vroulike opskrifte sou wees, alhoewel dit nie 'n ideale oplossing is nie.

Ek hou van LED's, en dit moes 'n LED vir elke optoisolator -kring hê. Ek het geweet dat die toetsfase oneindig makliker sou wees as ek onmiddellik terugvoer op die bord kon kry, maar ek het ook geweet dat die LED's groot pyn sou veroorsaak. En hulle was. Ek het niks kleiner as 5 mm LED's gehad nie, so ek moes dit steier. My finale ontwerp het 'n zig-zag patroon van die katodes gemaak, want ek wou nie die anodes oor die gronddrade laat loop nie. Dit was 'n goeie ontwerp. Die LED-drade sluit bo die 8-bis-skofregisters aan en loop vir die eenvoudigheid aan die bokant van die bord met beskermde drade.

Vir krag wou ek dit van 'n ou USB -kabel af hardloop om direk vanaf een van die rekenaars gevoed te word. Dit sal goed werk, want die USB -poorte word gewoonlik aangedryf, selfs as die rekenaar af is. Ek het 'n LM317 lineêre spanningsreguleerder gebruik om die krag na 3.3V te verminder. 'N 3.3V -reguleerder sou ook gewerk het, maar ek het nie een gehad nie.

Om te voorkom dat te veel drade kruis, het ek 'n paar drade aan die bokant van die perf board gehardloop, wat ek probeer vermy. Hou in gedagte dat die deurgate geleidend is, dus gebruik afgeskermde drade om kortbroek te vermy. Die verbindings wat bo -aan die bord plaasvind, word in stippellyne op my diagram getoon.

Stap 5: Gesoldeerde bord

Gesoldeerde raad
Gesoldeerde raad

My laaste gesoldeerde bord het baie goed afgeloop. Soos verwag, het die LED's aan die bokant baie werk geverg om korrek te kan soldeer sonder 'n kortbroek. Nadat u die LED's en kopstukke gesoldeer het, gebruik u multimeter om te bepaal of u 'n kortbroek het. Dit is die beste om dit nou uit te vind.

Behalwe die LED's, het alles goed gegaan. Ek moes wel 'n paar verbindings herhaal, maar met 'n paar pasiënte, 'n bietjie ontfouting en 'n bietjie soldeerwerk, sal alles goed werk.

U sal op hierdie foto sien dat ek ook die optoisolators aangesluit het, wat ek met 'n 8-draads CAT-5-kabel gebruik het. Die rede hiervoor is dat dit baie goedkoop, maklik om te verdeel is, en dat dit in die volgende stap meer duidelik is oor die optoisolators.

Stap 6: Maak optoisolators

Maak Optoisolators
Maak Optoisolators

U hoef natuurlik nie u eie optoisolators te maak nie. Baie kommersiële weergawes is elk per sent beskikbaar en sal beter werk, aangesien dit die kraglyne van die rekenaar direk sou aandryf sonder enige weerstand. Maar ek het geen optoisolator gehad nie, so ek moes myne maak met 'n LED, weerstand en fotoresistor.

Nadat ek bevestig het dat binne 'n mou van swart krimpbuise die "af" weerstand met minder as wat my meter kon lees en die "aan" weerstand 'n paar duisend ohm was, het ek 'n laaste toets op 'n ou moederbord gedoen. Dit het perfek vir my gewerk. Ek vermoed dat sommige rekenaars min of meer sensitief is, maar op die moederborde wat ek getoets het, werk hierdie opset goed.

U sal 'n baie helder wit LED wil gebruik om die maksimum lig in die fotoresistor te kry. Ek het nie baie opsies probeer nie, maar die helder wit LED en 'n weerstand van 220 ohm werk beslis goed.

Stap 7: CloudMQTT -opstelling

CloudMQTT -opstelling
CloudMQTT -opstelling
CloudMQTT -opstelling
CloudMQTT -opstelling
CloudMQTT -opstelling
CloudMQTT -opstelling

Enige MQTT -diens, of soortgelyke IoT -diens soos Blynk, sal werk, maar ek kies om CloudMQTT vir hierdie projek te gebruik. Ek het CloudeMQTT in die verlede vir baie projekte gebruik, en aangesien hierdie projek aan 'n vriend oorhandig sal word, is dit sinvol om 'n nuwe rekening te skep wat ook oorgedra kan word.

Skep 'n CloudMQTT -rekening en skep dan 'n nuwe 'instansie', kies die 'Cute Cat' grootte, aangesien ons dit slegs vir beheer gebruik, sonder om aan te meld. CloudMQTT gee u 'n bedienernaam, gebruikersnaam, wagwoord en poortnommer. (Let daarop dat die poortnommer nie die standaard MQTT -poort is nie). Dra al hierdie waardes oor na u ESP8266 -kode op die ooreenstemmende plekke, en sorg dat die saak korrek is. (ernstig, kopieer/plak die waardes)

U kan die paneel 'Websocket UI' op CloudMQTT gebruik om die verbindings van u toestel, druk op knoppies en in die vreemde scenario 'n fout, 'n foutboodskap te sien.

U sal ook hierdie instellings nodig hê as u die Android MQTT -kliënt opstel, dus let op die waardes as u dit nodig het. Hopelik is u wagwoord nie te ingewikkeld om op u telefoon in te tik nie. U kan dit nie in CloudMQTT instel nie.

Stap 8: MQTT Android -kliënt

MQTT Android -kliënt
MQTT Android -kliënt
MQTT Android -kliënt
MQTT Android -kliënt
MQTT Android -kliënt
MQTT Android -kliënt
MQTT Android -kliënt
MQTT Android -kliënt

Enige Android (of iPhone) MQTT -kliënt sal werk, maar ek hou van MQTT Dash. MQTT Dash is maklik om te gebruik, reageer baie goed en het al die opsies wat u benodig.

Sodra dit geïnstalleer is, stel 'n MQTT -bediener op, vul die bediener, poort, gebruikersnaam en wagwoord in met die waardes van u instansie, NIE u aanmeldingsinligting by CloudMQTT nie. U kan enige kliëntnaam gebruik wat u wil.

As u alles korrek ingetik het, maak dit outomaties verbinding met u MQTT -bediener en wys u 'n leë skerm, aangesien u nog geen knoppies, teks of boodskappe opgestel het nie. Op die leë skerm sien u 'n '+' in die regter boonste hoek, klik daarop en kies dan 'Kies/knoppie'. Ons sal een "Select/Button" per rekenaar byvoeg, dus 8 of 16 of minder.

As u 'n verbindingsfout gekry het, het u een van die waardes verkeerd. Gaan terug en kyk weer

Elke rekenaar gebruik die onderwerp wat ooreenstem met die waardes wat in u kode gespesifiseer word. As u my konvensies volg, sou dit 'cluster/rack-01/computer/01' wees. Dit is die beste om die 'aan' en 'af' waardes te verander om by ons kode te pas. In plaas van "0" en "1", gebruik onderskeidelik die waardes "aan" en "af". Ek sou ook aanbeveel om QoS (1) te gebruik, aangesien ons 'n bevestiging van die bediener verwag.

Nadat u een bygevoeg het, kan u lank druk en die opsie "kloon" gebruik om 'n klomp te skep en dan hul naam en onderwerp te verander.

Maklik genoeg.

Stap 9: Kry u ESP8266 op Wifi

Kry u ESP8266 op Wifi
Kry u ESP8266 op Wifi

Met behulp van die ESP8266 Wifi Manager -module, is dit 'n briesie om ons toestel op Wifi te kry. As u my SensorBase-klas gebruik het, is dit reeds ingebou. Indien nie, volg die instruksies op die Wifi Manager -bladsy.

Wifi -bestuurder sal probeer om aan te sluit by u SSID tydens opstart, wat u nie kan doen nie, aangesien u nog nooit u SSID daarvan vertel het nie, en dit sal outomaties in die toegangspuntmodus (of AP -modus) gaan en 'n eenvoudige webblad oopmaak waarin u u SSID vra & Wagwoord. Koppel die nuut-beskikbare draadlose netwerk met u telefoon of skootrekenaar met die SSID-naam "ESP_xxxxxx", waar die "xxxxxx" 'n willekeurige (nie regtig ewekansige) volgorde is. (Volledige instruksies kan gevind word op die Wifi Manager -bladsy.)

Sodra dit verbind is, open u webblaaier en wys dit na 192.168.4.1, tik u SSID en wagwoord in en klik op stoor.

U is nou op die internet, en u IoT -toestel werk met die 'ek' -gedeelte!

Stap 10: Finale verbinding en toetsing

Finale verbinding en toetsing
Finale verbinding en toetsing

Alles klaar.

Om alles aan te sluit, vind u die kragknoppie van u rekenaar waar dit aan die moederbord voldoen. U moet twee rye koppe met 'n klomp drade en verbindings sien. Gewoonlik word hulle redelik goed gemerk. Ontkoppel u skakelaar en steek die optoisolator -prop in. Ek het 'n paar "Dupont" -proppe op myne geplaas, sodat hulle net soos die kragkabel aangesluit het. Polariteit in hierdie opsig maak nie saak nie, maar maak seker dat die polariteit van die ander kant korrek is - die een wat na u pasgemaakte bord gaan.

En dit werk perfek. Deur die MQTT Dash -kliënt (of soortgelyke hulpmiddel) te gebruik, kan u u rekenaars op afstand dryf.

Druk op die ooreenstemmende tjekknoppie op u app, en sodra die app van die MQTT -bediener terug hoor met die 'af' -boodskap, verander die knoppie terug na ongemerk.

Dit werk al 'n paar weke sonder probleme. Ons het opgemerk dat die tydsduur om die knoppie laag op die rekenaars te trek, verleng moet word. Ons eindig met 1 volle sekonde. Hierdie waarde kan blootgestel word as 'n stelbare waarde via die MQTT -bediener, of u kan die waarde vasmaak, afhangende van u begeerte.

Sterkte, en laat weet my hoe dit met jou gegaan het.

Aanbeveel: