Tuesday, February 28, 2017

Build IoT Applications in the Cloud on fast-track with AWS IoT: AWS IoT using Seeeduno Cloud and Groove IoT kit Overview

AWS IoT is a managed cloud platform that enables you to connect IoT devices to AWS Services and other devices and provides a secure data access and interactions to process and act upon device data in both offline and online states.

AWS IoT can connect billions of devices and send trillions of messages, and can process and route those messages to AWS endpoints and to other devices in a reliable and secure manner. With AWS IoT, your applications can communicate with all your devices, all the time. AWS IoT makes it super easy to use AWS services such as DynamoDB, RDS, Lambda, Kinesis, S3, and Machine Learning, o build IoT applications that gather, process, analyze and act on data generated by connected devices completely in the cloud.

Components of AWS IOT

AWS IoT Device SDK

AWS IoT Device Software Development Kit enables your devices to connect, authenticate, and exchange messages with AWS IoT using the HTTP/MQTT protocols. The SDK supports C, JavaScript, and Arduino.

Device Gateway

All connected devices communicate to the Device Gateway - HTTP or MQTT Protocol
  • Highly Fault Tolerant Protocol for intermittent connectivity
  • Light footprint
  • Low n/w bandwidth requirement
  • Exchange messages using a publication/subscription model
  • One-to-one and one-to-many communications (Broadcast)
  • Support over a billion devices without provisioning infrastructure

Authentication and Authorization

  • Connectivity over TLS (Transport Layer Security successor to SSL) TLS Certificates are easily created
  • Supports the AWS method of authentication (called ‘SigV4’) as well as X.509 certificate based authentication.
  • Connections using HTTP can use either of these methods, while connections using MQTT use certificate based authentication.
  • Those device certificates can be provisioned, activated and associated with the relevant policies that are configured using AWS IAM.


  • Establishes an identity for devices and tracks metadata such as the devices’ attributes and capabilities.
  • Assigns a unique identity to each device that is consistently formatted regardless of the type of device or how it connects.
  • Does not expire as long as you access or update your registry entry at least once every 7 years

Device Shadows

  • Creates a persistent, virtual version, or “shadow,” of each device that includes the device’s latest state.
  • The Device Shadows persist the last reported state and desired future state of each device even when the device is offline.
  • Device Shadows make it easier to build applications that interact with your devices by providing always available REST APIs.
  • Device Shadows let you store the state of your devices for up to a year for free.

Rules Engine

  • The Rules Engine makes it possible to build IoT applications that gather, process, analyze and act on data generated by connected devices at global scale without having to manage any infrastructure.
  • The Rules Engine evaluates inbound messages published into AWS IoT and transforms and delivers them to another device or a cloud service, based on business rules you define.
  • The Rules Engine can also route messages to AWS endpoints including AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, and Amazon DynamoDB. External endpoints can be reached using AWS Lambda, Amazon Kinesis, and Amazon Simple Notification Service (SNS).
  • You can create your own rules within the management console or write rules using a SQL-like syntax. Rules can be authored to behave differently depending upon the content of the message.
  • Rule Engine provides dozens of available functions that can be used to transform your data, and it’s possible to create infinitely more via AWS Lambda.

Monday, February 27, 2017

Geo Fencing in Odoo

Using Geo-Fencing API of Google, a module named google_map_fencing is built in Odoo 9 which stores the locations in warehouses by defining a region. It identifies whether a particular pin (location pointed on google map) falls in the defined region or not. Just click on the map over a specific area and you will get a fence over that region, which is defined by a polygon on the google map and can be updated just by dragging the polygon points. The region can be saved per location according to the address and can be viewed or changed as you want. Following are the screen shots related to google map fencing:
  • 1. Consider a google map of a particular region
  • 2. Click around a region example Pune, to get a fence around it. This way you can define a region. The white dots indicate the polygon points, by dragging which you can expand the region
  • 3. Save the changes to again view the defined region on map.
  • 4. Once the fencing is done, drop of pin at any location gets you to know whether that pin falls in the fence or out of it.
  • 5. Option to reset is also provided to clear all the changes
  • 6. Geo-Fencing in Odoo can be used for storing warehouse or contact locations in case of multiple warehouses
  • 7. Easy to implement and understand.

Wednesday, February 22, 2017

Odoo ERP for Magento 1.x / 2.0

Magento is a very popular e-commerce platform and provides a turnkey solution for running any business online. Magento 2 brings in better performance, flexible architecture and improved administration and reporting. But it still lacks the ERP capability which is required to run a business. Magento can be complemented by Odoo which is a leading open source business suite of application. There is ready bridge between Magento and Odoo which allows to sync data between systems. Odoo has integrated suite of applications for managing Sales, Purchase, Inventory, Accounting, CRM, HRM Shipping and many more applications required to run an e-commerce business.

Magento Dashboard

Odoo Dashboard

Odoo has a very robust warehouse and inventory Management application integrated to Accounting. Additionally if you are running a physical store and an online store, inventories can be utilized between them.Odoo also provides a POS application which can be used in a physical stores. Since Odoo is open source thier are more than 4000 modules available to use.

Thursday, February 16, 2017

Odoo 9 : Rolled-up cost for Manufacturing products

It has been always a challenge to know exact cost of the manufacturing nature product in Odoo.

Pragmatic Techsoft Pvt. Ltd. has come up with a new module “pragmatic_rolledup cost” to compute the same.

This module works on BOM defined for the product. Cost of every product defined in a BOM is passed on the main product. It considers quantity as well as price of a product used in BOM.

It works with multilevel BOM as well.

If a product has multiple variants then the cost price of the product shall be updated on individual variants.

Monday, February 6, 2017

Hubspot Integration With Odoo

Hubspot integration module acts as a connector between the hubspot system and odoo system. The contacts and the companies created in hubspot, get created in odoo system as well and vice versa.

A. Contact Creation from Odoo to Hubspot:
  • Once, you create a contact in Odoo, it will be automatically synced in hubspot.
  • Following fields related to contact are synced to hubspot:
      1.Contact Name
      2.Job Position
      7. Company
  • Any change in the contact fields are also updated to the contact in hubspot.
B.Contact Creation from Hubspot to Odoo:
  • When a contact is created in hubspot, it gets synced in Odoo.
  • A scheduler is triggered once a day(configurable), after which the contact gets created.
  • Any change in the contact is updated to the corresponding contact in Odoo.
C. Assign Company to a contact in Odoo
  • Assigning a company to a contact from odoo will add the corresponding contact to that company in hubspot.
  • Similarly, when a company is assigned from hubspot to a contact, it gets reflected in the contact in Odoo after the scheduler is triggered.
  • Following configurations are required to integrate with hubspot:
The timestamp for Modified date for Contact and Company are set to current timestamp by default.

Sunday, February 5, 2017

Advanced Printscreen for Odoo 8(Printing Report Analysis)

Printscreen has been and is an attractive feature of Odoo which enables the user to take the printout of the tree view of the selected records.

We have a new module which enables users to take the printout of the selected records in the tree view. After installing the module, a new dropdown will be available in the header of each tree view. No configuration is required, jut installing the module is enough.

The main features of this module are:
  • Ability to export view in both PDF as well as in Excel.
  • Ability to export analytic views in to PDF and Excel including group totals.
  • Hierarchical view of the groups.

The module can be installed as a normal Odoo module. The only python dependency that is need for the module is python-xlwt which is needed to export to xls file. This can be installed using the comment "sudo apt-get install python-xlwt" for Ubuntu. After installing the module, you can see two anchor buttons called "Export to PDF" and "Export to Excel" on the right side of the OpenERP web client as shown

These buttons will only appear if the active view is a tree view. This button wont be visible in any of the other view types. When the button "Export to PDF" is clicked, the report will be exported to PDF or if "Export to Excel", the report will be printed in "Excel". The heading and the totals will be printed in Bold. A sample screenshot of the excel and PDF report is shown below:
The module also allows to print analytic reports in to CSV of excel. The screenshot below shows an analytic view:
You can also print Graph View as PDF format which will be more useful for analysis part