Dr. Mazlan and FAVORIOT Joins the Global Vision Board (GBV)

May 12, 2017Dr. Mazlan was invited to join the 100 Global Visionaries to Global Vision Board today. FAVORIOT and Smart Cities Innovation Lab (Smart iLab) also signed an MOU for a long-term partnership to collaborate in SMART CITY projects.

 

Dr. Mazlan Abbas_Formal Invitation.jpg

Exclusive Invitation to Global Vision Board (GBV)

 

screenshot_01.jpgGlobal Vision Board (GVB) is an international group of intellectual stakeholders comprising members from cities, academia, industry, SMEs and other organizations in the world.

The role of the Visionaries is to provide on-going expertise on developing the market for smart city products & services, and how these can be used to enable cities to meet the challenges they face. GVB members can be considered as a unique talent pool for the organization and for any potential projects to help new market penetrations, to encourage partnerships at all levels and to promote professional recognition at a global scale.

 

Posted in Internet of Things, Malaysia, Smart Cities | Tagged , , , | Leave a comment

IoT in Malaysia

twin-tower-1379220_1920.jpg

What’s the Speed of IoT Growth in Malaysia?

What the future holds for IoT industry in Malaysia?

Key findings from the newly published IDC survey titled 2016 Global IoT Decision Maker Survey report pertaining to the stage of the Internet of Things in Malaysia are outlined below:

  • IOT is strategic: 50% of respondents consider Internet of Things strategic to their business, offering them a means to compete more effectively and to drive internal productivity.
  • IT owns IOT budget: For 49% of the organizations surveyed, IoT decision making and budgeting are driven by internal IT departments.
  • IOT Vendor capability: When selecting an Internet of Things vendor, the top three criteria considered are consulting capabilities, applicability across the industry value chain and existing Internet of Things deployments (proof of concept).
  • IOT Skills an impediment: While upfront/ongoing costs and security/privacy are top concerns for decision makers, lack of skills is perceived as the main inhibitor in the deployment of Internet of Things solutions
  • Operational efficiency drives use cases: Process automation, increased productivity and cost efficiency are seen as the top benefits of an Internet of Things solution. This highlights an internal and operational focus by organizations over the short term although opportunities to enhance customer experience are increasingly important.

Across 160 organizations surveyed in Malaysia, 50% are looking to deploy production Internet of Things solutions in the next 12 months, while 15% are already in deployment to support their Digital Transformation agenda.

Who Are the IoT Players in Malaysia?

Since July 2015, when Malaysia’s National IoT Strategic Roadmap was announced, there’s a flood of IoT and Smart Cities conferences held in the country. But if tracked down the history of IoT in Malaysia, it started with M2M services by many of Malaysian mobile operators. I remembered during the Celcom days when we introduced the first “IoT” service called “Ring-A-Coke” in 2001.

Ring-A-Coke starts with a mobile phone user dialing a specific number on the vending machine, then placed via the Celcom GSM Network which connects directly to a component known as the Remote Terminal Unit (RTU) residing inside the vending machine. When the selection is made within 10 seconds, the machine would dispense the selected beverage, then RTU subsequently sends a confirmation of the transaction via short message service (SMS) to a back-end system for billing purposes.

Most telcos are interested in providing connectivity for IoT with their data only package for M2M. Not many dared to venture into solutions due to the complexity of the game. However, providing sim-card based connectivity is not very cheap when deployed in thousands thus hinder the wide deployment. However, a new telco called Atilze launched IoT connectivity covering up to city scale using LoRa technology. Atilze and edotco Group Sdn Bhd, a subsidiary of Axiata Group Bhd recently announced the rollout of Malaysia’s first low-power, long-range wireless protocol (LoRa) network with the completion of 25 LoRa gateways in Klang Valley. However, there is this new kid on the block called

However, there is this new kid on the block called NB-IoT that’s based on 3GPP and will be appearing soon in Malaysia. Just like LTE vs WiMAX, NB-IoT can become a threat when the incumbent telcos decided to deploy them since it will take a matter of months to have a wide coverage of IoT network. However, the recent news regarding the incompatibility between Huawei and Ericsson can be a stumbling block and delay the deployment.

As much as we want to see the real IoT deployment and commercialisation of services, many of the activities actually start and buzz around R&D such as UKM’s Internet of Bicycle, UTHM’s Internet of Making Babies,  UTM’s ParkKing, UNIMAP’s Environmental Monitoring and much more.

Other than National IoT Strategic Roadmap, there are some Government and Private initiatives such as from MIMOS iComm and Mi-MIST,  Cyberview Smart City, CREST IoT Cloud Centre,  Malacca’s Smart City, Iskandar Smart City, Selangor’s Smart State, Penang Smart City, MIGHT’s Smart City Alliance , MDEC’s ADAX and others.

For several years, Malaysia also has produced several new startups and companies in IoT such as Promosys, MDT Innovations, N’osairis, Katsana, GetDoc, Jom Parking, Fusionex, VADS Lfye and others. Some of them have bigger revenue from overseas sales and projects.

Our company, FAVORIOT, is the latest addition to the IoT industry in Malaysia. As a newly setup startup in April 2017, FAVORIOT has been actively engaged with many other industry players such as Cygen, Promosys, UnisZA, UTHM, UTM, ILMU Academia, Newage Care Home, Datamicron, GetDoc and others.

With the IoT middleware platform, FAVORIOT offers a FREE Beta Developer program to any parties that would like to connect their IoT devices to an IoT cloud. We also offer full documentation and tutorial (including source codes) how to connect Raspberry Pi or Arduino to Favoriot.

More Info about FAVORIOT – Click LIKE, SHARE, SUBSCRIBE and FOLLOW:

  1. Facebook Page
  2. Twitter
  3. Instagram
  4. Youtube
  5. Website

About the Author

Dr. Mazlan Abbas is currently the Co-Founder and CEO of FAVORIOT Sdn Bhd. He is an IOT Evangelist and a Thought Leader. He received an award as 50 Most Impactful Smart Cities Leaders by World CSR 2017. He is ranked No. 20th Thought Leader in IOT by 2014 Onalytics Report – “The Internet of Things – Top 100 Thought Leaders”, ranked Top 10 in IoT Top 100 Influencers by Postscapes 2016/2017, ranked Top 100 in Smart Cities Top Experts by Agilience Authority Index May 2016. You can reach him on LinkedIn or Twitter. Check all his presentation slides HERE.

Posted in Internet of Things | Leave a comment

How-To Become a FAVORIOT Developer

Be the first to develop your IoT application using FAVORIOT – send an email request (info@favoriot.com) with the following details for a FREE Account as a Beta Developer:

Name:
Preferred Username:
Email:

Magazine Favoriot-12.png

If you are having trouble with connecting your device to our platform please contact us at support@favoriot.com.

Full documentation and technical tutorial – HERE.

NOTE: As a Beta Developer, you are limited to 5 connected devices and average of 500 APIs calls per device per day.  Data retention will be 1 year. This is a limited time offer.

Posted in Internet of Things | Leave a comment

Create Your First IoT Application by Connecting Arduino to FAVORIOT Platform

arduino-1128227_1920.jpg

Arduino-to-FAVORIOT Tutorial

code to send data to FAVORIOT platform from Arduino

/*
    This sketch sends streams to FAVORIOT Platform using Ethernet shield
*/
#include <SPI.h>
#include <Ethernet.h>

const int ON = 1;    // Constant to indicate that lights are on
const int OFF = 2;  // Constant to indicate that lights are off
const String APIKEY = "YOUR API KEY HERE"; // Replace with your FAVORIOT apikey
const String DEVICE = "YOUR DEVICE HERE"; // Replace with the id_developer of your device

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// Your IP Address
IPAddress ip(192,168,1,16);

// api.favoriot.com IP Address
IPAddress server(182,54,199,106);

