Lenguaje python para Microcontroladores

José Luis Laica Cornejo

Comunidad " Fun Python "

Guayaquil - Ecuador

¿Qué es MicroPython?

Es una implementación de software de un lenguaje de programación ampliamente compatible con Python 3 escrito en C, que está optimizado para ejecutarse en un microcontrolador.

Lanzado 3 May 2014

Licencia MIT

Fisico y programador

Hardware

Pyboard

  • STM32F405RG
  • Cortex M4  168 MHz
  • 1024 KiB flash ROM and 192 KiB RAM

José Luis Laica Cornejo

Comunidad " Fun Python "

Hardware

Open MV

LOPY4

José Luis Laica Cornejo

Comunidad " Fun Python "

Hardware

MicroBit

Teensy 3.x

José Luis Laica Cornejo

Comunidad " Fun Python "

Hardware

ESP01

ESP8266

Antena wifi

Memoria Flash

RX

TX

Text

80MHz

80 Kb - Ram

512 KB

José Luis Laica Cornejo

Comunidad " Fun Python "

Hardware

RX

TX

USB / RS232- TTL

José Luis Laica Cornejo

Comunidad " Fun Python "

Hardware

RX

TX

NodeMCU

wifi

Reg. 3.3v

Chip USB -RS232

 

ESP8266

José Luis Laica Cornejo

Comunidad " Fun Python "

Hardware

RX

TX

ESP32 DevKit

wifi

Reg. 3.3v

Chip USB -RS232

ESP32 D0WDQ6

Text

Text

Text

Text

José Luis Laica Cornejo

Comunidad " Fun Python "

¿ Como empezamos ?

José Luis Laica Cornejo

Comunidad " Fun Python "

"""
Autor: José Luis Laica
https://creativecommons.org/licenses/by/4.0/
"""

import os

arch="prueba.txt"
with open(arch,"r") as f:
    texto=f.read()
print(texto)

José Luis Laica Cornejo

Comunidad " Fun Python "

"""
Autor: José Luis Laica
https://creativecommons.org/licenses/by/4.0/
"""

import os

arch="prueba.txt"
texto="Primer texto"

with open(arch,"w") as f:
    f.write(texto)

José Luis Laica Cornejo

Comunidad " Fun Python "

"""
Autor: José Luis Laica
https://creativecommons.org/licenses/by/4.0/
"""


import os

def escribir_arch(nom,texto):
    with open(nom,"w") as f:
        f.write(texto)
    print(nom,"guardado")

def leer_arch(nom):
        with open(nom,"r") as f:
            texto=f.read()
        return texto
        
doc="Esto es una prueba"
escribir_arch("prueba.txt",doc)

José Luis Laica Cornejo

Comunidad " Fun Python "

"""
Autor: José Luis Laica
https://creativecommons.org/licenses/by/4.0/
"""


import time
import machine

led=machine.Pin(2,machine.Pin.OUT)

for i in range(0,10):
    led.value(0)
    time.sleep(1)
    led.value(1)
    time.sleep(1)

José Luis Laica Cornejo

Comunidad " Fun Python "

"""
Autor: José Luis Laica
https://creativecommons.org/licenses/by/4.0/
"""


import time
from machine import Pin

led = Pin(2, Pin.OUT)

while True: 
    led.value(1)
    time.sleep_ms(500)
    led.value(0)
    time.sleep_ms(500)

José Luis Laica Cornejo

Comunidad " Fun Python "

"""
www.micropython.org
"""


import network
import socket
import time

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

import network

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
    print('connecting to network...')
    wlan.connect("","")
    while not wlan.isconnected():
        pass
print('network config:', wlan.ifconfig())

José Luis Laica Cornejo

Comunidad " Fun Python "

José Luis Laica Cornejo

Comunidad " Fun Python "

"""
Autor: José Luis Laica
www.micropython.org """


import socket
import time

html= """<html>
  <head>
    <meta charset="uft-8"/>
    <title>Hola Mundo en HTML</title>
  </head>
  <body>
    <h1>Hola Mundo Fun</h1>
  </body>
</html>"""

#Setup Socket WebServer
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
time.sleep(1)
s.bind(('', 80))
s.listen(5)
while True:
    conn, addr = s.accept()
    request = conn.recv(1024)
    request = str(request)
    print(request)        
    response = html
    conn.send(response)
    conn.close()

José Luis Laica Cornejo

Comunidad " Fun Python "

@joselaica

@funpython

funpythonEC