Answer the question
In order to leave comments, you need to log in
How to create your own linux distribution for smart home?
How to build an OS using Linux kernel for smart home?
And in general I will be glad to any councils:
- What iron;
- What to learn;
- What literature to read.
We have 5 people.
If clarifications are needed, I will write directly on demand, I am on a similar resource for the 1st time.
Do not offer things like SuseStudio.
Answer the question
In order to leave comments, you need to log in
The topic of smart homes is certainly interesting, but hardware with proprietary software is harder and harder to sell. now for this you need to swell millions in advertising in order to be promoted. just while you are making your piece of iron, then the axis, etc., some kind of Google will release its platform on android and the Chinese will rivet iron / sensors wifi sockets / switches for $ 5. as a result, your 2-3 years of work are down the drain. it is undoubtedly an interesting experience, but is it worth it.
hardware and OS are now already complete, I would rather focus on writing software. do something like majordomo natively on android OS for example. although if you have the resources you can have fun with the OS, it's at least fun and cool.
It all depends on the level of abstraction. As far as I understand (including from the previous question ), you have formed a meaningful desire to launch a certain product on the market. Your desire did not meet the support of the community. But millions of flies can't be wrong!
On the subject: Hardware - for a quick start, choose the architecture that is most understandable to the team. It will take years to learn something new from 0 to the required level. You must be fluent in information about how the selected processor works at the level of electrical signals (timings, external interrupts, etc.)
You must know the assembler of the selected processor and all its features + configuring ports and processor devices (timers, SPI, I2C and much more)
You must know and understand the basics of RTOS. From this point on, you can start thinking about writing an OS.
When choosing the language in which you will write, remember that all this is compiled into machine code (assembler) and you need a language that will allow you to manage all the registers of your processor as efficiently as possible. (IMHO it will be ASM + C)
At the same time, the 2nd part of the team should write application software for your operating system. Which will interact with your OS.
And answer the questions, what operations / functions will your OS perform?
How will the application program(s) interact with the OS?
How will sensors and actuators interact with the OS?
P.S. I forgot to add about the BIOS, first you need to write the BIOS, and then proceed to the OS
Different iron can be used, here your specific tasks should be. You can Raspberry Pi3, you can also Arduino, or you can send data from IoT devices to the cloud, and process them there. But I would recommend Raspberry. Although ready-made kits for a smart home based on Arduino are sold.
I don’t think it makes sense to create your own OS for this, Raspbian will be enough (at least to start).
Read the literature on Shell progrmming and C/C++.
[humor] Plan9 vs QNX [/humor]
And now about the serious:
1. It is necessary to determine what exactly the "smart home" will do.
1.1. If this is a banal light control, then ATMega8 is enough for the eyes (yes, at least Arduino);
1.2. If you add a video, then already XMega;
1.3. Add "to the heap" voice control and a variety of sensors, then ARM in any version (the most affordable, these are all versions of PI - bananas, raspberries, etc.);
2. In the first case, the assembler will be optimal, in the second variation C, in the third it is better (in my opinion) Python, because the speed of development and debugging.
3. A list of references can be googled in a minute. It is better to use original, non-translated literature (translators often miss important points in program comments).
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question