EthernetClient client; // Initialize the library instance
int ledPin = 5;        // Led pin number
int LDRPin = 7;        // LDR sensor pin number
String lights = "OFF";       // Current status
String newLights = "OFF";    // New status

// The setup routine runs once when you press reset
void setup() {
  pinMode(ledPin, OUTPUT);        // Initialize the digital pin as an output
  Serial.begin(9600);             // Start serial port
  Serial.println(F("Starting"));
  Ethernet.begin(mac,ip);         // Start the Ethernet connection
  delay(2000);                    // Give the Ethernet shield a second to initialize
}

// The loop routine runs over and over again forever
void loop() {
  int val = analogRead(LDRPin);   // Read the value from the sensor
  Serial.println(val);
  if (val > 990) {  // This is the value limit between day or night with our LDR sensor. Maybe you need adjust this value.
    newLights = OFF;             // Now it's night. We have to turn on the LED
    digitalWrite(ledPin, HIGH);   // Turn the LED on (HIGH is the voltage level)
  }
  else {
    newLights = ON;               // Now it's day. We have to turn off the LED
    digitalWrite(ledPin, LOW);    // Turn the LED off by making the voltage LOW
  }
  if (lights != newLights) {        // Check if we have a change in status
    Serial.println(F("Send Stream"));
    lights = newLights;             // Status update and send stream
    sendStream();
  }
  delay(500);
  // If there's incoming data from the net connection, send it out the serial port
  // This is for debugging purposes only
  while (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  if (!client.connected()) {
      client.stop();
  }
}
// Send stream to FAVORIOT
void sendStream()
{
  String txt = "";          // Text to send
  if ( lights == OFF ) {   // Alarm OFF
     txt = "OFF";
  } else {                  // Alarm ON
     txt = "ON";
  }
  Serial.println(txt);      // For debugging purpose only

  if (client.connect(server, 80)) {   // If there's a successful connection
    Serial.println(F("connected"));
    // Build the data field
    String json = "{\"device_developer_id\":\""+DEVICE+"\",\"data\":{\"Light\":\""+txt+"\"}}";
    // Make a HTTP request
    client.println("POST /v1/streams HTTP/1.1");
    client.println("Host: api.favoriot.com");
    client.println(F("apikey: YOUR API KEY HERE"));
    client.println("Content-Type: application/json");
    client.print("Content-Length: ");
    int thisLength = json.length();
    client.println(thisLength);
    client.println("Connection: close");

    client.println();
    client.println(json);
  }
  else {
    // If you didn't get a connection to the server:
    Serial.println(F("connection failed"));
  }

}




/*
  FAVORIOT Arduino Code for Wi-Fi shield
 */

#include <SPI.h>
#include <WiFi.h>

char ssid[] = "YOUR WI-FI Network SSID"; //  your network SSID (name)
char pass[] = "WI-FI Password";    // your network password (use for WPA, or use as key for WEP)

const String DEVICE = "DEVICE NAME"; // Replace with the id_developer of your device
String txt = "OFF";          // Text to send

int status = WL_IDLE_STATUS;

char server[] = "api.favoriot.com";    //  address for FAVORIOT Platform

WiFiClient client;

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  // check for the presence of the shield:
  // attempt to connect to Wifi network:
  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid, pass);
    // wait 10 seconds for connection:
    delay(10000);
  }
  Serial.println("Connected to wifi");
}

void loop() {

  // Json Data to send to Platform
  String json = "{\"device_developer_id\":\"YOUR DEVICE HERE\",\"data\":{\"light\":\""+txt+"\"}}";
  Serial.println(json);
  if (client.connect(server, 80)) {
    // Make a HTTP request:
    client.println("POST /v1/streams HTTP/1.1");
    client.println("Host: api.favoriot.com");
    client.println(F("apikey: YOUR API KEY HERE"));
    client.println("Content-Type: application/json");
    client.println("cache-control: no-cache");
    client.print("Content-Length: ");
    int thisLength = json.length();
    client.println(thisLength);
    client.println("Connection: close");

    client.println();
    client.println(json);
  }
  // if there are incoming bytes available
  // from the server, read them and print them:
  while (client.available()) {
    char c = client.read();
    Serial.write(c);
  }
  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    client.stop();
  }
  delay(10000);
}

