Monday, June 27, 2016

How to run H.265 / HEVC codec Movies on Ubuntu 16.04

How to run  H.265 / HEVC codec Movies  on Ubuntu 16.04

Add the following repository

$ sudo apt-add-repository ppa:strukturag/libde265 $ sudo apt-get update

 

Now install gstreamer

$ sudo apt-get install gstreamer0.10-libde265
 
Install vls Plugin
 
$ sudo apt-get install vlc-plugin-libde265 

Now your system is ready to run 
H.265 / HEVC codec Movies

 

Sunday, June 26, 2016

Nodemcu (ESP8266) Based Device Control Using Arduino IDE


This Experiment will help you to "Turn On and Turn Off" an LED that has connected to the Nodemcu (Esp8266), the Nodemcu has programmed from Arduino IDE to control the Device (here it is LED).

  Connect Nodemcu ( Esp8266)  to the Wi-Fi  using SSID and password .


After uploading the program , use Serial monitor to find the IP Address and url for controlling Device



#include <ESP8266WiFi.h>
 
const char* ssid = "your SSID";
const char* password = "Your Password";
 
int ledPin = 2; // GPIO13 // NodMcu builtin LED
WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  delay(10);
 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
 
  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
 
  // Start the server
  server.begin();
  Serial.println("Server started");
 
  // Print the IP address
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
 //see your serial monitor with boud rate 115200 for see the link
}
 
void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // Match the request
 
  int value = LOW;
  if (request.indexOf("/LED=ON") != -1)  {
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
  if (request.indexOf("/LED=OFF") != -1)  {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  }
 
// Set ledPin according to the request
//digitalWrite(ledPin, value);
 
  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("LED STATUS ");
 
  if(value == LOW) {
    client.print("ON");
  } else {
    client.print("OFF");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED=ON\"\"><button>Turn On </button></a>");
  client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></a><br />");  
  client.println("</html>");
 
 delay(1);
  Serial.println("Client disonnected");
  Serial.println("");
 
}

Arduino NodeMcu (ESP8266) Pin Mapping

 
 Arduino NodeMcu (ESP8266) Pin Mapping 
 
 If you use  NodeMcu borad  with Arduino IDE the following chart will help to find the pin maping

eg. NodeMCU Pin D1 is equivalent to arduino Pin 5. 


Built in LED of NodeMCU is connected to D4  in arduino programming it equivalent to Pin 2 
 
NodeMCU      Arduino
 D0      =    16
 D1      =    5
 D2      =    4
 D3      =    0
 D4      =    2
 D5      =    14
 D6      =    12
 D7      =    13
 D8      =    15
 D9      =    3
 D10     =    1