Friday, July 24, 2015

Vuzix glass - Basics

What is Vuzix: 

Vuzix is an android based wearable device with recording features & connectivity options such as Wifi/BLE capabilities, mainly designed for professional users


How to run: 
  • Mode: 
    • local: apps can be load into onboarded memory. 
    • paring Android device and using Vuzix as a heads up display. 
    • Both: local and pairing to communicate and collaborate with android device. 
  • OS 2.0 
    • provided by Vuzix which is built on top of Android 4.0.4. 
    • Support for Android, iOS (in development). 

Features: 
  • Captures 5MP camera and 1080p HD videos, memory - 4gb expandable to 32 GB. 
  • provides 3 buttons - to control vuzix and the android apps (i.e., select options in android app, back and android menu options can be controlled in Vuzix). 
  • Voice navigation: Recognition performed locally, so no internet connection required, can also navigate completely using voice, (eg., move right, left, show menu, go home etc
  • M100 can act as a heads up display for legacy android apps while the partner device itself can act as a touch pad / keyboard controls. 
  • Gesturing. 
  • Built in native apps in M100 which helps the user in performing basic features such as 
    • calling msging where the head unit can be used to scroll contacts and initiate call, the partner device will be used for calling while M100 will be used as a headset. 
    • view calendar apps and move to next appointment by using voice commands and more. 
  • Smart glass manager Android app which can be used to control the M100 device. 

General spec: 
Vuzix: 5MP, 1080p, WQVGA display, left / right eye usable, 1 GB RAM, Android 4.0.4, 4GB flash expandable to 32 GB via external miscrosd slot. supports BLE / wifi. 
Glass: 5MP, 720p, 16gb flash (not expandable), supports Bluetooth / wifi. 

How to get started in Vuzix. 
  • Sign up and purchase Vuzix SDK - cost $199, pay an annual registration fee if you want to stay updated. 
  • Vuzix promises to have a M100 specific app store in the future. As of now, we need to upload programs using ADB drivers. 

Differences from google glass: 
  • While Glass app need to be compiled with GDK (i.e., Android native apps cannot be viewed in Glass, the app need to be compiled in GDK to be viewed), Vuzix can act as a head display for Android apps. The apps being viewed in M100 can be controlled via the buttons, voice commands or even the android device (acting as a touch pad and keyboard). 
  • Glass supports latest version (Kit kat) while Vuzix supports ICS -4.0.4). 
  • Glass has companion app for Android and IOS while Vuzix supports Android today, IOS in development. 
  • Glass 1500$ while Vuzix costs 1000$ and SDK costs 199$, GDK is free. 
  • Vuzix has 1GB RAM and 4gb built in flash (expandable to 32 GB), while glass does not provide an external SD card slot. 
  • Glass gets heated within 10-15 mins of using continuously and gets heated even faster if you are using AR app, not sure about Vuzix. 
Hope you got some information about vuzix. 
Visit this site for more information about Vuzix products 

Tuesday, July 21, 2015

NFC Basics


What is NFC 
Near field communication is a set of protocols that helps devices to communicate with each other by establishing a connection either by touching the devices or bringing them close to each other (typically 4 cm). Its a set of short-range wireless technologies requiring less distance to initiate a connection. 

NFC tags: There are variety range of NFC tags available in the market
types ranging from coins, cards, wearble, stickers, business cards etc., You can also write to tags. 

What can you store in NFC tag: 
Depends on the type of the tag and its memory, for example a small NFC tag can store just the url whereas a business card can store more information about the user. 

NFC Readers: There are lot of NFC tag readers, you can also write applications using Android / IOS api to read NFC information. 

Why NFC
  • Quick handshake time. 
  • potential for signal interference or hackers trying to steal your data is reduced. 
  • NFC consumes less battery power 

Applications of NFC: 
  • Payment for products through mobile phones
  • NFC based wearables can become a cashless payment system. 
  • Access control
  • Queue management - who registered first. 
  • Launch an app: open maps and launch direction to home when you tap your mobile on a nfc tag in the car
  • Perform an action: For example set an alarm whenever you tap on a sticker
  • Share business cards information
  • using Mobile phone for boarding passes. 
  • NFC enabled parking meters

Difference between NFC and bluetooth: 
  • NFC is designed for less data transfer - less than 400 kb whereas you can transfer more data using bluetooth
  •  quick handshake - typically takes 0.1 second, whereas bluetooth takes more time to establish the connection. 
Questions to ask before choosing NFC as a solution: 
  • Is your application requires close contact with the devices less than 10 cm. 
  • Is it a one way communication. 
  • Is the action performed important since it requires the user to hold or tap the device within 10 cm. If not choose other technology such as RFID or bluetooth. 

You can also use NFC to initiate a connection and then use other technology to transfer more data. 

Friday, July 17, 2015

RFID - Things to consider for a RFID solution

As you might know the RFID solution consists of different hardware components such as the actual RFID tag, the antenna, RFID reader. Following are the things that we might need to consider for a RFID requirement. 

Frequency levels: 
  • Low frequency: supports less distance such as up to 10 cm
  • High Frequency: distance up to 30 cm
  • Ultra-high frequency: more than 100 meters. 

The RFID TAG
Things you need to know before selecting an RFID tag: 
  • Keep in mind on the environmental interferences 
    • Water
    • Metal
  • Tag types
    • Metal mount RFID tags:  the metal will detune any passive RFID tag, non metal mount RFID tags. Metal mount RFID tags are typically rugged, difficult to damage, and easy to weld, screw or otherwise attach.
    • Rugged UHF RFID tags
    • Windshield RFID tags: to be applied on car windshield. 
    • Laundry tags: on garments. 
  • Questions to ask yourself: 
    • What type of surface you will be tagging - metal, plastic, wood etc., 
    • What is the read range you want. 
    • How big you want the tag to be. 
    • What is the climate in which you would operate, excessive heat, cold, moisture etc., 
    • Method of attachment - adhesive, rivets / screws

RFID Antennas: 
  • Are devices that uses power from the reader and generate a field that allows the reader to transmit and receive signals from RFID tags. 
  • The powerful antenna will produce a larger field. 
  • Questions to ask yourself for antennas: 
    • where will the antenna be mounted: Indoor or outdoor
    • Size limitations
    • Do you need one antenna or more than one. 
    • Polarization: Linear or circular

RFID Readers: 
  • are devices that transmit and receive radio waves in order to communicate with the tag. 
  • Types of readers: 
    • Fixed readers: 
      • in one location. 
      • typically have multiple ports so that the reader can support multiple antennas
    • Handheld readers: mobile and can be carried by the person. 
    • Integrated reader: with a built-in antenna, but has additional port to have additional antenna, you can choose this if you want a low cost antenna 
  • The readers may or may not have an ethernet cable. some may have wifi connection. 
  • Some readers will also support bluetooth, barcode etc., 
  • Questions to ask yourselves for Readers: 
    • how do you want to power the reader - battery / AC power. 
    • Will you be adding the reader to the network. 
    • How many tags you might want to read at once. 
    • How many readers you will need. 
    • How quickly will the tag be moving. 

Cable that connects the Readers with the Antennas: 

  • how long you need the cable
  • connector type for the antenna and the reader. 

Monday, July 13, 2015

Amazon Glacier

What is Amazon Glacier ?

Amazon glacier is another storage solution from Amazon. Its a secure low cost storage service mainly used for data archiving and backup. 

Glacier is optimised for infrequently accessed data where the retrieval time is slower, whereas S3 is meant to access frequently accessed data. A single archive file can be as large as 40 TB. 

Characteristics: 
  • extremely low cost
  • meant for storing archival data where retrieval is not frequent. 
  • Secure: supports data transfer over SSL. 
  • Durable: Your data is stored redundantly across multiple facilities. 
  • Audit logs on the glacier data, who accessed what data. 