This section provide tutorials on connecting various arduino device to FAVORIOT IoT. This easy tutorial helps you build a system for turning LED ON and OFF based in the light sensor reading (LDR sensor) and send an email alert. For this, a Arduino able to measure the light is used. In this tutorial you will learn how to:

  • Connect an Arduino to FAVORIOT to send data streams using FAVORIOT HTTP REST API.
  • Build an Notification system on FAVORIOT by writing Event Rule to send an email.

Components used

  • 1 x Arduino Uno.
  • 1 x Ethernet Shield.
  • 1 x Breadboard
  • 1 x Light sensor (LDR)
  • 1 x Resistance. Value of 10 KΩ
  • 1 x Resistance. Value of 220Ω
  • 1 x Led

Arduino is programmed to send a data stream to FAVORIOT depending on the intensity of light.

All the data streams sent by Arduino is stored in FAVORIOT platform.

In addition to storing data, the true power of FAVORIOT is to let you build Apps quickly with simple rule based on if-else logic. In this scenario we are going to build a Alert App that sends an email to you in case that Arduino detects the lights are ON or OFF.

The connections in Arduino are extremely simple. Refer to the diagram below.

Screenshot of Example Documentation created with Slate

If you are registered in FAVORIOT, you have a default device already created for you. Go to the right platform on https://platform.favoriot.com and see the device panel to see the devices that are present. Basically, you need the device_developer_id that might be something like defaultDevice@myusername. But if you want, you can create a new device and use it in this example.

Apikey

Now, go to your “account setting” which is available on the top right corner in the dropdown and check your Apikey. It’s a big alphanumeric token like:
“98346673a6377ef1fde2357ebdcb0da582b150b00cabcd5a0d83045425407ab4”.
You need this apikey to complete the example.

From Arduino you have to build a HTTP request and send the data.

HTTP request
POST /streams HTTP/1.1
Host: api.favoriot.com
Accept: application/json
Content-Type: application/json
apiKey: YOUR APIKEY HERE
Content-Length: YOUR CONTENT LENGTH HERE
Connection: close
Data

{ { "device_developer_id": "deviceDefault@FAVORIOT", "data": {"light":"ON"} } }

Alright then now your device must be sending streams when you turn on and turn off the lights.

It’s time to see whether you can view the data on the platform and check if we have new streams. Login to you account on https://platform.favoriot.com and go to data stream tab.

Screenshot of Example Documentation created with Slate

You will see data like this in the data stream tab.

Screenshot of Example Documentation created with Slate

Great! Now as we are receiving data on our platform let’s send an email whenever new data comes. Go to the Rules tab below the data stream tab.

When inside the Rule tab click on Add New Rule button. A form will appear and fill in the details as described:

Field Details
Rule Name Short name for rule (.e.g: Light_rule)
Description Describe what the rule does (.e.g.: sends email when light turn on or off)
Device Name Select from the dropdown on which you want to create the rule
Data Field for device this is optional field and decribe to which data inside the device you are associating the rule.
Rule Describe the rule here (see more information below)
Then select what to do from dropdown (email or sms. More alert channel coming soon.)
To enter the email or sms here (based in your previous selection in previous step).
Message enter the short message you want to be attache with alert.

The rule should be described as follows:

(stream.Light === "ON") || (stream.Light === "OFF")

The syntax should be followed while describing the rule. stream. prefix (adding stream. is required) is followed the data field sent by device which is light in this case (the data sent by the device is temperature then you will write stream.temperature). You can multiple rule using || (OR) && (AND) logical operators.

Now, whenever the data comes to the platform the rule will be triggered and alert will be sent.

Congratulations! you have just created an IoT project from scratch. Now go ahead and let your imagination run wild. Show us what great things you can build.

