Rezultat finala uživo na micro:bitu (prvi dio)

Nemojte propustiti

E Ink avanture s Inky pHAT-om

E Ink (AKA E Paper, electronic paper) već je neko vrijeme s nama, a mogli ste se sresti s tom tehnologijom ako (još...

Raspberry Pi Story

Raspberry Pi maleni je SBC (single board computer) razvijen od Raspberry Pi Foundation kako bi pomogao u edukaciji osnova računarstva. Međutim, vrlo brzo pokazalo...

Spajanje više tipkala na jedan pin

Mnogi su nas nakon članka o izborniku s LCD shieldom pitali kako spojiti tipkala da rade na takav način. Jedan od načina...

I2C LCD

Sada je vrijeme da se pozabavimo jednim od osnovnih koraka u našim projektima a to je prikazivanje poruka na LCD ekranu. Danas...

Izrada izbornika na LCD štitu

Nakon što smo se upoznali sa shield koji ima LCD ekran i tipkovnicu. Ako još niste možete to učiniti ovdje. Vrijeme je...

Dan prije finalne utakmice Francuske i naše Hrvatske palo mi je na pamet za micro:bit složiti dohvat rezultata. Budući da micro:bit sam po sebi ne može na Internet, povezao bih ga s ESP8266 i pomoću AT-a pristupao Internetu. Dohvatio bih aktualni rezultat, obradio ga, prikazao i nekako javio da je došlo do promjene.

Prvo što sam trebao napraviti, pronaći je izvor podataka. Ranije sam za neka osobna istraživanja koristio odlični API worldcup.sfg.io. Problem u ovom našem slučaju je da taj API vraća dosta podataka, što nikako nije dobro za malu memorije micro:bita. Bezuspješno sam pokušao pronaći neki lakši API. Na kraju sam se odlučio malo upoznati s Pythonovim Flaskom i za doslovno pet minuta složio svoj vlastiti server koji se spajao na gornji API i izdvajao mi i slao samo rezultat. Ispod se vidi dobiveno, a na kraju članka priložen je kod servera. Za vrijeme izrade spajao sam se na worldcup.sfg.io/matches/today, a za potrebe ovog članka prilagodio sam spajanje na aktivni worldcup.sfg.io/matches.

- oglas-

Nakon što sam dobio izvor podataka, odlučio sam testirati vezu ESP-a prema serveru. To je najbolje učiniti pomoću računala. Povežem se s ESP-om pomoću FTDI-ja i putem serijske veze izravno unosim AT naredbe.

Testiranje sam uspješno odradio u Arduino IDE-ju. Ovo su potrebne naredbe, a ispod se vidi rezultat izvođenja.

AT+CIPSTART="TCP","192.168.5.40",5000
AT+CIPSEND=38
GET / HTTP/1.1
Host: 192.168.5.40

Preostalo mi je navedene naredbe pretočiti u program za micro:bit. Kod je dosta jednostavan. Serijskom vezom povežem micro:bit i ESP8266, pošaljem ranije navedene AT naredbe i pripadajuće podatke i pročitam ono što mi je vraćeno, obradim i prikažem.

from microbit import *

uart.init(baudrate=115200, tx=pin0, rx=pin1)
sleep(3000)

while True:
    if button_a.was_pressed():
        display.clear()
        display.show('C')
        uart.write(b'ATE0\r\n')
        sleep(3000)
        uart.write(b'AT+CIPSTART="TCP","192.168.5.40",5000\r\n')
        sleep(3000)
        uart.write(b'AT+CIPSEND=38\r\n')
        sleep(3000)
        uart.write(b'GET / HTTP/1.1\r\nHost: 192.168.5.40\r\n\r\n')
        while True:
            step = 0
            while not uart.any():
                sleep(100)
                step += 1
                if step == 100:
                    break
            if step == 100:
                break
            while uart.any():
                data = uart.read()
        display.scroll(str(data), delay=50)
    sleep(100)

Nažalost, čitanje nije prošlo kako je zamišljeno. Podaci su uredno poslani i dobri podaci su vraćeni, no nikako nisam uspio natjerati micro:bit da pročita sve podatke. Jednom sam, pomoću ovog koda, uspio dobiti sve podatke, no u većini slučajeva dobio bih samo dio podataka, otprilike polovicu. Budući da je rezultat tek na kraju, kao takvi su beskorisni. Isprobao sam razne oblike dohvata, i u MakeCodu i u MicroPythonu, no bezuspješno. UART dio micro:bita problematičan je i loše dokumentiran. Nažalost, za proučavanje koda izvedbe nemam baš vremena.

Budući da glavna ekipa micro:bita dolazi iz Engleske, nema smisla odmah im se obratiti s pitanjima. 🙂 Pustit ću da im rane malo zarastu. A tada možda probam istu stvar napraviti i pomoću Arduino IDE-ja. Sve to skupa ostavim za drugi dio ove priče o nogometu.

Preuzimanje:


Možda vas zanima i ovo:

Komentiraj

Unesite svoj komentar!
Ovdje unesite svoje ime

Popularno

Uvjeti korištenja

Uvjeti korištenja seekretors.org stranice (u daljnjem tekstu: ove stranice) u vlasništvu su njenih osnivača Marka Miroslava Bače i Tomislava Preksavca (u daljnjem...

Enderova nova pamet

Enderu 3 teško je naći manu (naročito za cijenu po kojoj se prodaje), i ako bi nešto trebalo izdvojiti, to je sigurno njegov...

PYW – Vijak

Evo nas na prvoj stranici našeg putovanja, a s čime je bolje početi nego s dobrom vezom. Zato krenimo od vijčanog spoja.

Print Your world- uvod

Dobrodošli u novi serijal Print Your world ili kako bi mi rekli ekstrudiraj, ekstrudiraj. U ovom serijalu bavit ćemo...

Korekcija putanje glave 3D printera

Konkretno, u mom slučaju radi se o 3D printeru tipa delta, premda vjerujem da sličnih problema ima i kod modela s klasičnim...