How to get started with Internet of things?

Monday, September 2, 2019

In recent times, Internet of things has evoked greater interest among technical folks particularly from learning perspective. Generally, most common questions revolves around like how to get started ? OR I have good programming knowledge what would be next step towards learning IOT ? OR already into analytics / ERP and now I understand, IOT would play a part in analytics or ERP in future, so how do I get started?.

 Yes, IOT can even be considered as subset or part of Machine learning, Analytics or even Artificial intelligence, as sensor data might play significant role in all this. 

 Generally, pure software development is much more matured, one would find clear line drawn on role like - Database administrator, DB developer or front end UI developer etc But even in software development in recent times, with optimization or call it 'cost cutting' we also come across term like 'full stack' developer, who are expected to take care of front-end and back-end. Currently, IOT is also similar and its evolving. One need to have good understanding of all layers of IOT.

 Lets briefly look at different layer in IOT:

 1. Understanding about Sensor and control This part is more of electrical and electronics rather than programming. Ideally, measures the physical parameters such as light, heat, weight etc converts them into necessary signal for processing. Folks with pure programming background might find it difficult. However, if one has basic understanding as how electrical, electronics circuits work, it would be far easier to understand. One need to have some basic knowledge about Ohms law, AC/DC voltage, resistors , capacitors, power-supply etc along with some basics on digital circuits as well. Traditionally Sensor or Transducer was analog type, meaning its mv output or resistance used to vary. But, these days digital sensors too are common, which means one can directly feed the data into the input pins of IOT device, without the need for analog to digital conversion.

 2. IOT Devices IOT devices are the trigger for the growth of IOT in recent time. About a decade back, one need to build complete electronic circuit starting with a bare microprocessor(8085) or micro-controller (80C31). Internet or cloud were never used earlier. With internet catching up in late 90's and micro-controllers too evolved into a modular construct of having necessary associated circuit in place to make it as 'plug and play' type. Arduino boards were the first general purpose micro-controller board which got introduced in mid 2000, which had all the necessary electronic components and circuit in place, so that one could feed digital or analog (using its A/D Input pins) signal to the board. Post which, one can use C/C++ programming to acquire the data, process it and then based on processing send out digital signal to actuator or relay to control process. But still with early Arduino's (uno) the capability to connect to internet was missing. One had to use external ethernet board or wifi unit to connect to Internet to make it IOT ready, which led to complexity in Interfacing.

 After 2010, low cost Raspberry pi got introduced, it was introduced as single board computer towards kids learning. But interestingly, it has features to connect to external world through input-output pin, built in wifi to communicate to Internet, Linux OS and hence with multiple programming language support. Added to this, low pricing of about 35 USD, made its growth exponential and it also redefined the approach and cost to IOT.

 Also, in last few years Node MCU - ESP8266/32, the ultra low cost IOT device (approx.5 USD) make it even more simpler and cost effective towards building IOT applications. These IOT devices are still evolving and maturing, hence I believe as time progress, one would get better one - both feature and cost wise. Interestingly, Intel who had earlier offered IOT board like Intel Galileo, Joule, and Edison discontinued them towards end 2017.

Not sure, whether it was because of pricing impact made by Raspberry, Node MCUs. There are few other IOT devices from other vendors too but there quite a lot of similarities to the above described one.

 3. IOT platform To make it complete, the devices need to communicate anywhere across the world using internet for which cloud based platform are required. This is required, so that data acquired by IOT devices can be sent to IOT platform for storage and further processing, including analyses of data captured towards any decision making, as IOT devices are resource contained one There are multiple IOT platform - Azure, AWS, Google, Oracle and many more. Some of them are open source or free for limited time period for testing, learning as well. Have found Thinkspeak and Cayanne (mydevices) quite interesting and innovative too. Cayannce (mydevices.com) is 'plug and play' type IOT platform. There are many more.

 4. Programming and protocols. For integration of all these, one need to use programming language along with appropriate protocols towards communication. Python, Java, Javascript, C/C++ are most commonly used. In case of highly constrained IOT device - ESP8266/32, micropython is used in recent times. On protocols - MQTT, REST API, HTTP and associated protocols are generally used. For most IOT applications, high internet bandwidth may not be critical - meaning small data-set or messages is what would be sent to internet, at the same point of time the devices data communication need to have higher geographical reach - LORAWAN (long range wide area network) protocol is used, which is at infant stage and expected to grow over period of time. This is exactly opposite of wifi network - which is high internet bandwidth for bulk data and data communication reach is fairly less (say 10 meters) from wifi routers point.

 Finally, IOT field is evolving and also Gartner predicts by 2020, its estimated that more than 20.8 billion IoT devices will be in use.

Hence, could open up plethora of opportunities for techies in near future. These days, number of institutes and professionals are offering both instructor led and online courses covering above. Towards, quicker learning, one could join them post due diligence considering the course coverage and with ROI in mind.


Read more! Read more...

Data modelling and Relational database design

Sunday, January 20, 2019

Modern database and applications development software is so easy to use that  many  people  can  quickly  learn  to   implement  a  simple  database  and  develop  simple  applications  within  a  week  or  so,  without  giving  design  much thought. As data volume grows and when users request addition functionality, they might incorrectly add columns in table since appropriate database design is not available. This  not only causes data redundancy in database but also can cause performance issue to application and database as well. Ultimately, due to poor database design, the business would be the loser.

A good database design not only avoids data redundancy but also improves database performance over period of time as the database volume grows and when business changes are requested , it would be far more easier to understand as where to make the appropriate changes in the Database. The data modelling and database design is like a building blue print and ultimately it would  make application users happy and business would benefit.

Have published as course in Udemy. This course uses the Oracle SQL Data modeler extensively to discuss and demonstrate  Database modelling  and Database design.

Oracle SQL Data modeler is a tool, which make learning Data modelling and Database design much easier and also provides you with  a professional approach design database for business application effectively to plan, develop, implement and maintain them on an ongoing process.
In this course you would learn:
  • Process Modelling
    • Develop a Data Flow Diagram by identifying processes, external agents, information stores and information flows that show how the information flows  Business flow Diagram
  • Logical Model
    • Create an Entity Relationship Diagram by identifying entities, attributes, relationships.
    • Normalize the Entity Relationship Diagram to third Normal form

  • Relational Model
    • Validate  Logical and Relational Model through Design rules
    • Engineer the Entity Relationship Model into an relational database design
    • Complete the Physical Model and generate the DDL scripts
Finally, at the end of the course, you would understand the importance of data modelling and database design.

To know more about this course, please  click here to know more details and for enrollment in the course


Read more! Read more...

  © Blogger template Noblarum by Ourblogtemplates.com 2009

Back to TOP  

Visit blogadda.com to discover Indian blogs Blog Ratings International Business Blogs - BlogCatalog Blog Directory Blog Flux Directory blogarama - the blog directory Top Blogs - Increase SEO of Your Blog, Blogging Resources Computers Blog Directory