I
I
Itvanya2015-10-25 12:27:20
Python
Itvanya, 2015-10-25 12:27:20

How to start programming microcontrollers on gadgets? Where to begin?

Dear friends, to be honest, I did not find such a question, so I want to ask you more specifically. I have been writing front-end on the standard stack for more or less a long time (html, css, uikit/bootstrap3, grunt, javascript, angular) + playing around with python (Django) + knowing SQL, including mysql and postgresql + mongodb.
I have no experience in writing programs in C / C ++, although I used to write well in Java, but abandoned the language because of its stupidity and clumsiness. I have never dealt with programming microcontrollers before and I can’t even imagine how it happens and what is the best way to implement my ideas. At the moment, for the dough, I want to make some kind of small gadget: a small robot on wheels, some kind of bracelet that considers the heartbeat as a sensor. Later I want to finish learning Swift with the Apple whale and display these data on the phone.
1) Given my stack, is it possible to somehow start writing with it and output it somewhere?
2) When we write an application on iOS, then we write the app on the phone in Swift. And the software on the microprocessor, what do we write on, so that it accepts input from the phone and allows you to make output to the database?
3) How to learn how to configure all the details together in order to make, for example, your own heartbeat tracker bracelet?
Thanks in advance!

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
Armenian Radio, 2015-10-25
@gbg

Your stack is not needed for nothing for gadgets. I'll explain why. I have a Moto 360 watch. It lasts 20 hours from a full charge. Some idiot implemented a banal timer for them (turned on - the countdown started) in java. Running this timer drains the battery in TWO HOURS. Programmers who have learned high-level languages ​​don't understand anything about what they're doing, applying the law of leaky abstractions to themselves (go read Spolsky's blog) in full force. A good programmer would do this in native C, using the clock processor's hardware timer and not draining the battery.
To do what you want here, start at least with a monthly intensive in C. It is in C, not C / C ++. When you understand what a register variable is and how parameters are passed to a function, you can only think about changing qualifications. Good luck.

V
Vladimir Martyanov, 2015-10-25
@vilgeforce

Microcontrollers are C/C++, digital circuitry and specific protocols like I2C/SPI/CAN etc. Learn C when you can write something more complicated than Hello World without external libraries and frameworks - take a debug board and delve into the specifics of MK.

C
coderisimo, 2015-10-25
@coderisimo

I was also interested in this topic! I started by buying a simple Arduino board and a few sensors.
As far as I know, raspberry pi is friends with Python, but you can do without it. I implemented interaction with arduino through an android phone and bluetooth. Everything is more than simple. I made an automatic cat feeder. Through the bluetooth set the time of feeding. It seems to me that the main thing is to create the simplest device. In the process, irreplaceable experience will appear and an understanding will come of where to dig further.
Good luck

P
poznawatel, 2017-08-27
@poznawatel

Micropython is ideal for your high-level programming experience, its hardware is more powerful and compact than Arduin and at the same time there is no fuss with the OS. Start, for example, with pyboard lite v1.0 and native extensions - shields, servos, and that's the robot for you. It is convenient with him that there is no entry barrier, everything starts working immediately "out of the box" micropython-ru.readthedocs.io/ru/latest/contents.html without shamanism and long study of C.
For 99.9% of the tasks that I can imagine, the Python + Micropython bundle is enough, and the time saved is better spent learning applied circuitry.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question