Thursday, October 12, 2017

Build android app with youtube playlist

Build android app with youtube playlist

Below code snippets will explain how to integrate Youtube Playlist in our Android Application to make a Youtube Player. This app will retrieve playlist from youtube API and show it in list. Onclick of the videos will play the videos.




Get youtube playlist from youtube API by passing playlist string in a thread.

private void searchOnYoutube(final String playList){
  new Thread(){
   public void run(){
    YoutubeConnector yc = new YoutubeConnector(SearchActivity.this);
    //searchResults = yc.search(keywords);
    searchResults = yc.playList(playList);
    handler.post(new Runnable(){
     public void run(){
      updateVideosFound();
     }
    });
   }
  }.start();
 }


Get list of thumbnail image, title and description of the playlist

private void updateVideosFound(){
  ArrayAdapter<VideoItem> adapter = new ArrayAdapter<VideoItem>(getApplicationContext(), R.layout.video_item, searchResults){
   @Override
   public View getView(int position, View convertView, ViewGroup parent) {
    if(convertView == null){
     convertView = getLayoutInflater().inflate(R.layout.video_item, parent, false);
    }
    ImageView thumbnail = (ImageView)convertView.findViewById(R.id.video_thumbnail);
    TextView title = (TextView)convertView.findViewById(R.id.video_title);
    TextView description = (TextView)convertView.findViewById(R.id.video_description);
    
    VideoItem searchResult = searchResults.get(position);
    
    Picasso.with(getApplicationContext()).load(searchResult.getThumbnailURL()).into(thumbnail);
    title.setText(searchResult.getTitle());
    description.setText(searchResult.getDescription());
    return convertView;
   }
  };   
  
  videosFound.setAdapter(adapter);
 }

Connect to youtube API and get details

public YoutubeConnector(Context context) {
  youtube = new YouTube.Builder(new NetHttpTransport(),
    new JacksonFactory(), new HttpRequestInitializer() {
   @Override
   public void initialize(HttpRequest hr) throws IOException {}
  }).setApplicationName(context.getString(R.string.app_name)).build();

  try{
   query = youtube.search().list("id,snippet");
   query.setKey(KEY);
   query.setType("playlist");
   query.setFields("items(id/playlistId,snippet/title,snippet/description,snippet/thumbnails/default/url)");


   playListItemList = youtube.playlistItems().list("id,contentDetails,snippet,status");
   playListItemList.setKey(KEY);
   playListItemList.setFields("items(id,status/privacyStatus,snippet/description,snippet(title,thumbnails/default/url),contentDetails)");
   playListItemList.setMaxResults((long) 50);


  }catch(IOException e){
   Log.d("YC", "Could not initialize: "+e);
  }
 }

Store playlist items in list

public List<VideoItem> search(String keywords){
  query.setQ(keywords);
  try{
   SearchListResponse response = query.execute();
   List<SearchResult> results = response.getItems();

   List<VideoItem> items = new ArrayList<VideoItem>();
   for(SearchResult result:results){
    VideoItem item = new VideoItem();
    item.setTitle(result.getSnippet().getTitle());
    item.setDescription(result.getSnippet().getDescription());
    item.setThumbnailURL(result.getSnippet().getThumbnails().getDefault().getUrl());
    item.setId(result.getId().getVideoId());
    items.add(item);
   }
   return items;
  }catch(IOException e){
   Log.d("YC", "Could not search: "+e);
   return null;
  }
 }

 public List<VideoItem> playList(String playList) {

  //final String[] playlistIds = params[0];


  try {

   playListItemList.setPlaylistId(playList);

   PlaylistItemListResponse playlistItemListResponse = null;
   playlistItemListResponse = playListItemList.execute();


   List<VideoItem> items = new ArrayList<VideoItem>();

   for (int i=0;i<playlistItemListResponse.getItems().size();i++){

    VideoItem item = new VideoItem();
    item.setTitle(playlistItemListResponse.getItems().get(i).getSnippet().getTitle());
    item.setDescription(playlistItemListResponse.getItems().get(i).getSnippet().getDescription());
    item.setThumbnailURL(playlistItemListResponse.getItems().get(i).getSnippet().getThumbnails().getDefault().getUrl().replace("default","hqdefault"));
    //item.setThumbnailURL(playlistItemListResponse.getItems().get(i).getSnippet().getThumbnails().getDefault().getUrl());
    item.setId(playlistItemListResponse.getItems().get(i).getContentDetails().getVideoId());
    items.add(item);
   }
   return items;
  } catch (IOException e) {
   e.printStackTrace();
   return null;
  }
 }
 


