from machine import Pin, I2C, UART
import time
from ssd1306 import SSD1306_I2C
from tinygps import TinyGPS
latitud = 0.0
longitud = 0.0
lat_str = ""
lng_str = ""
ssid = ".."
passkey = "juan1010"
auth_token = ""
gps = TinyGPS()
i2c = I2C(-1, Pin(22), Pin(21))
oled = SSD1306_I2C(128, 64, i2c)
uart = UART(1, baudrate=9600, tx=17, rx=16)
def connect_wifi():
print("Conectándose a", ssid)
while not wlan.isconnected():
print(".")
time.sleep(0.5)
print("WiFi conectado")
def display_gps_data():
global latitud, longitud, lat_str, lng_str
while uart.any():
sentence = uart.readline()
if sentence.startswith(b"$GPGGA"):
gps_data = sentence.decode("utf-8").split(",")
if gps_data[7] == '1':
latitud = float(gps_data[2]) / 100
longitud = float(gps_data[4]) / 100
lat_str = "{:.6f}".format(latitud)
lng_str = "{:.6f}".format(longitud)
print("Latitud =", lat_str)
print("Longitud =", lng_str)
oled.fill(0)
oled.text("Latitud: {}".format(lat_str), 0, 0)
oled.text("Longitud: {}".format(lng_str), 0, 16)
oled.show()
blynk.virtual_write(0, 1, latitud, longitud, "Ubicación")
connect_wifi()
while True:
display_gps_data()
time.sleep(1)
blynk.run()