Sadržaj:

MicroPython na ploči senzora složene umjetnosti: 3 koraka
MicroPython na ploči senzora složene umjetnosti: 3 koraka
Anonim
MicroPython na ploči složenih umjetničkih senzora
MicroPython na ploči složenih umjetničkih senzora
MicroPython na ploči složenih umjetničkih senzora
MicroPython na ploči složenih umjetničkih senzora

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

Nivo: 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 računaru morate preuzeti i instalirati terminalni program. Za serijsku konzolu. Git je uvijek dobar izbor.

Korak 1: Nabavite firmver i biblioteke

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 postavite je u fasciklu 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 lokaciju po vašem izboru.

Nakon što nabavite 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 poklapa sa senzorskom pločom. Na Macu bi to izgledalo otprilike --port /dev /ttyUSB0

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

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

Ponovo promijenite port u skladu s tim.

Korak 2: Rad s MicroPythonom

Rad sa MicroPythonom
Rad sa 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 unijeti isti naziv serijskog porta koji ste unijeli za gornji esptool, a zatim brzinu prijenosa od 115200 za brzinu. Idite naprijed i kliknite "Otvori". A tu je i Python!

Sada ćemo htjeti učitati i pokrenuti naš primjer koda. Da biste to učinili, idite u mapu u koju ste ranije spremili primjere SensorBoardPython. Trebat će nam odličan Adapruit paket ampy. To možete instalirati pomoću:

pip install adafruit-ampy = 0.6.3

Kada ga imate, upotrijebite ampy za postavljanje primjera akcelerometra na ploču:

ampy -p COM4 staviti accelerometer.py

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

Uvozni akcelerometar

Viola! Sada pokrećete kod accelerometer.py na ploči senzora! Kôd će raditi 20 sekundi, a zatim će se zaustaviti. Primijetite da dok je kod akcelerometra aktivan, plava LED dioda na ploči treperi. Za one koji su upućeniji u Python, primijetit ćete da se to radi bez navoja niti bez odlaganja (). To je zbog upotrebe Pythonove biblioteke asyncio, koja pruža odlične 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 odličan vodič: https://github.com/peterhinch/micropython-async/b… (ali upozoravam, malo je omamljen).

Korak 3: MicroPython preko serije

Nazad na zadatak koji vam je na raspolaganju! Kad se kod akcelerometra zaustavi, ponovno ćete vidjeti Python >>>. Sada možemo interaktivno programirati pomoću ploče senzora 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 kod koristeći biblioteke Complex Arts kao polazište. To vam omogućava da pokrećete mjerenje položaja i kretanje u hodu, uz kontrolu u stvarnom vremenu. Pomoću GPIO pinova dostupnih na ploči senzora, možete lako povezati servo, svjetla, senzore, motore ili bilo koji drugi fizički uređaj, 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čuje se: