24.1.2017 / Elektroniikka

Tilailin mielenkiinnosta Ebaystä viisi kappaletta ESP8266-moduuleita  ja niille ohjelmointilaitteen. Moduuli alkoi kiinnostamaan, koska se sisältää pienen mikrokontrollerin, WiFi-piirin ja on hinnaltaan edullinen. Moduulista löytyy 2 kappaletta GPIO-nastoja, sekä RX/TX-nastat. VCC,RST ja CH_PD -nastat tarvitaan moduulin toimintaa varten.

 

GPIO-nastoja voidaan käyttää normaalin binäärisen input/output nastan tavoin ja RX/TX-nastat toimivat sarjaliikenteessä. GPIO0 ja GPIO2 nastoja, tai RX/TX-nastoja voidaan myös käyttää I2C-väylänä joillain rajoituksilla (mm. TX-nasta ajaa bootissa itsensä 1-tilaan debuggaus-ominaisuuksien johdosta). I2C-väylän käyttömahdollisuus, vaikkakin pienen kikkailun jälkeen, laajentaa moduulille olevaa anturitarjontaa huomattavasti.

VCC ja GND ovat käyttöjännitenastat, VCC +3.3V ja GND 0V (HUOM! Moduuli toimii 3.3V jännitetasolla!) CH_PD on piirin valitsin-nasta (Sen pitää olla kiinteästi +3.3V kytkettynä) ja RST on reset.

 

Moduuli on varsin pienikokoinen ja tarkemmalta tyypiltään ESP8266 ESP01 (https://en.wikipedia.org/wiki/ESP8266).  Kuvassa on selkeästi näkyvissä piirilevyantenni, jonka kantama todennäköisesti ei ole kovin suuri, mutta riittänee kotisovellutuksiin.

 

 

Tilasin moduulien lisäksi yllä olevan kuvan kaltaisen ohjelmointilaitteen, jonka pinout on yhteensopiva moduulin kanssa. Ohjelmointilaite on normaali USB-UART-piiri (”FTDI”), mutta tässä tapauksessa tärkeätä on 3.3V jännitetasot. (Monet USP-UART -piirit toimivat 5V jännitetasolla, tarkista tämä ennen kytkentää!) Minulla on ennestään jo muutamia vastaavia, mutta päädyin ottamaan tämän tilaukseen, jotta välttyisin adapterikaapeleiden teolta.

ESP8266 moduulin voi ohjelmoida suoraan Arduino IDE:llä ja tätä yritinkin. Koitin ladata simppelin Blink-ohjelman, jossa yksi moduulin kiinteästi asennetuista ledeistä vilkkuisi 1HZ taajuudella. Sain kuitenkin ohjelmaa moduulille ladattaessa herjan:

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

Pienen selvittelyn jälkeen totesin tämän johtuvan siitä, että moduuli pitää asentaa ohjelmointitilaan erikseen. Tämä tapahtuu kytkemällä moduulista virrat pois ja kytkemällä GPIO0-nasta nastaan GND.

 

Nastojen jumppaaminen johdolla ilman kontaktin pätkimistä on haastavaa, joten kävin miljoonalaatikosta kaivelemassa kytkimen ja juotin sen piirin alapuolelle. Asennuksesta ei tullut kaunis, mutta toimivuus on tässä tapauksessa pääasia. Alla vielä käyttämäni Arduino IDE:n asetukset jolla homma lähti pelaamaan:

 

WiFi:n toimintaan vaadittavat asetukset moduuliin konfiguroidaan AT-komennoilla sarjamonitorin kautta, näihin komentoihin löytyy kattava lista mm. täältä:  http://www.pridopia.co.uk/pi-doc/ESP8266ATCommandsSet.pdf

Tulen rakentamaan moduuleilla ainakin lämpötilan/ilmankosteuden -mittauksen, joka lähettää tiedot serverillemme. Tästä kirjoitan todennäköisesti lisää, kunhan saan muilta projekteilta aikaa raivattua.

Toivottavasti artikkeli herätti mielenkiinnon, lopuksi vielä linkit mistä omani ostin:

USB to ESP8266 Serial Wireless Wifi Module Developent Board 8266 Wifi Adapter

http://www.ebay.com/itm/201588307377

5PCS ESP8266 Serial WIFI Wireless Transceiver Module Send Receive LWIP AP+STA :

http://www.ebay.com/itm/191903981323