The main aim of the project is to develop a system that will provide remote control of bedroom appliances and give the intelligent to all the appliances so they can communicate with each other and able to take decision by themselves. Our primary focus on security and processing of data. This paper is mainly concerned with the automatic control of bedroom appliances with virtual intelligence.
We can remotely access our bedroom appliances like Fan, light, door, Coffee/Tea maker, geyser by using android/iso app. In this we provide intelligence to alarm, coffee/tea maker, geyser. Imagine your alarm clock would know that your train to work is 15 min late and so it adjust accordingly. Also your coffee/tea maker is switched on automatically on the basis of alarm and weight sensor so you will get hot cup of bed tea. After that it will automatically turn on the geyser so the you will get warm water for bath till you complete cup of coffee/tea.
Main door of bedroom will automatically close in night after predefine time (say 10 pm etc.) so it will increase security.
By using Smoke detector we can save our bed room from fire. If smoke is above threshold then it will turn on the water sprinkler also it will send corresponding massage/email to authorize person.
Camera will keep data of all person enter in room also it will send massage/email if any unauthorized person enter into room.
4. Smoke Detector
5. Weight sensor
6. Coffee/Tea maker
11. Water sprinkler
Server: Form own cloud on AWS platform
App Development: Android studio
1. Embedded Programming Skills - In C/C++ and RTOS for device/thing level development. This is typical but you could also have sophisticated devices that have more resources and you could be programming in Node/JS for example. Certain IoT Gateway level programming would also fall into this category.
2. Cloud Development - On a PaaS such as AWS or Azure
3. Tablet or Smartphone app that accompany the IoT application/solution - This could be Android, IoS etc.
What kind of software engineering opportunities are there in the Internet of Things?
1. Embedded / Firmware Programming: Programming devices and things - typically firmware or embedded. Languages generally are C/C++ and in some cases could be Java and even Node.js (although it is rare)
2. Cloud Programmers - this could be numerous combinations of languages, frameworks and cloud providers. For example Python/Tornado, Java EE, Node.js/Express etc.
3. Distributed Programming - IOT Apps are decentralized and distributed in nature - let me explain - an IoT app involves software running across different devices to achieve its goal - on the device, in the Cloud, on a Smartphone, on a Gateway etc.
4. IOS/Android and other Smartphone Programming to build apps for consumers, maintenance, management facets of IoT
The above was more based on where the software is running, here is another look at it:
5. Protocol Programming - Programmers can bring protocol expertise to the table - MQTT, Messaging / MQ, TCP/IP, Web APIs, XMPP, DDS, AllSeen, ZigBee, Z-Wave, Thread, CoAP, 6LoWPAN etc.
6. Realtime Programming / Processing
7. Analytics - IoT data