Top.Mail.Ru

MicroPython Examples

Несколько примеров кода для начала работы с Iguana и освоения MicroPython

Примеры кода на MicroPython

Мигание светодиодом

На ESP8266 (NodeMCU Devkit 1.0) и ESP32 (Devkit V1) мигает встроенным светодиодом.

import machine, time

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

while True:
  led.value(1)
  time.sleep(0.5)
  led.value(0)
  time.sleep(0.5)

Мигание светодиодом со случайным интервалом

На ESP8266 (NodeMCU Devkit 1.0) и ESP32 (Devkit V1) мигает встроенным светодиодом со случайным интервалом.

from machine import Pin
from time import sleep
from urandom import getrandbits

led = Pin(2, Pin.OUT)

while True:
  t = getrandbits(2) / 10
  print(t)    
  led.value(not led.value())
  sleep(t)

Широтно-Импульсная Модуляция - ШИМ (Pulse Width Modulation - PWM)

На ESP8266 (NodeMCU Devkit 1.0) и ESP32 (Devkit V1) плавно меняет яркость свечения встроенного светода.

from machine import Pin, PWM
from time import sleep

pwm = PWM(Pin(2))
pwm.freq(1000)

while True:
  for i in range (0, 1023, 50):
    pwm.duty(i)
    sleep(0.1)

  for i in range (1023, 0, -50):
    pwm.duty(i)
    sleep(0.1)

Датчик Холла

На ESP32 считывает и печатает значение встроенного датчика для измерения величины магнитного поля.

from esp32 import hall_sensor
from time import sleep

while True:
  h = hall_sensor()
  print(h)
  sleep(0.2)

Сканер Wi-Fi сетей

print("Scanning for WiFi networks, please wait...")
print("")

import network
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)

mod = ['Open', 'WEP', 'WPA-PSK' 'WPA2-PSK4', 'WPA/WPA2-PSK']
for (ssid, bssid, channel, RSSI, authmode, hidden) in sta_if.scan():
  print("* {:s}".format(ssid))
  print("   - Auth: {} {}".format(mod[authmode], '(hidden)' if hidden else ''))
  print("   - Channel: {}".format(channel))
  print("   - RSSI: {}".format(RSSI))
  print("   - BSSID: {:02x}:{:02x}:{:02x}:{:02x}:{:02x}:{:02x}".format(*bssid))
  print()