Add onclicklistner and onclick of video from playlist play the video

private void addClickListener(){
  videosFound.setOnItemClickListener(new AdapterView.OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> av, View v, int pos,
     long id) {    
    Intent intent = new Intent(getApplicationContext(), PlayerActivity.class);
    intent.putExtra("VIDEO_ID", searchResults.get(pos).getId());
    startActivity(intent);
   }
   
  });
 }

public class PlayerActivity extends YouTubeBaseActivity implements OnInitializedListener {
 
 private YouTubePlayerView playerView;
 
 @Override
 protected void onCreate(Bundle bundle) {
  super.onCreate(bundle);
  
  setContentView(R.layout.activity_player);

     playerView = (YouTubePlayerView)findViewById(R.id.player_view);
     playerView.initialize(YoutubeConnector.KEY, this);         
 }

 @Override
 public void onInitializationFailure(Provider provider,
   YouTubeInitializationResult result) {
  Toast.makeText(this, getString(R.string.failed), Toast.LENGTH_LONG).show();
 }

 @Override
 public void onInitializationSuccess(Provider provider, YouTubePlayer player,
   boolean restored) {
  if(!restored){   
   player.cueVideo(getIntent().getStringExtra("VIDEO_ID"));
  }
 }
}

activity_player.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <com.google.android.youtube.player.YouTubePlayerView        
        android:id="@+id/player_view" 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    

Share:

Wednesday, September 20, 2017

Introduction to Artificial Intelligence (AI) and Machine Learning

Introduction to Artificial Intelligence (AI) and Machine LearningArtificial Intelligence

Artificial Intelligence (AI) is a way to make machines think and behave intelligently. These machines are controlled by software inside them, so AI has a lot to do with intelligent software programs that control these machines. AI is also Intelligence demonstrated by machines  replicating the human capability.

It is a science of finding theories and methodologies that can help machines understand the world and accordingly react to situations in the same way that humans do.

Applications of AI

  • Computer Vision: These are the systems that deal with visual data such as images and videos. These systems understand the content and extract insights based on the use case.
  • Natural Language Processing: This field deals with understanding text. We can interact with a machine by typing natural language sentences. Search engines use this extensively to deliver the right search results.
  • Speech Recognition: These systems are capable of hearing and understanding spoken words. Speech recognition is the ability of a machine or program to identify words and phrases in spoken language and convert them to a machine-readable format
  • Expert Systems: These systems use AI techniques to provide advice or make decisions. They usually use databases of expert knowledge areas such as finance, medicine, marketing, and so on to give advice about what to do next.
  •  Games: AI is used extensively in the gaming industry. It is used to design intelligent agents that can compete with humans
  • Robotics: Robotic systems actually combine many concepts in AI. These systems are able to perform many different tasks. Depending on the situation, robots have sensors and actuators that can do different things.

Branches of AI

  • Machine learning and pattern recognition: This is perhaps the most popular form of AI out there. We design and develop software that can learn from data. Based on these learning models, we perform predictions on unknown data.
  • Logic-based AI: Mathematical logic is used to execute computer programs in logic-based AI. A program written in logic-based AI is basically a set of statements in logical form that express facts and rules about a particular problem domain. This is used extensively in pattern matching, language parsing, semantic analysis, and so on.
  • Search: The Search techniques are used extensively in AI programs. These programs examine a large number of possibilities and then pick the most optimal path.
  • Knowledge representation: The facts about the world around us need to be represented in some way for a system to make sense of them. The languages of mathematical logic are frequently used here. If knowledge is represented efficiently, systems can be smarter and more intelligent.
  •  Planning: This field deals with optimal planning that gives us maximum returns with minimal costs.
  • Heuristics: A heuristic is a technique used to solve a given problem that's practical and useful in solving the problem in the short term, but not guaranteed to be optimal. This is more like an educated guess on what approach we should take to solve a problem.
  • Genetic programming: Genetic programming is a way to get programs to solve a task, by mating programs and selecting the fittest.

Machine Learning

Machine Learning(ML) is the science of creating algorithms and program which learn on their own. Once designed, they do not need a human to become better. 

Machine Learning is the subfield of computer science that "gives computers the ability to learn without being explicitly programmed". 

“A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E”.

Applications and uses

  • Manufacturing
    • Demand forecasting
    • Telemeters
    • Predictive maintenance  
  •     Retail
    • Predictive Inventory planning
    • Recommendation engine 
    • Market Segmentation and targeting 
    • Customer ROI and lifetime value
  • Healthcare and lifescience
    • Alerts and diagnostics from real time patient data
    • Disease identification
    • Proactive healthcare management
  • Financial services
    • Risk analytics and regulation
    • Cross selling and upselling

  • Others
    • Commuting
      • Google’s AI-Powered Predictions (Dijkstra’s algorithm)
      • Ridesharing Apps Like Uber and Lyft
      • Commercial Flights Use an AI Autopilot

    • Email
      • Spam Filters
      • Smart Email classification (primary, social, and promotion inboxes) 
      • Introduction of Smart reply to your inbox ( provides quick smart replies based on email context)
      • Grading & Assessment 
      • Plagiarism Checkers
      • Robo-readers
    • AI at Home
      • Social Networking ( facebook , Pininterest , Instagram , snapchat )
      • Online Shopping
      • Search
      • Recommendations
      • Fraud Protection
    • Mobile use
      • Voice to text (Google uses artificial neural networks to power voice search.)
      • Smart personal Assistants ( Alexa, Google Assistant  , Echo dot , Siri , G-home ) etc 
      • Facebooks – JARVIS server ( Integrated home solutions )

Types of Learning

  • Supervised Learning: This is a learning process for generalizing on problems where a prediction is required. A “teaching process” compares predictions by the model to known answers and makes corrections in the model.
    •  Regression
      • Predict continuous valued output (ex. price). 
      • Ex. You have a large inventory of items. You want to predict the average price of items  that will sell over the next 3 months.
    • Classification
      • Discrete valued output (0 or 1; Yes or No)
      • Ex: You’d like software to examine individual customer accounts, and for each account decide if it has been hacked / compromised.
  • Un-Supervised Learning:
    • This is a learning process for generalizing the structure in the data where no prediction is required. 
    • Natural structures are identified and exploited for relating instances to each other.
    • Ex: Social Network analysis, Market segmentation, Astronomical data analysis etc.

Programming language used for ML


    • Scikit-learn
    • TensorFlow
    • Theano
    • Keras
    • PyBrain
  • R
    • Caret (Classification And REgression Training)
    • MLR (Machine Learning in R)
  • Java
    • WEKA (Waikato Environment for Knowledge Analysis, University of Waikato)
    • JDMP (Java Data Mining Package)
    • Mlib (SPARK)   
  • C++
    • mlpack
    • Shark
    • Shogun
  • Julia
    • ScikitLearn.jl

  • Scala
    • ScalaNLP
You might also like :

Did you find our blog helpful ? Share in comment section. Feel free to share on Twitter or Facebook by using the share buttons

Share:

Tuesday, September 19, 2017

5 things to know about Android Hacking and how to prevent

5 things to know about Android Hacking and how to prevent

 1. Installing unlocked bootloader

  • A boot loader is the first program that runs when you boot your device. Boot loader takes care and initiates your hardware and Android kernel. Without this program, our device doesn't boot.
  • To run custom images on your device, boot loader has to be unlocked first before we proceed with it. Even when you want to root a device with a locked boot loader, it requires unlocking it first.
         To unlock bootloader

         fastboot oem unlock "OEM_CODE"

           Installing recovery softwares like TWRP or CF.
                            https://dl.twrp.me/t03g/

2. Rooting the device

  • Android is built on top of Linux Kernel.Linux, we see two types of user accounts – normal user accounts and root accounts. 
    • Normal user accounts usually have low privileges and they need permission from root to perform privileged operations such as installing tools, making changes to the Operating System, and so on.
    • Whereas root accounts have all the privileges such as applying updates, installing software tools, ability to run any command, and so on. Essentially, this account has granular control over the whole system.
  • Device can be rooted by installing unlocked bootloader. If the device is rooted, which means normal user account gets root privileges, any apps can have access to /data and steal all your valuable data. 

 3. Threat from Android app or framework

  • Many mobile applications store sensitive data on the device without any encryption.  A malicious application may gain access to this data if the device is rooted/jailbroken.
  • Mobile applications when developed with no security controls in mind can become vulnerable to various attacks. Examples of such mistakes include, exported content providers, exported activities, client side injection, and so on.
  • It is possible that an app may unintentionally leak sensitive data to an attacker. This requires extra attention from the developer. The code he uses for logging during the development phase must be removed and he must make sure that no data is prone to leaks.
  • With Android, native apps that are developed for the android platform can be easily reverse engineered and the Java source code can be easily viewed. It allows an attacker to view the source code as well as any sensitive data that is hard coded in the code. It is also possible to modify the code in the application and re-compile it and then distribute the apps in third party markets. 

4. Threat from Server 

  • Web services are almost similar to web applications. It is possible that web services can be affected with all the common vulnerabilities that a normal web application can have.
  • Authentication/Authorization:
    •  Session management: Session management in mobile platforms is typically done using an authentication token. When the user logs in for the first time, he will be given an authentication token, and this will be used for the rest of the session. If this authentication token is not properly secured till it's destroyed, it may lead to an attack. Killing the session at the client side but not at the server is another common problem that is seen in mobile apps.
  • Weak cryptography: Cryptography is another area where developers commit mistakes during their development.
  • Improper error handling: Errors are attractive to attackers.
  • Attacks on the database: It is also important to notice that attackers may get unauthorized access to the database directly

5. Network level access to the apps

  • Man in the Middle (MitM) attacks are one of the most common attacks on mobile devices, as users tend to connect to public Wi-Fi networks so often. Being able to perform MitM on a device not only provides data to the attacker when the user transmits it over an insecure network, but also provides a way to tamper with his communications and exploit vulnerabilities in certain scenarios.
  • It is common that users install apps from the app store for their daily needs. When apps that provide network-level access to Android devices are installed on the phone, users must be cautious about who can access these devices and what data is accessible.
  • It is quite common for end users to join publicly available networks at coffee shops and airports where an attacker may sit in and eavesdrop on the data using tools like burp proxy, MITM proxy, SSL MitM (short for Man in the Middle attack) proxy, and so on.

Some of the tip to prevent from phone getting hacked

  • Set up your lock screen

  • Never join an unsecure network

  • Set up phone storage encryption

  • Do not allow unknown sources for installation

  • Install an anti-malware app

  • Avoid using public Wi-Fi

  • Configure Bluetooth settings properly

  • Never root your device

Share:

10 things to know about Android for Work

 

 1. What is Android for Work

  • Android for Work is a program for supporting enterprise use of Android, which consists of product features in Android, Google Play for Work, and other productivity tools.
  • Android for Work is Mobile Device Management (MDM) and data separation framework  debuted in Android 5.0 Lollipop
  • Android for Work is primarily exposed via APIs that enterprise mobility management (EMM) providers and enterprise application developers can use to deliver a secure, productive, and rich mobile experience to their customers’ employees. 
  •  EMM providers are companies that offer advanced IT solutions for mobile device management (MDM), mobile application management, mobile expense management, and more.  

 2. Work Profile

  • Android for Work features what's known as a work profile on a device -- a segregated, managed environment.  
  • A work profile still allows enterprise apps to have some basic control over the entire device -- usually limited to lock screen and encryption policies.
  • Enterprise also have complete control over enterprise data within the work profile. They can install apps, user accounts and credentials, configure VPNs and change settings inside some apps

3. Play for Work

  • Play for Work is an offshoot of Google's main app store that organizations can use to purchase Android apps in bulk.
  • It can also host and distribute in-house enterprise apps.

4. Corporate-Owned, Single-Use (COSU)

  • These are Android devices used for a single purpose, such as digital signage, ticket printing, point of sale, or inventory management.  
  • It is also a device owner mode, which locks down devices that multiple users share or that function as kiosks, information displays or embedded devices.

5. Separate Work and personal Apps

  • Enterprise workers have long wanted a way to separate work apps and files from personal apps and files while still having the ability to work in a native environment.  
  •  Business apps and personal apps have separate work notifications, app badges, restrictions using data separation framework.

6. Security

  • Data security—Business data is separated in a work profile and protected device-wide on work-managed devices. IT can apply data leakage prevention policies. 
  • Apps security—Work apps are deployed through Google Play for Work. IT can prevent installation of apps from unknown sources and apply app configurations. 
  • Device security—Android for Work devices are protected with disk encryption, lockscreen, remote attestation services, and hardware-backed keystore when available. 

 7. Control data and privacy

  • If you leave the company or your device is lost, IT will erase just the work apps, leaving your personal stuff intact. IT can also never view your personal activities.

 8. Secure Productivity features

  • Android for Work offers some productivity features that make it easier for users to work remotely and still be productive. For example, on devices with Lollipop, users can view company email in the same stream as personal email. It also allows employees to open an attachment or link with limited or no hoops to jump through 
  • Users can then edit the document in that attachment on their mobile device, save it to Google Drive or another sanctioned cloud storage service and access that same document at work without having to email it to themselves -- all under encryption.

9. Selective Remote wipe

  • Android for Work BYOD Managed Profile, the device has both a personal and Android for Work container. That means that IT can wipe only the Android for Work container if that situation arises.

10. App updating

  • Admins can update devices or apps, and then notify employees afterward without the users having to install anything themselves.

You may also like :

Internet of Things (IOT) Basics

Android Basic Concepts

Please share your feedback about this blog. If you liked it please share with others

Share:

Sunday, September 17, 2017

Top 10 new features in Android Oreo

 Top 10 features in Android Oreo


Google has officially unveiled the next version of Android - the Oreo, for smartphones, tablets and the rest.

                 Android Oreo brings with it a host of new features and improvements over Android Nougat. While not all of them would be immediately visible to end users, they would surely contribute towards the end experience of a mature smartphone OS.



 1. Picture-in-Picture mode (PIP)

  • PIP is a special type of multi-window mode mostly used for video playback.
  •  This is a special type of split-screen window that should be particularly useful for watching videos while performing other tasks, though apps will need to be updated to support the new API.   

2. Autofill framework 

  • Account creation, login, and credit card transactions take time and are prone to errors. Users can easily get frustrated with apps that require these types of repetitive tasks. 
  • This new Autofill Framework will allow apps to create and manage their own lists of auto-fill data, then Android Oreo will populate this data into password fields when appropriate.
 

3. Auto-enable Wi-Fi

  • A clever, new feature will automatically turn your phone’s Wi-Fi back on based on your location. 
  • This way, your phone can connect to your home network when you arrive, saving you from any fiddling with the device.

4. Enhanced security with Google Play Protect

  • Google Play Protect, a new service suite that will scans your apps for threats, and constantly checking for the latest risks, which will be found and detected via machine learning.

5. Snooze Individual Notifications

  • Ability to snooze individual notifications. When a message comes through, but you don't have time to deal with it, just swipe to the right, then tap the clock icon to snooze the notification. 
  • This will make the message go away for 15 minutes, then come right back when the time is up. 

 6. Updates even when handset is out of space

  • With Android 8.0 Oreo, the smartphones will still get OTA updates even when they are out of space. This means that users can continue using the device during the update.

7. Hi-Fi Bluetooth Codecs

  • Google has added a handful of high-quality Bluetooth codecs to Android Oreo, including Sony's LDAC, which should greatly improve audio quality with compatible Bluetooth devices.  Also supports Bluetooth 5.0

8. Better battery life with Vitals

  • Google's adding what it calls "wise limits" to create automatic caps for what apps can do in the background. These limits will curtail excessive use of background services and location updates, so your apps won't be able to do too much damage to your battery when you're not using them.

9. Notification channels

  • Android 8.0 introduces notification channels that allow you to create a user-customizable channel for each type of notification you want to display.
  • Notification dots: Android 8.0 introduces support for displaying dots, or badges, on app launcher icons.
  • Snoozing: Users can snooze notifications, which causes them to disappear for a period of time before reappearing.
  • Background colors: You can set and enable a background color for a notification.

10. Adaptive Icons


  • Android device makers often use their own custom OS skins, which can throw off how the look and shape of app icons correspond with the rest of those you download from the Play Store. 
Share:

Internet of Things (IOT) Basics



Internet of Things (IOT)

                           The Internet of Things (IoT) refers to the ever-growing network of physical objects and the communication that occurs between these objects and other Internet-enabled devices and systems.
Purpose of IOT
     User can Remotely:
  • Connect with devices to learn about it
  • Monitor devices
  • Search for devices
  • Interact with devices
How to make things – IOT
  • Every Device (in World) have Unique identity
  • Have sensors
  • Device have ability to communicate
  • Connect through any (wired/wireless/satellite) network
  • Manage from remote to create new business values and Revenues
IoT Architecture 


             IoT offers advanced connectivity of devices, systems, and services that goes beyond machine-to-machine communications(M2M) and covers a variety of protocols, domains, and applications. 


Cities / Connected Communities  

  • Lighting, water management
  • Monitoring & security
  • Traffic control

Energy & Resources

  • Voltage and Power sensors
  • Meters and breakers
  • Fault detection
Building and Home Automation

  • Thermostats, HVAC, lighting
  • Presence sensors, lockers, actuators
  • Meters, smart-plug, HEC
Industrial & Manufacturing

  • Lighting, security, actuators
  • Production control
  • Robotics
Medical and Healthcare Systems

  • People monitoring
  • Bio sensors, probes
  • Remote Health
Life Sciences

  • Independence through technology
  • Information when you need it
  • Connected when you need it
Transportation & Environment

  • Electric Mobility, EVs and HEVs
  • High speed trains
  • Infrastructures

Home Automation

                 A home automation system integrates electrical devices in a house with each other. It provides improved convenience, comfort, energy efficiency and security. 

Refrigerator:

  • RFID tags recorders groceries as needed, and suggests recipes
Electric Toothbrush:

  • Automatically recorders brush heads, shares brushing habits with your dentist
Cell Phone:

  • Secure performs identification & verification for payments
Coffee maker:

  • Custom setting for each coffee type, starts when alarm goes off
Smart Scale:

  • Measures and sends weight into for progress tracking
Microwave:

  • Automatically sets cook cycle with RFID recognition
Media Player:

  • Remotely orders 
  • new songs & video
Building Security:

  • Security cameras interact with facial recognition database
Exercise Equipment:

  • Recognize individual user and tracks workout schedules
 HVAC:

  • Controls temperature & lights for maximum efficiency
 Television:

  • Immediate “one-click” ordering of products seen on commercials
Vending:

  • Automatically recorders supplies before it’s empty
 VoIP phone:

  • Automatic updates, integration and forwarding
Printer:

  • Automatically recorders toner and papers as needed

 Smart Building

           Building Automation System(BAS) is designed to monitor and control the mechanical, security, fire and flood safety, lighting and humidity control and ventilation systems in a building. 
 Disaster Prevention

  • Raise alarm to decrease the impact of disasters like fire, earthquakes, industrial accidents and communication failures.
Network Monitoring

  • Monitors a network for threats and problems caused by overloaded and/or crashed servers
Lighting Control

  • Switch ON/OFF light in occupied/unoccupied areas
Temperature Control

  • Temperature sensor in the zone provides feedback to the controller to deliver heating or cooling as needed
Energy Storage

  • Measure electrical performance of the building and alert if device is wasting more than the usual amount of energy
Control Elevators and Escalators

  • Remotely control elevators, and escalators to ensure safety as well as interoperability
Monitoring Cameras

  • Monitor installed cameras to identify security threats
 Security Control

  • Security cameras interact with facial recognition database

Cities/Connected Communities

           Building Automation System (BAS) is designed to monitor and control the mechanical, security, fire and flood safety, lighting and humidity control and ventilation systems in a building.

Traffic Management

  • Dynamic Traffic control, Trip planning, electric vehicles, E-Ticket and accommodation

Weather Management

  • Green pollution control, Climate change adaptation, Flood planning, Aviation forecasting

Public Service

  • Citizen card, Mobile payment, government services and social security

 Medical

  • Electronic medical Records, Distance medical diagnostic, Family health services

 Public utilities

  • Monitoring water quality and drainage system, electricity and gas measurement. 

