Sadržaj:

MicroPython na senzorskoj ploči za složene umjetnosti: 3 koraka
MicroPython na senzorskoj ploči za složene umjetnosti: 3 koraka

Video: MicroPython na senzorskoj ploči za složene umjetnosti: 3 koraka

Video: MicroPython na senzorskoj ploči za složene umjetnosti: 3 koraka
Video: #58 ESP8266 передает данные 17 дней на sparkfun.com и ubidots.com, работая от часовых батарей. 2024, Srpanj
Anonim
MicroPython na ploči senzora složene umjetnosti
MicroPython na ploči senzora složene umjetnosti
MicroPython na ploči senzora složene umjetnosti
MicroPython na ploči senzora složene umjetnosti

Jedan od najnevjerojatnijih aspekata mikrokontrolera ESP32 je njegova sposobnost pokretanja MicroPythona. To se može učiniti na dva načina: pokretanjem punih programa Python ili interaktivno putem konzole. Ovaj Instructable pokazat će kako se MicroPython koristi na oba načina pomoću Senzorske ploče Complex Arts. Prvo ćemo pokrenuti primjer aplikacije koja prikuplja podatke akcelerometra iz BNO_085 IMU, zatim ćemo koristiti serijski program za interaktivno programiranje u Pythonu.

Razina: Ovaj vodič pretpostavlja određeno znanje o Pythonu i da je Python instaliran. Također pretpostavlja poznavanje osnovnih terminalnih naredbi.

Alati: Jedini alati koji će nam trebati bit će senzorska ploča, terminalni program i program serijske konzole. Na Macu možete jednostavno koristiti terminal. Na Windows stroju morate preuzeti i instalirati terminalni program. Za serijsku konzolu. Git je uvijek dobar izbor.

Korak 1: Dobivanje firmvera i knjižnica

Za početak ćemo morati preuzeti prilagođeni firmver koji nudi Complex Arts, a zatim ga prenijeti na ploču senzora. Firmver možete pronaći ovdje:

Preuzmite datoteku firmware.bin i stavite je u mapu po svom izboru. Na kraju će vam također trebati primjer programa Complex Arts, pa biste to mogli učiniti i sada; idite na: https://github.com/ComplexArts/SensorBoardPython i git clone ili preuzmite na mjesto po vašem izboru.

Nakon što dobijete datoteke, trebat će nam nekoliko paketa za povezivanje s ESP32. Prvi paket koji će nam trebati je esptool.py. Da biste ga instalirali, jednostavno upišite

pip install esptool

u terminalu.

Nakon što je esptool instaliran, možemo izbrisati, a zatim ponovno bljeskati čip. Da biste to učinili, unesite

esptool.py --chip esp32 --port COM4 erase_flash

za port unesite serijski port koji se podudara s pločom senzora. Na Macu bi to izgledalo nešto poput --port /dev /ttyUSB0

Nakon što to učinimo, čip ćemo zamijeniti s:

esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

Opet, promijenite port prema tome.

Korak 2: Rad s MicroPythonom

Rad s MicroPythonom
Rad s MicroPythonom

Ako u ovom trenutku provjerimo serijski izlaz Sensor Board-a, vidjet ćemo Python REPL (petlja read-eval-print: >>>) Da bismo to učinili, trebat će nam program serijske konzole. Putty je dobra opcija jer pruža mogućnosti za SSH i telnet, ali i jednostavnu serijsku komunikaciju kao što ćemo ovdje raditi. putty.org. Nakon što ste ga instalirali, otvorite ga i odaberite "Serijski" pod "Vrsta veze:" Morat ćete upisati isti naziv serijskog porta koji ste unijeli za gornji esptool, a zatim brzinu prijenosa od 115200 za brzinu. Samo naprijed i kliknite "Otvori". A tu je i Python!

Sada ćemo htjeti prenijeti i pokrenuti naš primjer koda. Da biste to učinili, idite u mapu u koju ste prethodno spremili primjere SensorBoardPython. Trebat će nam Adafruit -ovo odlično ampy pakiranje. To možete instalirati pomoću:

pip install adafruit-ampy = 0,6.3

Kad ga imate, upotrijebite ampy za prijenos primjera akcelerometra na ploču:

ampy -p COM4 staviti accelerometer.py

(mijenjajući luku u skladu s tim, naravno). Sada resetirajte ploču pomoću gumba za resetiranje. Vratit ćemo se na Putty u ovom trenutku i na promptu >>> upišite

mjerač ubrzanja uvoza

Viola! Sada pokrećete kod accelerometer.py na ploči senzora! Kôd će trajati 20 sekundi, a zatim će se zaustaviti. Primijetite da dok je akcelerometar u funkciji, plava LED dioda na ploči treperi. Za one koji su bolje upoznati s Pythonom, primijetit ćete da se to radi bez navoja niti bez odlaganja (). To je posljedica korištenja Pythonove biblioteke asyncio, koja pruža izvrsne metode za istovremeno izvršavanje zadataka i super je korisna na ugrađenim platformama poput ESP32. Ako niste upoznati s tim, vrijedi provjeriti; ovdje postoji sjajan vodič: https://github.com/peterhinch/micropython-async/b… (ali upozoravam, malo je omamljen).

Korak 3: MicroPython preko serijskog

Natrag na zadatak! Kad se kod akcelerometra zaustavi, ponovno ćete vidjeti Python >>>. Sada možemo interaktivno programirati pomoću ploče s senzorima kao našeg Python tumača. Da biste to učinili, unesite

>> x = 10

>> y = 11

>> x + y

21

Iako je ovo najosnovniji primjer, lako možemo početi stvarati složeniji kôd koristeći knjižnice Complex Arts kao polazište. To vam omogućuje pokretanje mjerenja položaja i kretanja u hodu, s kontrolom u stvarnom vremenu. Pomoću GPIO pinova dostupnih na ploči senzora, možete lako povezati servo, svjetla, senzore, motore ili bilo koji broj fizičkih uređaja, koristeći ih interaktivno ili putem programa Python. Zabavi se!

Za više informacija pogledajte ove druge izvore:

complexarts.net/home/

complexarts.net/docs/bno085/

Preporučeni: