Sisällysluettelo:
- Vaihe 1: Mitä tarvitset
- Vaihe 2: Arduino -tunnuksen valmistelu
- Vaihe 3: ESP8266: n valmistelu
- Vaihe 4: Arduinon valmistelu
- Vaihe 5: Johdotus kaikki yhteen
- Vaihe 6: Verkkosivun käyttäminen
- Vaihe 7: Javasciptin käyttö
- Vaihe 8: Tuki
Video: Arduinon hallinta HTML/Javascriptin avulla helposti: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tämä opetusohjelma näyttää, kuinka voit hallita arduinoa ajax -soittamalla takaisin adafruit Huzzahista käyttämällä vain javascript -toimintoja. Pohjimmiltaan voit käyttää javascriptiä html -sivulla, jonka avulla voit helposti kirjoittaa html -käyttöliittymiä yksinkertaisilla javascript -toiminnoilla, jotka käyttävät ajax -takaisinsoittoa. Jotta ESP8266 voisi kommunikoida arduinon kanssa. Siksi kaikki nastat voidaan asettaa javascript -toiminnolla. Samoin voimme myös lukea arvon mistä tahansa nastasta käyttämällä javascript -toimintoa. Toivon, että tämä auttaa helpottamaan arduinon hallintaa html -asiakirjasta. Ajattelin, että siellä on paljon ihmisiä, jotka voivat kirjoittaa html -tiedostoja. Suurin osa heistä ei halua vaivautua tekemään matkapuhelinsovellusta, jossa on Java- tai xcode -koodi tai jokin muu kehys. Tämä tekee siitä erittäin helpon ihmisille, koska heidän tarvitsee vain käyttää JavaScript -toimintoa arvojen asettamiseen ja lukemiseen nastoista. Esimerkiksi kirjoittaminen ei ole paljon helpompaa
Kiihottua
Painikkeen kytkemiseksi päälle. Kaunista on, että ei ole muita arduino -ohjelmointeja kuin pinMode -ilmoituksen (12, INPUT); Asetustoiminnossa. Niin kauan kuin nasta on ilmoitettu, javascriptiä voidaan käyttää kaikkeen muuhun.
document.onload = {
GetJSON ('A0', 1 'return_json')
}
Tämä on kaikki mitä sinun tarvitsee tehdä saadaksesi analogisen nastan 0 arvon ja palauttaa tuloksen div. Joten tämän pitäisi olla helppo tapa, jolla ihmiset voivat luoda hdml -sivuja, jotka ohjaavat arduinoa. Luo käyttöliittymä, jotta arduino -nastat voidaan asettaa ja lukea javascriptilla.
Vaihe 1: Mitä tarvitset
Rakensin tämän projektin käyttäjille, jotka haluavat hallita arduinoaan ESP8266: n html -sivulla. Tämän projektin tavoitteena on luoda yksinkertainen tapa asettaa arduino -nastasi arvot javascript -toiminnolla. Esimerkki onclick = "SetPin (12, 1, 0)" asettaa arduino -nastasi 12 korkeaksi.
Tätä opetusohjelmaa varten tarvitset seuraavat kohteet seurataksesi tarkasti. Oletan kuitenkin, että sen pitäisi toimia useimmilla arduino- ja ESP8266 -yhdistelmillä. Tarvitset kuitenkin seuraavia osia seurataksesi sitä, mitä minulla on täällä.
Arduino Uno - Pitäisi toimia kaikkien sellaisten arduino -yhteensopivien laitteiden kanssa, joissa on sarjaliitäntä Rx TxAdafruit Huzzah Breakout Board USB -sarjakaapeliin 4 pienitehoinen LED: n analoginen turpiditystesti - mikä tahansa analoginen anturi, joka tarjoaa analogisen lähdön, toimii langattoman Wifi -reitittimen matkapuhelimessa Arduino -kirjastojen kanssa.
Vaihe 2: Arduino -tunnuksen valmistelu
Tämä projekti vaatii uusia arduino -kirjastoja ja jonkin verran kokoonpanoa ja ajan vuoksi. En aio ottaa kuvakaappausta jokaisesta näytöstä, ja aion vain käydä läpi, mitä tarvitset tämän määrittämiseen ja käynnistämiseen. Yritin tehdä siitä mahdollisimman helppoa käyttäjälle.
Koodi käyttää useita kirjastoja päästäkseen töihin. Ensin keskitymme arduinon määrittämiseen ESP8266: lle. Käytän tässä esimerkissä Adafruit Huzzahia, koska mielestäni adafruit -tuotteet ovat luotettavimpia ja niillä on paras tuki. Niin kauan kuin et yritä saada tukea Adafruit Discord -palvelimelta. Sinulla on paljon parempi onni saada apua tukifoorumeilla.
Käytän joka tapauksessa seuraavia ESP8266 -kirjastoja
ESP8266WiFi WiFiClient ESP8266WebServer ArduinoJSONTTämä ei ole opetusohjelma kirjastojen lataamisesta ja asentamisesta, mutta nämä ovat HUZZAH: ssa käytettyjä kirjastoja. Joten etsi ne ja asenna ne. Sinun on myös asennettava HUZZAH -levyn määritelmät, joten jos siirryt kohtaan TIEDOSTO> Asetukset Lisäkorttien hallinnan URL -osoitteet -kenttään lisää seuraava https://arduino.esp8266.com/stable/package_esp8266c… jos sinulla on jo jotain tällä alalla, varmista, että lisäät pilkun sinne lisätäksesi ylimääräisen taulun URL -osoitteen. Napsauta OK
Työkalut> Hallitus> Taulut Hallinnoi Etsi ESP8266 kuin asenna ESP8266 by ESP8266 Community.
Suuri nyt varmistaa, että meillä on kaikki mitä tarvitsemme saadaksesi arduino -koodin toimimaan. Yksi arduino -puolelta arduino itse käyttää vain 2 kirjastoa tähän opetusohjelmaan.
OhjelmistoSerialArduinoJSONMikä sinulla jo pitäisi olla.
Vaihe 3: ESP8266: n valmistelu
Nyt aiomme laittaa koodin ESP8266: een (Adafruit HUZZAH) ja valmistella sen muodostamaan yhteyden Arduinoon. Pura HUZZAH: n koodi ja avaa luonnos. Vaihda riveillä 11 ja 12 SSID ja salasana paikallisen verkon WIFI -yhteyden salasanaksi. Huomaat, että luonnos- ja index.h -tiedostossa on kaksi tiedostoa. Index.h -tiedostoon tallennetaan puhelimessasi näkyvä html -tiedosto.
Kun olet asettanut wifi -laitteellesi oikean SSID -tunnuksen ja salasanan, voit koota koodin ja ladata sen ESP8266 -laitteeseesi. HUZZAH -laitteessa sinun on pidettävä painettuna GPIO0 -painiketta ja napsautettava sitten lepopainiketta, ennen kuin päästettävä irti GPIO0 -painikkeesta, jotta siru siirtyy käynnistyslataustilaan. Jos siru on onnistuneesti asetettu käynnistyslataustilaan, punainen valo syttyy, mikä osoittaa, että siru on käynnistyslataustilassa.
Yhteyden muodostamiseen ESP8266 -laitteeseen tarvitset sarjakaapelin tai USB -sarja -sovittimen tai FDTI -sirun. Tässä tapauksessa käytän Adafruit -kaapelia ohjeiden mukaisesti. Voit kuitenkin kytkeä sirun useilla tavoilla käyttämällä TTL: ää Tx- ja Rx -nastoissa. Toivon, että ihmiset, jotka katsovat tätä, tietävät, miten kytkeä siru ladatakseen sen koodin. Joka tapauksessa, mene eteenpäin ja vilkaise siru koodilla tämän vaiheen liitteenä olevassa zip -tiedostossa.
Vaihe 4: Arduinon valmistelu
Jos haluat ladata koodin arduinoon, vaihda kortin määritelmäksi Arduino/Genuino Uno. Pura sitten tähän vaiheeseen liitetty tiedosto. Lataa se ardunioon. Todella yksinkertaista, kaikki kova työ on jo tehty puolestasi. Olen jo käynyt läpi kokeilu -virheprosessin, joten sinun tarvitsee vain ladata koodi.
Vaihe 5: Johdotus kaikki yhteen
Ok, joten johdotuksessa minulla on kuva yllä, mitä minulla on täällä.
Liitä Huxan Tx arduinon nastaan 2 ja Huzzahin Rx arduinon nastaan 3. Luin toisen sarjaliitännän arduinon nastoihin 2 ja 3 vapauttaaksesi oletusarvoisen sarjakonsolin.
Liitä nasta V+ ja En 5 V: iin arduinosta. - Adafruit Huzzahissa on sisäänrakennettu 3,3 voltin jännitesäädin, joten näiden nastojen liittäminen ei ehkä toimi kaikkien ESP8266 -moduulien kanssa. Sinun on ehkä johdotettava oma jännitesäädin. Suosittelen Huzzahin käyttöä, jos haluat vain saada asian toimimaan helposti. Liitä GND arduinon GND: hen
LEDien arduino -johdon nastoissa 12, 11, 9, 8 käytin täällä pienitehoisia LED -valoja, koska ne, jotka vetävät liikaa virtaa, voivat kuluttaa liikaa virtaa tämän kokeilun yksinkertaisuuden vuoksi.
Kuin Adu -analogisella nastalla 0 arduinossa, olen kytkenyt Turpitity -testerin ulostulolinjan. Voit kuitenkin kytkeä lähtökohtaisesti minkä tahansa anturin, joka antaa sinulle analogisen lukeman. Se on kaikki mitä sinun tarvitsee tehdä tämän johtamiseksi.
Vaihe 6: Verkkosivun käyttäminen
Nyt kun arduino on kytketty ja olet ladannut kaiken levyllesi, sinun on voitava katsella html -tiedostoa matkapuhelimellasi. Nyt haluan sinun muodostavan yhteyden samaan wifi -reitittimeen, jolle asetit SSID: n ja salasanan Huzzahin koodissa. Sinun on selvitettävä, minkä IP -osoitteen reititin on määrittänyt laitteellesi. Yleensä, jos kirjaudut reitittimen kokoonpanoon, pitäisi olla asiakasluettelo. Se näyttää kaikkien Wifi -yhteyteesi yhdistettyjen laitteiden IP -osoitteet. Jos et kuitenkaan löydä tätä IP -osoitetta, voit irrottaa sen arduinosta ja käyttää sitä sarjakaapelilla uudelleen. Jos avaat laitteen sarjakonsolin, se tulostaa IP -osoitteen sarjakonsolin laitteelle, jos et löydä sitä muulla tavalla. Joka tapauksessa, kun olet muodostanut yhteyden samaan Wifi -verkkoon matkapuhelimesi kanssa. Osoita mobiiliverkkoselaimesi Huzzahin IP -osoitteeseen. Mikä luultavasti näyttää tältä. https://192.168.0.107 tai jotain vastaavaa. Siellä laitoin perussivun, jonka avulla voit kytkeä päälle ja pois päältä 4 lediä ja lukea analogisen anturin arvon.
Vaihe 7: Javasciptin käyttö
ESP8266Code -luonnoksen index.h -nimisessä tiedostossa sen pitäisi näkyä erillisenä välilehdenä arduino -editorissa. Voit nähdä tekemäni perusesimerkin täältä. Pohjimmiltaan se toimii näin.
SetPin (12, 1, 0); SetPin ({PIN -numero}, {Arvo 1 Korkea 0 Matala}, {IsAnalog 1 Kyllä 0 Ei})
Tämä asettaa digitaalisen nastan 12 arvon suureksi
SetPin (4, 0, 0);
Tämä asettaa digitaalisen nastan 4 arvon matalaksi
SetPin (A2, 439, 1) Tämä asettaa analogisen nastan 2 arvoksi 439
Samoin funktio GetJSON palauttaa pyydetyn arvon nastalta ja sijoittaa sen html -elementtiin, jolla on määritetty div -tunnus.
GetJSON ('A0', 1, 'resp_i') GetJSON ({Pin Number}, {IsAnalog 1 Yes 0 No}, {Id Of HTML Element to return result})
Tämä lähettää arduinoon pyynnön, jossa se pyytää analogisen nastan 0 arvoa ja palauttaa tuloksen Div -tunnukseen tunnuksella resp_iGetJSON (12, 0, 'mydiv'); Tämä pyytää arduinoa saamaan digitaalisen nastan 0 arvon ja palauttamaan tuloksen html -elementtiin ja mydiv -tunnuksella
Vaihe 8: Tuki
Toivon, että skriptini auttaa niitä teistä, jotka haluavat käyttää sitä. Käytin täällä hyvin yksinkertaista html -esimerkkiä toivoen, että muut ihmiset tutkivat kaikki sen ominaisuudet, joita en voi. Tämän pitäisi kuitenkin osoittaa, kuinka ajaxia voidaan käyttää arduinon hallintaan ilman html -sivujen lataamista ja vastaavia asioita.
Jos sinulla on kommentteja, kysy rohkeasti, yritän parhaani mukaan vastata. Haluaisin laajentaa tämän toiminnallisuutta vielä jonkin verran, mutta aika ja raha loppuivat. Pyrin kuitenkin toteuttamaan tätä tehokkaammin, jolloin tiedostot tallennetaan tavalliseen verkkopalvelimeen ESP8266: n sijaan.
Kiitos, että käytit aikaa koodini katsomiseen.
John AndersonSähköposti minulle
Vermont Internet Design LLC
www.vermontinternetdesign.com
Suositeltava:
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: 5 vaihetta
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: Sony Spresense tai Arduino Uno eivät ole niin kalliita eivätkä vaadi paljon virtaa. Jos projektillasi on kuitenkin virtaa, tilaa tai jopa budjettia, voit harkita Arduino Pro Minin käyttöä. Toisin kuin Arduino Pro Micro, Arduino Pro Mi
Langaton kaukosäädin käyttäen 2,4 GHz: n NRF24L01 -moduulia Arduinon kanssa - Nrf24l01 4 -kanavainen / 6 -kanavainen lähettimen vastaanotin nelikopterille - Rc -helikopteri - Rc -taso Arduinon avulla: 5 vaihetta (kuvilla)
Langaton kaukosäädin käyttäen 2,4 GHz: n NRF24L01 -moduulia Arduinon kanssa | Nrf24l01 4 -kanavainen / 6 -kanavainen lähettimen vastaanotin nelikopterille | Rc -helikopteri | Rc -lentokone Arduinon avulla: Rc -auton käyttö | Nelikopteri | Drone | RC -taso | RC -vene, tarvitsemme aina vastaanottimen ja lähettimen, oletetaan, että RC QUADCOPTER -laitteelle tarvitaan 6 -kanavainen lähetin ja vastaanotin, ja tämäntyyppinen TX ja RX on liian kallista, joten teemme sellaisen
Valon/kotivalojen hallinta Arduinon ja Amazon Alexan avulla: 16 vaihetta (kuvilla)
Valon/kotivalojen hallitseminen Arduinon ja Amazon Alexan avulla: Olen selittänyt, kuinka ohjata UNO: hon kytkettyä ja Alexan ohjaamaa valoa
Arduinon hallinta sähkebotin avulla ilman ylimääräistä laitteistoa: 5 vaihetta
Arduinon hallinta Telegram Botin avulla ilman lisälaitteistoa: Arduinolla voi tehdä monenlaisia asioita, mutta oletko koskaan ajatellut hallita Arduinoa Telegram -botilla? MITÄ TARVITSET: Arduino UNO Node.js on asennettu PC Jotkut ohjattavat laitteet (Käytämme Arduinon sisäistä LEDiä
Harjaton tasavirtamoottorin nopeuden hallinta Arduinon ja Bluetooth-moduulin (HC-05) avulla: 4 vaihetta
Harjattoman tasavirtamoottorin nopeuden hallinta Arduinon ja Bluetooth-moduulin (HC-05) avulla: Johdanto Tässä opetusohjelmassa aiomme ohjata harjaton tasavirtamoottorin nopeutta käyttämällä Arduino UNO: ta, Bluetooth-moduulia (HC-05) ja Android-sovellusta Bluetoothille ( Arduino Bluetooth -ohjain)