ESP32
Материал из noname.com.ua
ESP32
@DmZ:
Краткая инструкция: 1. Install SiLabs drivers 2. brew install esptool 3. https://docs.micropython.org/en/latest/esp32/tutorial/intro.html 4. screen /dev/tty.SLAB_USBtoUART 115200 (поиграться с питоном) 5. pip3 install mpfshell 6. https://github.com/wendlers/micropython-mfrc522 7. поменять в питоновых модулях esp8266 на esp32 и пины инициализации SPI в read/write.py 8. отредактировать и запустить deploy_esp.sh для копирования либ 9. зайти снова в скрин и попробовать почитать rfid
UART READ
>>> from machine import UART >>> uart = UART(1, 9600) # init with given baudrate >>> uart = UART(2, 9600) # init with given baudrate >>> uart.init(9600, bits=8, parity=None, stop=1) >>> uart.read()
#!/usr/bin/env python
#l = b'\x025E00DD3417A0\x03\x025E00DD3417A0\x03'
#l = b'0DD3417A0\x03\x025E00DD3417A0\x0312113'
l= b'\x0259004E6A7805\x03\x0259004E6A7805\x03'
print(l)
read_ids = []
id = ""
start = False
stop = False
for char in l:
# print(char)
# print(int(char, 16))
print hex(ord(char))
if char == "\x02":
print("found start")
id = b""
start = True
elif char == "\x03":
print("found stop")
if start:
read_ids.append(id)
start = False
else:
id = id + char
print(read_ids)
for id in read_ids:
print(int(id, 16))
Ультразвуковой датчик HC-SR04
- https://arduino.ua/prod182-yltrazvykovoi-datchik-rasstoyaniya-hc-sr04
- http://wiki.amperka.ru/продукты:hc-sr04-ultrasonic-sensor-distance-module
import utime
import machine
PIN_TRIG=32
PIN_ECHO=35
ECHO_SLEEP=10
PAUSE=1
# 0.1 sec = 100000 us
MAX_READ_TIME=100000
def read():
pin_echo = machine.Pin(PIN_ECHO, machine.Pin.IN)
pin_trig = machine.Pin(PIN_TRIG, machine.Pin.OUT)
pin_trig.on()
utime.sleep_us(ECHO_SLEEP)
pin_trig.off()
deadline = utime.ticks_add(utime.ticks_us(), MAX_READ_TIME )
while utime.ticks_diff(deadline, utime.ticks_us()) > 0:
if pin_echo.value() == 1:
pulse_start = True
pulse_start_tics=utime.ticks_us();
while pin_echo.value() == 1:
utime.sleep_us(PAUSE)
pulse_finish_tics=utime.ticks_us();
time_diff = utime.ticks_diff(pulse_finish_tics, pulse_start_tics)
# 34 mm per 100 us
distance_mm = 34 / 100 /2 * time_diff
return(distance_mm)
return(-1)