If you are interested in becoming a Beta Developer, please send email to info@favoriot.com

If you are having trouble with connecting your device to our platform please contact us at support@favoriot.com.

Full documentation and technical tutorial – HERE.

Posted in Internet of Things, Malaysia | Tagged , | Leave a comment

Introduction to FAVORIOT Middleware Platform

Overview

Internet of Things development is a complex effort. It will be a long journey job and time consuming if one have to develop it from scratch. IoT Middleware platforms offer a jumping-off point by combining many of the tools needed to manage a deployment of device management to data consumption into one service.

FAVORIOT is a middleware platform specifically designed for any the Internet of Things (IoT) and Machine to Machine (M2M) project. The platform is developed to support the integration of data from several sensors and actuators into the internet. Collecting and storing data from IOT devices become much easier. Moreover, the platform also helps developers in building vertical applications. By using the platform, the developer does not need to worry about hosting.

FAVORIOT enables the devices to push the data to the FAVORIOT middleware platform using its REST API. The external application can also pull the data from FAVORIOT middleware platform using REST API.

Components of FAVORIOT

Favoriot building block
Figure 1:  The Building Blocks of FAVORIOT Middleware Platform

As shown in figure 1 above, the FAVORIOT IOT Middleware consists of several building blocks:

  • Device Connectivity – Brings different protocols and different data format into one Application Programming Interface (API) ensuring accurate data streaming and interaction with all devices.
  • Device Management – To ensures the connected “things” are working properly. We create the abstraction of the physical devices in IOT realms within the IOT middleware
  • Scalable Database – Scalable storage of device data brings the requirements for hybrid cloud-based databases to a new level in terms of data volume, variety, velocity and veracity
  • Business Logic – Brings data to life with rule-based event-action-triggers.
  • Notification Engine – Combining business logic with notification engine enable execution of “smart” actions based on specific sensor data.
  • Dashboarding – Enables users to see patterns and observe trends from visualization dashboards where data is vividly portrayed through various type of charts.
  • Application Integration Interface – APIs that act as interfaces for third party systems.
  • Security Modul – All interaction with the IOT Middleware are secured via HTTP/TLS protocol.

How Does it Work?

Architecture
Figure 2:  The role of FAVORIOT IOT Middleware in an IOT Project

  • Connect Your IOT Device
    • Connect any type of device (Arduino, Raspberry Pi, Libelium)
    • And start your Internet of Things project with FAVORIOT middleware
  • Collecting Data
    • User our HTTP RESTful API to push JSON data generated by your device
    • Simple Data Structure
    • Secure: API Keys and HTTPS Connection
    • We store your data in our Scalable Big Data Storage.
  • Manage Devices and Data
    • Interact with your devices and data from FAVORIOT middleware.
    • Define your business logic through our RULE-BASED Engine.
    • Set Notification Action upon defining business logic.
  • Build your Application
    • Consume your data within FAVORIOT Platform using HTTPS PULL API.
    • Build your Own Application based on data pull from FAVORIOT (Visualization, Dashboarding, etc.).
    • Focus on your apps and let us carry the systems, security, and communications
    • Save development time
    • Let us take care of IT infrastructure cost, problems, and scalability for your IOT Project.

FAVORIOT Hierarchy

The device is a central entity in FAVORIOT. It is used to represent the physical devices in IOT realms within the IOT middleware. Hence the data from produced by devices can be aggregated easily. However, in FAVORIOT, IOT device and its data are managed and structured hierarchically.

  • Hierarchically, Entities such as Project, Application, Groups are used to group and structure the devices.
  • Data is associated with the stream/information produced by physical devices.
  • Rules can be defined to perform a certain action to events that raises in a device.

 

If you are interested in becoming a Beta Developer, please send email to info@favoriot.com

If you are having trouble with connecting your device to our platform please contact us at support@favoriot.com.

Full documentation and technical tutorial – HERE.

Posted in Internet of Things, Malaysia, Smart Cities | Tagged , | Leave a comment