Laborator 05. MicroPython pe ESP32

În laboratorul de astăzi vom instala MycroPython pe plăcuța ESP32 pentru a folosi funcționalitatea acesteia cu ajutorul limbajului de programare Python.

1. Instalarea aplicației Thonny

Vom folosi acest tutorial pentru a instala tool-ul Thonny și pentru a scrie imaginea de MycroPython pe plăcuța ESP32.

O scurtă introducere cu cele mai folosite construcții în Python găsim aici.

2. Documentația MicroPython pentru ESP32

MicroPython este o implementare optimizată a limbajul de programare Python3, destinată microcontroller-elor cu puține resurse disponibile, ce conține un mic subset din funcționalitatea standard a limbajului.

Documentația pentru ESP32 o avem aici.

Exerciții

Ex. 1 - WiFi Scan

Scanați retelele WiFi locale folosind următorul program:

import network

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

nets = sta.scan()
for net in nets:
    print(net[0])

Un mic exemplu cu partea de retea găsim aici

Ex. 2 - Web Server

Urmăriți acest tutorial pentru a porni un server web. Testați conexiunea din browser și aprindeți led-ul din pagina web.

Tutorialul din link-ul de mai sus folosește aplicația uPyCraft, dar noi vom folosi tot aplicația Tonny.

Ex. 3 - Simularea unei intreruperi

Folosiți programul de mai jos pentru a “asculta” interuperi pe PIN-ul 23.

from machine import Pin
from time import sleep

shortCircuit = False

def handle_interrupt(pin):
  global shortCircuit
  shortCircuit = True
  print("Interrupt")

led = Pin(2, Pin.OUT)

# Setting a ping on 3.3 volts
highVoltagePin = Pin(22, Pin.OUT)
highVoltagePin.value(1)

# This pin should receive 3.3 volts to trigger an interrupt
pir = Pin(23, Pin.IN)

pir.irq(trigger=Pin.IRQ_RISING, handler=handle_interrupt)

while True:
  if shortCircuit:
    led.value(1)
    sleep(1)
    led.value(0)
    print('Interrupt stopped!')
    shortCircuit = False

Din cauza lipsei unui device fizic care să livreze o întrerupere, vom pune PIN-ul 22 pe 1 logic (3.3 volți) iar cu ajutorul unui pix vom scurt-circuita PIN-ul 23.

Dacă nu merge cu un pix, puteți încerca cu partea de grafit dintr-un creion mecanic.

Sau in cel mai ne-ingineresc caz, cu o furculiță :).

Resurse

iothings/laboratoare/lab5.txt · Last modified: 2022/04/06 19:35 by cosmin.chenaru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0