d_kishkinev (d_kishkinev) wrote,
d_kishkinev
d_kishkinev

Diving into the rabbit hole...

Новый постдок, который начинаю в мае, подразумевает работу с custom made embedded systems: маленькие PCB с радио микро-генератором, GPS трекеров и возможно еще дополнительными сенсорами. Плюс нужно уметь мерить радиочастотные спектры и их понимать. Работа будет связана с пониманием того, как антропогенное электромагнитное излучение может влиять на магнитную ориентацию птиц в природе.

Если даже заказывать изготовление оборудование на стороне, то по крайней мере нужно достаточно глубо понимать матчасть и уметь на техническом языке разъяснить инженерам, что я хочу от них, а по максиму так и умение самому быть хотя бы примитивным, но всё же embedded systems developer. Конкретно, нужно заказать и сделать миниатюрную электронную плату(PCB), на которой будет генератор радио-частот, управляемый от ATTiny микро-контроллера. Прототип + программа на C у меня есть, но нужно это воплотить в маленькую серию и модифицировать, а для этого нужно понимать схемотехнику, и программирование на C, и signal processing. Хотя бы немного.

Ну и понеслось. Просто понял, как падаю в кроличью нору. Сначала я решил, что мне не хватает просто скриптов в R, а нужно подтянуть матчасть по реальному OOP (объектно-ориентированному программированию) с распространненым и мощным языком высокого уровня. Это скорее для signal processing и для иных проектов, и для общего понимания программирования на современном уровне. Был проглочен огромный и подробный курс по Python на Udemy. Там и основы БД (SQLite). Плюс разное по мелочи по тому же Питону.

Далее взялся и сейчас заканчиваю книжку C Programming by Mike McGrath. После Питона всё просто и понятно.

Далее нужно уметь писать и понимать C программы для AVR микроконтроллеров, которые я и буду использовать (распространенные, дешевые, достаточные). Накачал книжек. На днях перейду к чтению Make: AVR programming by Elliot Williams (2014). Ну и за плечами вводные курсы и tutorials по Arduino и прочим Embedded Systems. Однако обычно это всё кончается "wow, лапочка мигает, а проги можно взять готовые из нета". Но мне не просто про blinking LED. Мне нужно глубже понимать, и не на Ардуино + готовые snippets из сети, а самому соединить на плате ATTiny + генетатор радиочастот + уметь читать datasheets. Еще ведь и в схемотехнике + CAD немного придется разобраться. Заказывать PCB я конечно буду у сторонних фирм.

Ну и основы signal processing нужно знать (это вообще общие понятие о том, как сигналы, включая радио сигналы, обрабатываются). Сначала начал смотреть курсы от MIT здесь Signals and Systems (читает некий Chris Freedman). Всё хорошо, но я уже честно говоря подзабыл некоторые вещи из школьной программы. Нашел вот тут сайт бывшего препа из Уни Висконсина, некоего Barry van Veen. Сайт AllSignallProcessing.com вроде бы очень понятно всё разъясняет.

Но вообще конечно нужно постоянно учиться. Голова пухнет, но куда деваться. Чтобы оставаться на месте и даже обгонять других, т.е. чтобы быть конкурентноспособным здесь, нужно больше других работать. Может быть даже потихоньку выберусь из только до этого своей привычной колеи animal behaviour и приобрету новые знания, умения и навыки. В крайнем случае, умение самому программирова, делать геолокаторы, радио-трансмиттеры (и давать их другим за соавторство), мерить спектры и прочее будет career leverage для разного рода коллобораций. Ну и в индустрии на хлеб с маслом точно можно заработать, если из постдочной стадии не удастся выйти (хотя думаю выберусь).
Tags: education, electronics, iot, it, mooc, programming, science
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 5 comments