Как начать программировать микроконтроллеры на гаджеты? С чего начать?

Уважаемые друзья, говоря честно, такого вопроса не нашел, поэтому хочу вас спросить более конкретно. Я более-менее продолжительное время пишу front-end на стандартном стеке(html, css, uikit/bootstrap3, grunt, javascript, angular) + балуюсь с питоном(Django) + знаю SQL, включая mysql и postgresql + mongodb.
Опыта написания программ на C/C++ нет, хотя раньше неплохо писал на Java, но забросил язык из-за его тупости и корявости. Ранее никогда не имел дел с программированием микроконтроллеров и даже не представляю, как это происходит и на чем лучше осуществлять свои идеи. На данный момент для тесто хочу сделать небольшую какую-нибудь финтифлюшку : маленького робота на колесиках, какой-нибудь браслет, который датчиком считает сердцебиение. Позже хочу доучить Swift с эпловским китом и выводить эти данный на телефон.
1) Учитывая мой стек, можно ли как-нибудь начать с ним писать и выводить это куда-то?
2) Когда мы пишем приложение на iOS, то сам app на телефоне мы пишем на Swift. А ПО на микропроцессоре на чем мы пишем, чтобы оно принимало ввод с телефона и позволяло делать вывод в БД?
3) Как научиться конфигурировать все детали вместе, чтобы изготовить, например, свой браслет-счетчик сердцебиения?

Заранее спасибо!
  • Вопрос задан
  • 1077 просмотров
Пригласить эксперта
Ответы на вопрос 4
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
Ваш стек даром не нужен для гаджетов. Объясню почему. У меня есть часы Moto 360. Они работают 20 часов с момента полного заряда. Какой-то недоумок реализовал для них банальный таймер (включили - отсчет пошел) на java. Работа этого таймера садит батарею за ДВА ЧАСА. Программисты, которые учились на высоко-высоко уровневых языках ничерта не понимают в том, что они делают, применяя на себе закон дырявых абстракций (отправляйтесь читать блог Спольски) в полную силу. Хороший программист сделал бы это на нативном C, задействуя аппаратный таймер процессора часов и не выжирая батарею.

Чтобы заниматься тем, что вы тут пожелали, начните хотя бы с месячного интенсива по C. Именно по C, а не C/C++. Когда будете понимать, что такое регистровая переменная и как параметры передаются в функцию - можно будет только лишь подумать о смене квалификации. Успехов.
Ответ написан
@vilgeforce
Раздолбай и программист
Микроконтроллеры это C/C++, цифровая схемотехника и специфичные протоколы типа I2C/SPI/CAN и т.п. Учите C, когда сможете написать что-то сложнее Hello World без внешних библиотек и фреймворков - берите отладочную плату и вникайте в специфику МК.
Ответ написан
Комментировать
coderisimo
@coderisimo Куратор тега JavaScript
Мне тоже эта тема была интересна! Начал с того что купил простенькую платку ардуино и несколько датчиков.
Насколько я знаю raspberry pi дружит с Пайтоном, но можно обойтись и без его. Я реализовывал взаимодействие с ардуино через телефон на андроиде и блю тус. Там все более, чем просто. Делал автоматическую кормилку для кошки. Через блю тус устанавливал время кормления. Мне кажется главное создать простейшее устройство. В процессе появится незаменимый опыт и придет понимание, куда копать дальше.
Удачи
Ответ написан
Комментировать
@poznawatel
начинающий разработчик ЧПУ
На Ваш опыт высокоуровневого программирования идеально ляжет Micropython, его железо мощнее и компактнее Ардуин и вместе с тем нет возни с ОС. Начните, например, с pyboard lite v1.0 и родных расширений - шилды, сервы, вот и будет Вам робот. Удобно с ним то, что барьер входа отсутствует, всё начинает работать сразу "из коробки" micropython-ru.readthedocs.io/ru/latest/contents.html без шаманств и долгого изучения С-ей.
Для 99, 9% задач, которые я могу вообразить, связки Python+Micropython хватит, а сэкономленное время лучше потратьте на изучение прикладной схемотехники.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы