Differences

This shows you the differences between two versions of the page.

Link to this comparison view

iothings:laboratoare:lab5 [2022/04/05 00:12]
cosmin.chenaru created
iothings:laboratoare:lab5 [2022/04/06 19:35] (current)
cosmin.chenaru [Exerciții]
Line 3: Line 3:
 Î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. Î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. Scrierea imaginii MycroPython ​====+==== 1. Instalarea aplicației Thonny ​====
  
-Vom folosi [[https://​randomnerdtutorials.com/​flashing-micropython-firmware-esptool-py-esp32-esp8266|acest tutorial]] pentru a scrie imaginea de MycroPython.+Vom folosi [[https://​randomnerdtutorials.com/​getting-started-thonny-micropython-python-ide-esp32-esp8266/|acest tutorial]] ​pentru a instala tool-ul Thonny și pentru a scrie imaginea de MycroPython ​pe plăcuța ESP32.
  
-==== 2. Instalarea extensiei PyMakr ​în Visual Studio Code ====+O scurtă introducere cu cele mai folosite construcții ​în Python găsim [[https://​randomnerdtutorials.com/​micropython-programming-basics-esp32-esp8266|aici]].
  
-Vom urmări [[https://​randomnerdtutorials.com/​micropython-esp32-esp8266-vs-code-pymakr|acest tutorial]] ​pentru ​a instala Visual Studio Code si extensia PyMakr.+==== 2Documentația MicroPython ​pentru ​ESP32 ====
  
-O scurtă introducere in cele mai folosite construcții în Python găsim [[https://​randomnerdtutorials.com/​micropython-programming-basics-esp32-esp8266|aici]].+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 [[https://​docs.micropython.org/​en/​latest/​esp32/​quickref.html|aici]].
 ==== Exerciții ==== ==== Exerciții ====
  
-=== Ex. 1 ===+=== Ex. 1 - WiFi Scan ===
  
 +Scanați retelele WiFi locale folosind următorul program:
  
 +<​code>​
 +import network
  
 +sta = network.WLAN(network.STA_IF)
 +sta.active(True)
 +
 +nets = sta.scan()
 +for net in nets:
 +    print(net[0])
 +</​code>​
 +
 +Un mic exemplu cu partea de retea găsim [[https://​docs.micropython.org/​en/​latest/​library/​network.WLAN.html|aici]]
 +
 +=== Ex. 2 - Web Server ===
 +
 +Urmăriți [[https://​randomnerdtutorials.com/​esp32-esp8266-micropython-web-server|acest]] tutorial pentru a porni un server web. Testați conexiunea din browser și aprindeți led-ul din pagina web.
 +
 +<​note>​
 +Tutorialul din link-ul de mai sus folosește aplicația uPyCraft, dar noi vom folosi tot aplicația Tonny.
 +</​note>​
 +
 +{{:​iothings:​laboratoare:​lab5-web-server-2.png?​300|}}
 +
 +=== Ex. 3 - Simularea unei intreruperi ===
 +
 +Folosiți programul de mai jos pentru a "​asculta"​ interuperi pe PIN-ul 23.
 +
 +<​code>​
 +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
 +</​code>​
 +
 +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.
 +
 +{{:​iothings:​laboratoare:​lab5-scurt-circuit.jpg?​300|}}
 +
 +Dacă nu merge cu un pix, puteți încerca cu partea de grafit dintr-un creion mecanic.
 +
 +{{:​iothings:​laboratoare:​lab5-scurt-circuit-grafit.jpg|}}
 +
 +Sau in cel mai ne-ingineresc caz, cu o furculiță :).
 ===== Resurse ===== ===== Resurse =====
  
-  * https://​randomnerdtutorials.com/​flashing-micropython-firmware-esptool-py-esp32-esp8266/​ +  * https://​randomnerdtutorials.com/​getting-started-thonny-micropython-python-ide-esp32-esp8266/​
-  * https://​randomnerdtutorials.com/​micropython-esp32-esp8266-vs-code-pymakr/+
   * https://​randomnerdtutorials.com/​micropython-programming-basics-esp32-esp8266/​   * https://​randomnerdtutorials.com/​micropython-programming-basics-esp32-esp8266/​
iothings/laboratoare/lab5.1649106724.txt.gz · Last modified: 2022/04/05 00:12 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