Usar API de Pokemon con ESP8266 (3 / 4 steg)
Steg 3: Programación y Circuito
Para este ejemplo usaremos el spårk de programación LUA sv cual ya había mostrado como manejar sv FN instructable främre
SI usted tiene un Arduino a la mano también puede cargar firmware en su dispositivo, puede consultar este otro instructable para ver como
UNA vez teniendo instalado el firmware NodeMCU sv nuestro ESP8266 y el ESPlorer sv nuestra maquina, hay que primero subir el archivo "prueba. MONO"y por ultimo el init.lua debe contar lo siguiente:
lokala json = kräver "cjson"
skriva ut ("ansluter till wifi...")
WiFi.setmode (wifi. STATION)
WiFi.sta.config("xxxx","password")--ändra för namn och lösenord du wifi
lokala ip = wifi.sta.getip()
funktion init_spi_display()
--Hårdvara SPI CLK = GPIO14 SCL OLED ->
--Hårdvara SPI MOSI = GPIO13 SDA OLED ->
--Hårdvara SPI MISO = GPIO12 (används inte)
--CS, D/C och RES kan tilldelas fritt tillgängliga GPIOs
CS = 8--GPIO15, pull-down 10k till GND
DC = 4--GPIO2--> D/C OLED
Res = 0--GPIO16--> RST OLED
SPI.Setup (1, spi. MASTER, spi. CPOL_LOW, spi. CPHA_LOW, spi. DATABITS_8, 0)
Disp = u8g.ssd1306_128x64_spi (cs, dc, res)
slutet
funktion xbm_picture()
Disp:setFont(U8G.font_6x10)
Disp:drawStr (62, 10, "förmåga:")
Disp:drawStr (62, 62, weather.name)
Disp:drawXBM (0, -5, 60, 60, xbm_data)
slutet
funktion bitmap_test(delay)
File.Open ("prueba. MONO","r")
xbm_data = file.read()
File.Close()
Disp:firstPage()
Upprepa
xbm_picture()
tills disp:nextPage() == false
TMR.wdclr()
slutet
funktion updateWeather()
lokala conn=net.createConnection (net. TCP, 0)
Conn: på ("får", funktion (conn, nyttolasten)
skriva ut ("Conn:")
Print(Conn)
skriva ut ("nyttolast:")
--print(payload)
lokala nyttolast = string.match (payload, "{. *}")
Print(Payload)
Väder = noll
om nyttolast ~ = noll då
Väder = json.decode(payload)
Print("Ability:")
Print(Weather.Name)
bitmap_test()
slutet
nyttolast = noll
Conn: close()
Conn = noll
avsluta)
Print(IP)
Conn: connect(80, "162.243.133.52")
Conn: send("GET /api/v1/ability/5/ HTTP/1.1\r\n"
.." Värd: pokeapi.co\r\n "
.." Cache-Control: no-cache\r\n "
.." \r\n")
Conn = noll
slutet
init_spi_display()
TMR.alarm (0, 1000, 1, function()
Print(".")
IP = wifi.sta.getip()
om ((ip ~ = noll) och (ip ~ = "0.0.0.0")) sedan
Print(IP)
TMR.stop(0)
updateWeather()
slutet
avsluta)