Differences

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

Link to this comparison view

iothings:laboratoare:lab5 [2022/04/05 22:33]
cosmin.chenaru
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. Instalarea ​tool-ului ​Thonny ====+==== 1. Instalarea ​aplicației ​Thonny ====
  
 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. 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.
Line 9: Line 9:
 O scurtă introducere cu cele mai folosite construcții în Python găsim [[https://​randomnerdtutorials.com/​micropython-programming-basics-esp32-esp8266|aici]]. O scurtă introducere cu cele mai folosite construcții în Python găsim [[https://​randomnerdtutorials.com/​micropython-programming-basics-esp32-esp8266|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 [[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.1649187189.txt.gz · Last modified: 2022/04/05 22:33 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