Education Environment

  • Create transformative learning environments with revolutionary new software platforms and innovative interactive displays.

Intelligent Building and Home

  • Improved convenience, comfort, energy efficiency and security for building and home

 Parking

  • Park and ride, parking availability space finder,monitor and manage your parking site with great efficiency.

IoT Technology


  • Open source Platform evaluations for IoT (Contiki, Mbed, AllJoyn, Eclipse Foundation)
  • Embedded middleware/Sensor Middleware 
  • Connectivity protocols - MQTT, CoAP, 6LoWPAN
  • Web Interface  - REST, SOAP
  • Understanding Sensor Technologies.
Others

  1.  Industry follow ups, Market Research
  2.  Evaluation of the solutions provided by some of the IoT Home automation companies in the industry.   E.g.,: Smartthings (acquired  by Samsung), Nest (acquired by Google)    
IoT  Platforms
Features
Targeted Segment
Contiki
(http://www.contiki-os.org/)
 Open source.
Operating system to connect tiny low-cost, low-power devices  to the Internet
Low memory, Low power devices
Mbed
 (https://mbed.org/)
Open source by ARM.
Operating System for developing IoT solutions on ARM architecture
Wearables, Smart Home , Smart Building
AllJoyn
(https://www.alljoyn.org/)
Open source promoted by a consortium of companies
(includes LG)
Smart Media devices, Connected Home
Eclipse IoT/M2M Platform
(http://iot.eclipse.org/)
 Promoted by Eclipse foundation
Generic Platform. Continuously evolving and Integrates the latest Protocols

Contiki Framework
             It is an open source operating system for networked, memory-constrained systems.
This is mainly targeted for low-power wireless Internet of Things devices
         Examples:

  •  Street lighting systems.
  •  parking monitoring for smart cities. 
  •  Radiation monitoring systems.
  •  Alarm systems.

Features:

  • Highly memory efficient.
  • Supports hardware devices that are severely constrained in terms of memory, power, processing power, and communication bandwidth
  • Full IP Networking.
  • Designed to operate in extremely low-power systems.
  • Provides powerful low-power Internet communication.
  • Supports dynamic loading and linking of modules at run-time.
  • Uses a mechanism called Protothreads which  is a mixture of the event-driven and the multi-threaded programming mechanisms.
  • Provides a lightweight flash file system.
  • Flexible, Dynamic, Forward Compatible.
AllJoyn Framework

       A persistent publish/subscribe solution promoted by Qualcomm and consortium of companies including LG. This is mainly targeted towards home electronics:

  • Connected Home
  • Smart TV
  • Smart Audio
  • Broadband Gateways
  • Automotive

Flexible, Dynamic, Forward Compatible

  • Core building blocks and services to address: discovery, connectivity, security and management of ad-hoc proximal networks among nearby devices
  • Service-level discovery, capabilities broadcasting, remote procedure calls, interface sharing, all benefits of Wi-Fi security, message marshalling
  • Ability to react to dynamic, ad-hoc network changes
  • Developer SDK
Enables Horizontal Market Interoperability

  •   Cross-platform, cross-brand, cross-physical layers
  •   Bridging ecosystems for individual markets and product categories
  •   Discover new use cases and create new business models
  •   Interoperable across leading OS and embed devices like small home appliances that don’t run an OS
  •   Bearer agnostic
  •   Devices can interact regardless of how they are connected – Wi-Fi, Ethernet, Powerline, etc
Oracle’s IoT Platform  

  Oracle Provides a suit of solutions for the connected world. (Oracle IoT/M2M solution suits). From small device like sensors to servers, Oracle promotes and refines Java as the tool for Building IoT ecosystem.

 Oracle’s IoT platform provides an end-to-end solution for a comprehensive, scalable, and cost-effective IoT architecture, enabling organizations to

  • Manage and Analyse large volumes of device data throughout the lifecycle, from collection to analysis
  • Integrate and Automate, using data from connected devices to make decisions ..
  • Optimize and Innovate, integrating with Oracle business and industry applications  to reduce costs  and accelerate new service delivery

Did you find our blog helpful ? Share in comment section. Feel free to share on Twitter or Facebook by using the share buttons


Share:

Popular Posts

Contact Form

Name

Email *

Message *