Мазмуну:

MicroPython комплекстүү көркөм сенсордук тактасында: 3 кадам
MicroPython комплекстүү көркөм сенсордук тактасында: 3 кадам

Video: MicroPython комплекстүү көркөм сенсордук тактасында: 3 кадам

Video: MicroPython комплекстүү көркөм сенсордук тактасында: 3 кадам
Video: Вводный урок по программированию ESP32, ESP8266 на MicroPython 2024, Ноябрь
Anonim
MicroPython татаал көркөм сенсордук тактасында
MicroPython татаал көркөм сенсордук тактасында
MicroPython татаал көркөм сенсордук тактасында
MicroPython татаал көркөм сенсордук тактасында

ESP32 микроконтроллеринин эң таң калыштуу аспектилеринин бири анын MicroPython иштетүү жөндөмдүүлүгү. Бул эки жол менен жасалышы мүмкүн: Python программаларын толук иштетүү же консолдук тиркеме аркылуу интерактивдүү. Бул көрсөтмө MicroPythonду кантип колдонуу керектигин көрсөтөт, ал комплекстүү искусство сенсордук тактасын колдонуунун эки жолу. Биз адегенде BNO_085 IMUдан акселерометр маалыматтарын чогулткан мисал тиркемесин иштетебиз, андан кийин Pythonдо интерактивдүү программалоо үчүн сериялык программаны колдонобуз.

Даража: Бул окуу куралы Python жөнүндө бир аз билимге ээ жана Python орнотулган. Ал ошондой эле негизги терминалдык буйруктарды билүүнү болжолдойт.

Куралдар: Бизге керек болгон бир гана курал - бул сенсордук тактасы, терминалдык программа жана сериялык консоль программасы. Macта сиз жөн гана терминалды колдоно аласыз. Windows машинасында сиз терминалдык программаны жүктөп алып, орнотушуңуз керек болот. Сериялык консол үчүн. Putty ар дайым жакшы тандоо болуп саналат.

1 -кадам: Камтылган программаны жана китепканаларды алуу

Баштоо үчүн, биз Complex Arts тарабынан берилген колдонуучунун программасын жүктөп алып, андан кийин аны сенсордук тактага жаркыратышыбыз керек. Камтылган программаны бул жерден тапса болот:

Firmware.bin файлын жүктөп алып, өзүңүз тандаган папкага салыңыз. Сиз ошондой эле акыры Complex Arts мисал программасына муктаж болосуз, андыктан азыр муну кыла аласыз; баруу: https://github.com/ComplexArts/SensorBoardPython жана git clone же тандаган жериңизге жүктөп алыңыз.

Файлдарды алгандан кийин, ESP32 менен иштөө үчүн бизге бир нече пакеттер керек болот. Бизге керек болгон биринчи пакет - esptool.py. Аны орнотуу үчүн жөн эле териңиз

esptool орнотуу

терминалда.

Esptool орнотулгандан кийин, биз чипти тазалап, кайра жаркырата алабыз. Ан үчүн кириңиз

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

порт үчүн, сенсордук тактага дал келген сериялык портту киргизиңиз. Macта, бул окшош болмок --port /dev /ttyUSB0

Бул бүткөндөн кийин, биз чипти жаркырайбыз:

esptool.py --chip esp32 -порт COM4 -аудит 460800 write_flash -z 0x1000 firmware.bin

Дагы, ошого жараша портту өзгөртүңүз.

2 -кадам: MicroPython менен иштөө

MicroPython менен иштөө
MicroPython менен иштөө

Эгерде биз бул учурда сенсордук тактанын сериялык чыгарылышын текшерсек, анда Python REPLди көрөбүз (read-eval-print loop: >>>) Бул үчүн бизге сериялык консолдук программа керек болот. Putty - бул жакшы вариант, анткени ал SSH жана telnet үчүн мүмкүнчүлүктөрдү камсыз кылат, бирок биз жасай турган жөнөкөй сериялык байланыш. putty.org. Аны орноткондон кийин, аны ачып, "Байланыштын түрү" астындагы "Сериялыкты" тандаңыз. Жогорудагы esptool үчүн сиз киргизген сериялык порттун атын, андан кийин Ылдамдык үчүн 115200 бадын ылдамдыгын теришиңиз керек болот. Улантуу жана "Ачуу" баскычын чыкылдатыңыз. Жана Python бар!

Эми биз мисал кодубузду жүктөп, иштеткибиз келет. Ал үчүн сен мурун SensorBoardPython мисалдарын сактаган папкага өт. Бизге Adafruitтин укмуштуу ампи пакети керек болот. Сиз муну орното аласыз:

pip орнотуу adafruit-ampy = 0.6.3

Сизде болгондон кийин, акселерометрдин мисалын тактага жүктөө үчүн ampy колдонуңуз:

ampy -p COM4 акселерометр.py койду

(портту ошого жараша өзгөртүү, албетте). Эми тактаңызды баштапкы абалга келтирүү баскычы менен. Биз бул учурда Puttyге кайтып барабыз жана >>> чакыруусунан териңиз

импорттук акселерометр

Viola! Сиз азыр сенсор тактасында accelerometer.py кодун иштетип жатасыз! Код 20 секунд иштейт, андан кийин токтойт. Акселерометрдин коду иштеп жатканда, борттогу көк LED жарк этип турганын байкаңыз. Python менен көбүрөөк тааныштар үчүн, бул жипсиз жана кечиктирилбестен жасалганын байкайсыз (). Бул Python асинсио китепканасынын колдонулушуна байланыштуу, ал милдеттерди бир убакта иштетүүнүн сонун ыкмаларын камсыз кылат жана ESP32 сыяктуу камтылган платформаларда абдан пайдалуу. Эгерде сиз аны менен тааныш болбосоңуз, анда ал текшерүүгө арзыйт; бул жерде сонун окуу куралы бар: https://github.com/peterhinch/micropython-async/b… (бирок эскерткиле, бул бир аз баш ооруткан).

3 -кадам: MicroPython Over Serial

Колдонулган тапшырмага кайтыңыз! Акселерометрдин коду токтогондо, сиз дагы Python >>> көрөсүз. Эми биз Python тилмечибиз катары сенсордук тактаны колдонуп интерактивдүү программалай алабыз. Ан үчүн кириңиз

>> x = 10

>> y = 11

>> x + y

21

Бул мисалдардын эң негизгиси болсо да, биз татаал кодду баштапкы чекит катары Complex Arts китепканаларын колдонуп оңой эле баштай алабыз. Бул реалдуу убакыт көзөмөлү менен позиционалдык өлчөөлөрдү жана кыймылды чуркап жүрүүгө мүмкүнчүлүк берет. Сенсордук тактада GPIO төөнөгүчтөрү бар болгондуктан, аларды интерактивдүү түрдө же Python программасы аркылуу сервоприводдорду, чырактарды, сенсорлорду, моторлорду же физикалык түзмөктөрдү туташтырсаңыз болот. Көңүл ачуу!

Көбүрөөк маалымат алуу үчүн, бул башка ресурстарды карап көрүңүз:

complexarts.net/home/

complexarts.net/docs/bno085/

Сунушталууда: