INHOUDSOPGAWE:

MicroPython op die Complex Arts Sensor Board: 3 stappe
MicroPython op die Complex Arts Sensor Board: 3 stappe

Video: MicroPython op die Complex Arts Sensor Board: 3 stappe

Video: MicroPython op die Complex Arts Sensor Board: 3 stappe
Video: Master GPIO with Raspberry Pi Pico & MicroPython - Uncover the Secrets! 2024, November
Anonim
MicroPython op die Complex Arts Sensor Board
MicroPython op die Complex Arts Sensor Board
MicroPython op die Complex Arts Sensor Board
MicroPython op die Complex Arts Sensor Board

Een van die wonderlikste aspekte van die ESP32 -mikrobeheerder is die vermoë om MicroPython uit te voer. Dit kan op twee maniere gedoen word: volledige Python -programme uitvoer, of interaktief deur 'n konsole -toepassing. Hierdie instruksie sal demonstreer hoe om MicroPython op beide maniere te gebruik deur die Complex Arts Sensor Board te gebruik. Ons sal eers 'n voorbeeldprogram uitvoer wat versnellingsmeterdata van die BNO_085 IMU versamel, dan gebruik ons 'n reeksprogram om interaktief in Python te programmeer.

Vlak: Hierdie tutoriaal veronderstel kennis van Python en dat Python geïnstalleer is. Dit veronderstel ook kennis van basiese terminale opdragte.

Gereedskap: die enigste gereedskap wat ons benodig, is die sensorbord, 'n terminale program en 'n seriële konsole -program. Op 'n Mac kan u eenvoudig terminale gebruik. Op 'n Windows -masjien moet u 'n terminale program aflaai en installeer. Vir die reekskonsole. Putty is altyd 'n goeie keuse.

Stap 1: Kry die firmware en biblioteke

Om aan die gang te kom, moet ons die aangepaste firmware wat deur Complex Arts verskaf word, aflaai en dit dan na die sensorbord flits. Die firmware kan hier gevind word:

Laai die firmware.bin -lêer af en plaas dit in die gids van u keuse. U het uiteindelik ook die Complex Arts -voorbeeldprogram nodig, so u kan dit net sowel doen; gaan na: https://github.com/ComplexArts/SensorBoardPython en git kloon of laai af na die plek van u keuse.

Sodra u die lêers gekry het, benodig ons 'n paar pakkette om met die ESP32 te skakel. Die eerste pakket wat ons benodig, is esptool.py. Tik eenvoudig om dit te installeer

pip installeer esptool

in die terminale.

Sodra esptool geïnstalleer is, kan ons die chip uitvee en dan weer flits. Om dit te doen, voer in

esptool.py -chip esp32 --port COM4 erase_flash

vir die poort, voer die seriële poort in wat saamval met die sensorbord. Op 'n Mac sou dit iets soos --port /dev /ttyUSB0 lyk

Sodra dit klaar is, flits ons die chip met:

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

Verander weer die poort dienooreenkomstig.

Stap 2: Werk met MicroPython

Werk met MicroPython
Werk met MicroPython

As ons die seriële uitset van die sensorbord op hierdie punt nagaan, sien ons die Python REPL (die lees-eval-druklus: >>>) Om dit te kan doen, benodig ons 'n seriële konsole-program. Putty is 'n goeie opsie, aangesien dit opsies bied vir SSH en telnet, maar ook eenvoudige seriële kommunikasie, soos ons hier sal doen. putty.org. Sodra u dit geïnstalleer het, maak dit oop en kies 'Serial' onder 'Verbindingstipe:' U moet dieselfde seriële poortnaam invoer as wat u vir die esptool hierbo ingevoer het, dan 'n baud rate van 115200 vir die snelheid. Gaan voort en klik op "Open". En daar is Python!

Nou wil ons ons voorbeeldkode oplaai en laat loop. Om dit te doen, gaan na die gids waar u die SensorBoardPython -voorbeelde vroeër gestoor het. Ons het die wonderlike ampy -pakket van Adafruit nodig. U kan dit installeer met:

pip installeer adafruit-ampy = 0.6.3

Sodra u dit het, gebruik ampy om die voorbeeld van die versnellingsmeter op die bord op te laai:

ampy -p COM4 sit versnellingsmeter.py

(natuurlik verander die poort dienooreenkomstig). Stel nou u bord terug met die reset -knoppie. Ons gaan op hierdie stadium terug na Putty en by die >>> prompt, tik

invoer versnellingsmeter

Altviool! U gebruik nou die accelerometer.py -kode op die sensorbord! Die kode loop vir 20 sekondes en stop dan. Let op dat die blou LED op die bord terwyl die versnellingsmeterkode werk, flikker. Vir diegene wat meer vertroud is met Python, sal u sien dat dit sonder threading en sonder vertraging () gedoen word. Dit is te danke aan die gebruik van Python se asyncio -biblioteek, wat uitstekende metodes bied om take gelyktydig uit te voer en baie nuttig is op ingebedde platforms soos die ESP32. As u dit nie ken nie, is dit die moeite werd om na te gaan; daar is 'n wonderlike tutoriaal hier: https://github.com/peterhinch/micropython-async/b… (maar wees gewaarsku, dit is 'n bietjie beroerd).

Stap 3: MicroPython Over Serial

Terug na die taak wat voorlê! As die versnellingsmeterkode stop, sien u weer die Python >>>. Nou kan ons interaktief programmeer met behulp van die Sensor Board as ons Python -tolk. Om dit te doen, voer in

>> x = 10

>> y = 11

>> x + y

21

Alhoewel dit die mees basiese voorbeelde is, kan ons maklik meer komplekse kode begin skep met die Complex Arts -biblioteke as uitgangspunt. Dit stel u in staat om posisionele metings en beweging onmiddellik uit te voer, met intydse beheer. Met die GPIO -penne wat op die sensorbord beskikbaar is, kan u servo's, ligte, sensors, motors of enige aantal fisiese toestelle maklik koppel, interaktief of via 'n Python -program. Hê pret!

Vir meer inligting, kyk na hierdie ander bronne:

complexarts.net/home/

complexarts.net/docs/bno085/

Aanbeveel: