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)