Jeffrey Cross
Jeffrey Cross

ЦирцуитПитхон Снакес тхе Ваи то Адафруит Хардваре

У недавној дискусији са Сцоттом Схавцрофтом, инжењером у Адафруит-у, стварно сам био узбуђен. Он је објашњавао њихов прелазак на употребу ЦирцуитПитхон на својим производима, као и користи које би таква транзиција пружила. Једна од главних предности је то што једноставно прикључите уређај и он се појављује као УСБ меморија, а затим испустите свој код на њега. Нема потребе за ИДЕ. Ово није први пут да видим ову карактеристику, али чињеница да ће Адафруитов избор најсавременијих алата за израду прототипова имати ово ме је јако узбудило.

Шта је ЦирцуитПитхон?

ЦирцуитПитхон је фирмвер микроконтролера заснован на МицроПитхону који олакшава програмирање хардвера. За разлику од Ардуина, код корисника није похрањен у самом фирмверу, већ на малом датотечном систему у чипу или на плочи. Као резултат тога, програмирање са ЦирцуитПитхон је једноставно као укључивање плоче у рачунар и уређивање датотеке на диску који се појављује. Није потребан додатни софтвер за почетак рада.

Ардуино је направио револуцију уградивши уклањајући потребу за скупим алатима за трептање приликом промене кода. ЦирцуитПитхон иде корак даље, уклањајући потребу за специфичним драјверима и софтвером.

Ако бисте морали да га сумирате на најједноставнији могући начин, како бисте описали ЦирцуитПитхон?

Мислим да најједноставнија верзија не укључује препознавање ЦирцуитПитхон-а или Питхона као засебног. Једноставно обједињује софтвер и хардвер. Укључите уређај, отворите диск и уредите га на њему. Чување датотеке аутоматски узрокује поновно учитавање. Избаците га као палац и понесите га са собом. Шифра је дио уређаја.

Зашто сте одлучили да примените ЦирцуитПитхон у Адафруит-овим производима?

За мене је то једноставно што је лакше него било шта друго да се користи. ЦирцуитПитхон има веома малу баријеру за улаз јер ради без посебних драјвера (осим серијског на старијим Виндовсима). Није потребно да неки програм програмира као било који обичан текст едитор. Сваки серијски програм се може повезати на њега. Ни једна интернет веза није потребна за програмирање.

Та ниска баријера за улазак чини је савршеном за Адафруит зато што напредујемо у подучавању почетника да креирају и експериментишу са хардвером. Способност ЦирцуитПитхон-а да обједини код са хардвером чини га хакабилнијим него икада. То више није питање слања е-поште неком другом коду, а затим и постављање одређеног софтвера. Само ради.

Да ли ће производи и даље радити са Ардуино ИДЕ-ом?

Да! Нови производи базирани на САМД21 Цортек-М0 + мцу који подржавају ЦирцуитПитхон су такође подржани од Ардуино ИДЕ и Мицрософт МакеЦоде. Сматрамо да почетно уче почетнике са МакеЦоде-ом, а затим напредујемо до ЦирцуитПитхон-а и Ардуино ИДЕ-а је одличан начин да помогнете младим кодерима да расте са својом сложеношћу пројекта.

Зашто овај метод није учињен раније? Или ако јесте, коме треба да захвалимо за постављање темеља?

Покретање Питхон-а на уграђеном је већ покушано са пројектима као што су Питхон-он-а-Цхип и Овл. Међутим, ти пројекти нису пронашли широку публику. МицроПитхон је коначно ипак направио када је покренуо Кицкстартер. Програмери МицроПитхона, укључујући Дамиена Георгеа и Паула Соколовског, заслужују признање за постављање темеља за ЦирцуитПитхон. Направили су напоран рад на поновном имплементирању Питхон 3.4 на микроконтролеру и уређивању кода преко УСБ масовне меморије. Једноставно смо изградили њихов рад како би радили на нашем хардверу и полирали искуство.

Које врсте потешкоћа су укључене у преношење ваших производа на ЦирцуитПитхон? Да ли је ово компликовано? Лако? Ништа страшно?

Пренос производа у ЦирцуитПитхон у великој мери значи њихово премештање на 32-битне микроконтролере. ЦирцуитПитхон не подржава 8-битне микроконтролере, тако да је могуће удаљавање од ат328п и 32у4 до САМД21.

С друге стране, МицроПитхон није имао постојећу подршку за САМД21 (који је чип који се користи на свим нашим М0 плочама). Додавање САМД21 подршке за МицроПитхон доводи до стварања ЦирцуитПитхон. МицроПитхон је имао постојећи појам “портова” који се грубо слаже са породицама микроконтролера као што су породица СТМ32 и породице САМД. Свака породица поседује слично Цортек М језгро, али периферије које имплементирају протоколе као што су УСБ, И2Ц и СПИ се веома разликују. Дакле, изазов додавања подршке за нову породицу микроконтролера је у периферној подршци.