Uploading data to AWS: 
  • AWS provides SDKs which help you in transferring large amount of data. 
  • If you want to transfer large amount of data from your corporate network, you can use AWS Import / Export feature and AWS Direct Connect. 
Downloading data from Amazon: 
  • Downloading a data is asynchronous operation. First AWS glacier prepares your archive which takes hours and then you have 24 hours to download the data from the staging location. 

How pricing works: 
You normally pay for the following
  • Data storage (appxt. $0.01 per GB)
  • Request
    • Upload and retrieval request: $0.05 $ per 1000 requests. 
  • Data transfer

Please find the up to date pricing information in this URL: 

AWS EC2 - basics for beginners

What is EC2: 

EC2 is a web service from Amazon which helps the developers / architects to launch virutual machines in a pay as you go mode instead of purchising the required hardwares. 
  • Eliminates the need to invest in hardware upfront. 

Why AWS: 
  • Traditionally, procuring and setting up server is time consuming which can takes weeks or even months. With AWS, you can set things up in mins.
  •  You don’t need to spend your time and resources for managing these servers. 
  • you don’t need to worry about upgrades, you want a better server, just terminate the current one and go for the next better server. 
  • Pay for only what you use, like a electricity meter, you only pay for the no. of hours your server is running. ‘
  • Increase or decrease your size of the instances in minutes. 
  • You have complete control over your instances, you can control the life cycle of the instance using the EC2 management console.

Instance types: 
EC2 instances ranges from small types i.e., micro instances for small jobs to high-performance “x-large” jobs. You have to choose the instance types that matches your requirement. 

