V tem projektu boste z uporabo MIT App Inventor programske opreme izdelali aplikacijo za Android, ki omogoča nadzor GPIO-jev na ESP8266.
Random Nerd Tutorials
V tem projektu bomo uporabili vdelano programsko opremo NodeMCU. Svoj ESP morate sprogramirati z NodeMCU firmware [1].
Kaj bomo potrebovali?
Tukaj je spisek strojne opreme, ki jo potrebujete za dokončanje tega projekta:
- 1x ESP8266 -preberite »Best ESP8266 Wi-Fi Development Boards«[2]
- 1x FTDI programator
- 2x LED-ici
- 2x 220Ω upora
- 1x Razvojna plošča
- 1x Android telefon – primer OnePlus 5
Prenos ESPlorer IDE okolja
Priporočam uporabo programa ESPlorer IDE, ki ga je ustvaril 4refr0nt, za pošiljanje ukazov na ESP8266.
Ta vsebina je samo za naročnike
Za prenos in namestitev ESPlorer IDE okolja sledite tem navodilom:
- Kliknite tukaj [3] za prenos ESPlorer programa
- Razpakirajte to mapo
- Pojdite v glavno mapo
- Zaženite datoteko “ESPlorer.jar”
- Odprite IDE ESPlorer
Sheme (3,3V FTDI programator)
Sheme za ta projekt so zelo preproste. Vzpostaviti morate le serijsko komunikacijo med FTDI programatorjem in ESP8266. FTDI programator lahko kupite na eBay-u [4].
Povezovanje:
- RX -> TX
- TX -> RX
- CH_PD -> 3,3 V
- VCC -> 3,3 V
- GND -> GND
Nalaganje kode
Prikaže se okno, podobno kot na prejšnji sliki, in sledite tem navodilom za prenos Lua datoteke:
- FTDI programator povežite z računalnikom.
- Izberite vrata programatorja FTDI
- Pritisnite Open/Close
- Izberite zavihek NodeMCU+MicroPtyhon
- Ustvarite novo datoteko z imenom init.lua
- Pritisnite Save to ESP
- Vse, kar vas mora skrbeti ali spremeniti, je označeno v rdečem polju.
Program
V ESP8266 naložite naslednjo kodo z uporabo predhodne programske opreme. Vaša datoteka se mora imenovati “init.lua”.
V spodnjo skripto ne pozabite dodati imena vašega omrežja (SSID) in gesla.
-- Rui Santos -- Complete project details at https://randomnerdtutorials.com wifi.setmode(wifi.STATION) wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD") print(wifi.sta.getip()) led1 =3 led2 =4 gpio.mode(led1, gpio.OUTPUT) gpio.mode(led2, gpio.OUTPUT) srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on("receive",function(client,request) local buf =""; buf = buf.."HTTP/1.1 200 OKnn" local _, _, method, path, vars = string.find(request,"([A-Z]+) (.+)?(.+) HTTP"); if(method == nil)then _, _, method, path = string.find(request,"([A-Z]+) (.+) HTTP"); end local _GET ={} if(vars ~= nil)then for k, v in string.gmatch (vars,"(%w+)=(%w+)&*")do _GET[k]= v end end if(_GET.pin =="ON1")then gpio.write(led1, gpio.HIGH); elseif(_GET.pin =="OFF1")then gpio.write(led1, gpio.LOW); elseif(_GET.pin =="ON2")then gpio.write(led2, gpio.HIGH); elseif(_GET.pin =="OFF2")then gpio.write(led2, gpio.LOW); end client:send(buf); client:close(); collectgarbage(); end) end)
Shema: Po sliki 5 izdelajte vezje, ki krmili dve LED-ici
IP naslov vašega ESP modula
Ko se ESP8266 znova zažene, na serijskem monitorju izpiše IP naslov ESP modula. Shranite ta IP naslov, ker ga boste potrebovali pozneje.
V mojem primeru je IP naslov ESP 192.168.1.95. Če imate težave z prikazom IP naslova, preberite ta priročnik [5] za odpravljanje težav.
Ustvarjanje aplikacije za Android z MIT App Inventor programom
MIT App Inventor je “povleci-in-spusti” programska oprema, ki vam omogoča, da v eni uri ali manj ustvarite osnovno, vendar popolnoma funkcionalno aplikacijo za Android. O njej smo že pisali v reviji Svet elektronike.
Tukaj si oglejte, kako urediti aplikacijo za ESP8266 krmilnik:
- Kliknite tukaj [6] za prenos datoteke .aia
- Razpakirajte mapo
- Pojdite na MIT App Inventor [7]
- V zgornjem desnem kotu kliknite gumb “Create Apps” (Ustvari aplikacije)
- Pojdite na zavihek “Projekti” in izberite “Uvozi projekt (.aia)”.
Ko uvozite datoteko .aia, lahko urejate aplikacijo in si ogledate, kako je bila ustvarjena.
MIT App Inventor
V zavihku Designer lahko urejate videz aplikacije. Lahko spremenite besedilo, barve, tipke ali dodatne funkcije.
Programski bloki
Po končanem urejanju aplikacije lahko kliknete zavihek “Build” in namestite datoteko .apk v svoj Android. Osebno priporočam, da najprej naložite spodaj navedeno aplikacijo, da se prepričate, da vse deluje, kot je pričakovano (pozneje lahko aplikacijo urejate).
Namestitev Android aplikacije
Za namestitev privzete aplikacije, ki sem jo ustvaril, sledite tem navodilom:
- Kliknite tukaj [8] za prenos .apk datoteke
- Razpakirajte mapo
- Datoteko .apk prenesite v telefon z operacijskim sistemom Android
- Zaženite .apk datoteko, da namestite aplikacijo
- Tukaj je prikazano, kako deluje aplikacija ESP8266 Controller, ko jo zaženete
Zelo enostavno jo je konfigurirati. Na dnu zaslona kliknite tipko “Set IP Address” in vnesite svoj IP naslov (v mojem primeru 192.168.1.95).
Nadaljnji razvoj
To je osnovni primer, ki vam pokaže, kako enostavno je integrirati Android aplikacijo z ESP8266. Ta primer lahko vzamete in ga spremenite.
Aplikaciji lahko dodate več zaslonov, tako da lahko uporabite druge ESP-je ali dodate tipke za nadzor več GPIO.
Viri:
1: https://bit.ly/3SljBdY
2. https://bit.ly/3lU1v6A
3. https://bit.ly/3Se6tHv
4: http://ebay.to/1EQQWjA
5: https://bit.ly/3xDyU83
6: https://bit.ly/41bAGLh
7: http://appinventor.mit.edu/explore/
8: https://bit.ly/3xD6lHW
9: https://www.youtube.com/watch?v=Yo6nFHaTUGI
Povzeto po:
https://bit.ly/3YB5QKv