Posts in IOT PLATFORM

IOT Development in Malaysia

May 8th, 2017 Posted by IOT PLATFORM 2 thoughts on “IOT Development 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 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 , Fusionex, VADS Lfye 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.

How to Become FAVORIOT Beta Developer

May 3rd, 2017 Posted by IOT PLATFORM 0 thoughts on “How to Become FAVORIOT Beta 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:

Country:

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.

Create Your First IoT Application by Connecting Arduino to FAVORIOT Platform

May 1st, 2017 Posted by BLOG, IOT PLATFORM 0 thoughts on “Create Your First IoT Application by Connecting Arduino to FAVORIOT Platform”

Check out the COMPLETE Tutorial How to connect an Arduino to FAVORIOT Platform. You can also download a STEP-by-STEP Tutorial –  TUTORIAL – Cytron Uno with FAVORIOT Platform (59 downloads)

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 a 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:

FieldDetails
Rule NameShort name for rule (.e.g: Light_rule)
DescriptionDescribe what the rule does (.e.g.: sends email when light turn on or off)
Device NameSelect from the dropdown on which you want to create the rule
Data Field for devicethis is optional field and decribe to which data inside the device you are associating the rule.
RuleDescribe the rule here (see more information below)
Thenselect what to do from dropdown (email or sms. More alert channel coming soon.)
Toenter the email or sms here (based in your previous selection in previous step).
Messageenter 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 having trouble with connecting your device to our platform please contact us at support@favoriot.com.

FAVORIOT offered a very affordable pricing plan as shown below:

The Beginner Plan is very suitable for University students who have been assigned or chose IoT project as their Final Year Project. A single device such as Raspberry Pi or Arduino that collects from several connected sensors can stream to the IoT platform. A simple dashboard is provided to visualize the measurements. This plan is also suitable for an individual developer or hobbyist that would like to familiarize with IoT platform, conduct self-learning or participate in IoT Hackathons. At RM 8.33 (or less than USD 2.00) per month, you can become the next Generation-IoT and on your way to be one of the rare talents in the job market today!

The Startup Plan is perfect for Freelancers or SMEs or Startups to provide IoT solution for a medium size project up to 150 devices. In fact, they can also create multiple projects or applications but limited to the total number of 150 devices.

The Business Plan is great for developing big commercial IoT project. It can support up to 300 devices for many smart applications.

However, if a company requires connecting thousands of devices, they may contact/email their customized requirements to sales@favoriot.com

screenshot_02.png

CLICK HERE to Subscribe/Request for Quotation.

Check out the COMPLETE Tutorial How to connect an Arduino to FAVORIOT Platform. You can also download a STEP-by-STEP Tutorial –  TUTORIAL – Cytron Uno with FAVORIOT Platform (59 downloads)

Full documentation and technical tutorial – HERE.

Copyright © 2026 All rights reserved