Направили смо много напора да то олакшамо у будућности успостављањем јасног, функционално оријентисаног хардверског АПИ-ја. Овај нови АПИ олакшава додавање хардверске подршке по деловима у нови порт, а истовремено помаже да постојећи управљачки програми и даље раде. У будућности, док се проширујемо на нове микроконтролере, планирамо да додавање портова буде још лакше.

Да ли су потребне измене хардвера да би ЦирцуитПитхон радиле на вашим производима?

Адафруит Феатхер М0 екпресс

Потребно је имати 32-битни микроконтролер, али пре ЦирцуитПитхон-а већ смо имали разнолик сет САМД21 базираних перја. Почетни развој ЦирцуитПитхон-а је изведен на Феатхер М0 Басиц и Ардуино Зеро. ЦирцуитПлаигроунд, Метро, ​​Гемма и Тринкет су ажурирани на САМД21, који омогућава ЦирцуитПитхон и на тим платформама.

За боље искуство ЦирцуитПитхон, увели смо Екпресс линију плоча. Ове плоче имају вањске СПИ Фласх чипове који се користе за спремање Питхон кода извана, умјесто на микроконтролер. То значи да се може похранити више кода (2МБ умјесто 64КБ), а сам фирмваре може изложити више функционалности. Ово су такође прве плоче које имају статус РГБ ЛЕД. Новије не-Екпресс Гемма М0 и Тринкет М0 такође имају РГБ ЛЕД, али немају додатни блиц.

Има ли било каквих недостатака за ЦирцуитПитхон да људи треба да имају на уму док се развијају?

Највећи компромис ЦирцуитПитхон-а (и Питхон-а уопште) је одлука да се приоритетно одреди брзина развоја у односу на меморијски отисак и брзину извршења. Утицај је да, у зависности од пројекта, може доћи до ограничења меморије или ограничења брзине да не би погодили са компилираним решењем као што је Ардуино. На пример, анимација НеоПикел траке можда неће освежити пикселе тако брзо на ЦирцуитПитхон као Ардуино. Или пројекат који зависи од многих библиотека можда неће моћи да има толико функционалности у поређењу са кодом који компајлер може да оптимизује.

То ипак није довољан разлог да се избегне ЦирцуитПитхон. Развојна брзина је много бржа од решења заснованог на компајлеру као што је Ардуино, што је најбоље да испроба пројекат у ЦирцуитПитхон и да касније оптимизује. Обично се покреће довољно брзо јер људи потцењују брзину рачунара.

Оптимизација након писања кода може се обавити на три основна начина:

1) у самом Питхон коду 2) додавањем додатних Ц функционалности у ЦирцуитПитхон фирмверу који је потребан за употребу из Питхона 3) купујући бржи хардвер (Мооров закон и даље утиче на брзине процесора микроконтролера. САМД21 је 48мХз али микроконтролери сличне величине раде на 200 + мхз.)

Дакле, док постоје компромиси, ЦирцуитПитхон је обично право место за почетак.

Где неко може да почне да учи ЦирцуитПитхон? Претпостављам леарн.адафруит.цом, али да ли постоји било где другде?

Тренутно најбоље место за почетак је вођење специфичних производа за Феатхер М0 Екпресс и Гемма М0. Постоје различити пројекти на систему Леарн који већ користе ЦирцуитПитхон (кутија са аркадним дугметом, МПР121 тоуцх контролер и ЛИС3ДХ водич су три). Тони ће такође ажурирати своје старије МицроПитхон водиче на ЦирцуитПитхон, али то је у току. На пример, овај водич ће бити ажуриран. Наши АПИ документи су такође одлично место за много малих примера. На крају, опћи Питхон водичи су врло корисни за почетак рада са свим не-хардверским странама ЦирцуитПитхон-а.

Како мислите да ће овај потез утицати на вашу заједницу?

Мислим да ће прелазак на ЦирцуитПитхон проширити постојећу заједницу Адафруит. То ће довести више почетника на брод због његове ниже препреке за улазак. Савршено се слаже са уграђеном разноврсношћу плоче као што је ЦирцуитПлаигроунд Екпресс. Ова лакоћа употребе такође ће омогућити више људи да допринесу нашој заједници кроз пројекте и библиотеке.

Постојећи чланови наше заједнице ће наставити да нас виде да стварамо иновативне производе и пројекте. ЦирцуитПитхон је само један корак у побољшању искуства софтвера и хардвера отвореног кода.

Његова прва платформа коју је Адафруит спонзорисао (у односу на Ардуино и Распберри Пи који имају одвојене развојне тимове). То нам даје прилику да поставимо тон за нову језгру развојне заједнице, што је веома узбудљиво. Сви наши нови пројекти имају Савез сарадника као Кодекс понашања, који је важан у очувању пријатељске, добродошлице и подржавајуће Адафруит заједнице док се ширимо на развој отвореног кода. Језичка заједница Руст била је велика инспирација за то како се пројекат отвореног кода може добро водити. Емили Дунхам има бројне сјајне приче о њима.

Надамо се да ће овај напор довести до разноликијег броја сарадника у ЦирцуитПитхон, ЦирцуитПитхон библиотекама и водичима за учење.

Удео

Оставите Коментар