These instance types are optimised to fit different use cases. 
Some instance types: 
  • T2: burstable performance instances (provide base level of CPU performance, ability to burst above baseline. Good for use cases that don’t use the full CPU.
Use cases: Dev environments, build servers, code repositories, low traffic web applications, small databases. 

  • M3: provides a balance of compute memory and network resources - good choice for many applications. 
  • C4: latest generation - compute optimised instances - highest performing processors / lowest price/compute performance. 

Memory optimised: 
  • R3: optimized for memory intensive application, 

GPU: 
G2: intended for graphics and general purpose GPU compute applications. 

Storage optimized: 
I2 - High I/O instances, high storage instances that provide very fast SSD-backed instance storage optimised for high random I/O performance and privide high IOPS at a low cost. 

Dense storage instances: 
D2: features up to 48 TB of HDD based local storage, deliver high disk throughput. 


How about security: 
You can choose Virtual private cloud or other AWS services depending upon your requirement to improve security. 


Will it auto scale: 
Yes. you need to use elastic load balancing for that.  


How pricing works: 
There are different types of pricing methods: 
  • On-demand pricing.
With on-demand pricing, you don’t have any long term commitments. You only pay for the amount t
You can buy and pay hourly instead of long term comm
  • Reserved instances. 
With reserved instances, you pay an upfront fee and get a discount on the per hour usage of the instances. If you are sure you are going to run a server for a longer period of time, you can go for a reserved instance. 

  • Spot instances: 
This options lets you define what price you want to pay for your instances and by following a bidding approach, you will get your servers based on the bid. 


Some AWS basic terms: 

Elastic IP Address: are static IP addresses that are tied to account and not an instance. The instance can be mapped to static IP addresses. 

Autoscaling: Lets you automatically scale up or down on the instances according to the conditions you define. This will ensure you don’t pay too much for the instances when the traffic is actually less. 

Elastic Load balancing: Automatically distribute incoming application traffic across multiple AWS EC2 instances. 


Characteristics: 
  • CPU
  • Memory
  • Storage
  • GPU



RFID - Basics

What is RFID: 

RFID is called “Radio frequency identification, initially used to identify different aircrafts in 1940s, RFID is part of our daily lives – in car keys, toll tags, access cards

A RFID contains a microchip and a transmitter. 

Motivation to use RFID: 
  • RFID price is cheap. 
  • Can be implanted. 
  • Barcode scanning requires line of sight of barcodes. 

RFID attributes / characteristics: 
  • type: Active / Passive / Semi-Passive
  • Range: in meters Eg., 6m, 100m, 150m, 
  • Operating frequency:  Example: 915 mhz, 
  • data rate upload / download: in kb/sec (eg., 115 kb/s). 
  • Dimension
  • memory to hold data - 64b, 32 kb, 
  • Battery
    • Type: Coin, Double A
    • Life time of battery: in years > 2yr, 6 yr
    • Replace type: Can be replaced / cannot be replaced. 

Ultra-wide band RFID: 
  • high data rate. 
  • low average radiated power. 
  • Advantages: 
    • Long range, accurate. 
  • Cost: approximately 5$

Vendors comparison.
  • Zebra
  • Precise asset tag
  • Gemalto

How much data you can store: Normally less say in bits (serial numbers) or in kbs (8 kb for example). 
Can data be written to RFID tags: Microchips in RFID tags can be read-only, read-write, write once read many. 
Some chips can also be read-only

Types of RFID tags
  • Active 
  • Passive
    • don’t have power source
    • less cost, lesser in size. 
    • ID cards

Technology application areas: 
  • Asset tracking
  • Data acquisition
  • Payment systems
  • Security access control
  • Personnel tracking. 

Applications of RFID: 
  • Retail: 
    • RFID enable shop cards can help store identify customers and buying patterns and suggest discounts in displays in shopping carts. The cart can scan rid and calculate the product costs when you place the carts. 
    • Improve steps on stock inventory - just scan and the system updates automatically. 
    • search for products types of different sizes (say shoes). 
    • Track products from manufacturing till point of sale. 
  • Transport
    • Keys used to open car is based on RFID
    • Parking management
  • Environment
    • Animal tracking
  • General
    • Cars can have RFID tags which can be used by security personnel to find information about the vehicle details and authenticate the user. 
    • Find your car in the parking lot. 
  • Automatic payment passage to tolls
  • Building access cards
  • Passports
  • Toll payments. 
  • Payment cards
  • Bluetooth headsets also use rFID for wireless identification. 



Apache Storm - Overview

What is Storm
Storm is a distributed real time stream processing system. In this the processing work which normally takes lot of time to do the work is delegated to different components each responsible for performing a task. 

Storm comprises of the following process at a high level. 
  • Input: The data is received from different sources by a component called spout. The sources could be file, messaging queues
  • Processing: The processing is actually done by different components called bolts. The work can be done by one node or different nodes. 
  • Output: Once the data is processed, they can be stored in db, files

Advantages: 
  • See real time results while the storm components take care of processing it in high speed by utilising different nodes to process them. 

Applications of Storm:
  • Process real time data from different devices and analyse them quicker as and when the data flows into the system. 
  • Lively statistics. 
  • Build predictive models for real time data. 
  • Build monitoring and alerting systems. 

Why Storm: 
  • simple to program
  • support for multiple programming languages. 
  • fault tolerant: takes care of workers going down, reassigning tasks when necessary. 
  • Scaling: multi-node scaling options. 

Operation :
  • Local mode: run in a single machine
  • Remote mode: 
      • we submit our topology to the storm cluster, composed of different process usually in different machines, 

Nodes: 
  • Master node
      • they run a daemon called Nimbus. 
        • Responsible for distributing code around the cluster
        • Assign tasks to worker nodes
        • Monitor failures
  • Worker node

Types of grouping: 
  • Shuffle grouping. 
      • select the tuple emitted by the source to a randomly chosen bolt. 
      • useful for performing mathematical operations. 
      • not suitable for operations that cannot be randomly distributed. 
  • Field grouping
      • control how tuples are sent to bolts, based on one or more field definitions. 
  • All grouping
      • sends a single copy of each tuple to all instances of the receiving bolt. 
      • used to send signals to all bolts i.e., refresh a cache
  • Direct grouping
  • Global grouping