Showing posts with label esp8266. Show all posts
Showing posts with label esp8266. Show all posts

Tuesday, September 26, 2017

How to Install ESP32 Board in Arduino IDE ( Ubuntu /Debian )

How to Install  ESP32 Board in Arduino IDE ( Ubuntu /Debian )

Now a days ESP32 become more popular than NodeMCU.

ESP32 board is not available in Arduino IDE.

For Adding ESP32 Board in Arduino IDE

First you have to install the latest Arduino IDE from arduino.cc

Run the following commands in a terminal

sudo usermod -a -G dialout $USER && \
sudo apt-get install git && \
wget https://bootstrap.pypa.io/get-pip.py && \
sudo python get-pip.py && \
sudo pip install pyserial 
 
 
 Now make a folder espressif in your arduino/hardware folder and change to that directory
 
 
 
 mkdir -p ~/Arduino/hardware/espressif 
cd ~/Arduino/hardware/espressif  
 
 
now run the following command
 
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py
 
 
Copy and paste the above all commands in a terminal. 
It will download and install all the required files and settings.


Restart Arduino IDE.


Monday, July 4, 2016

Features of Serial Wifi Module Esp8266





Main features of ESP8266 are:
  • Integrated low-power 32-bit MCU
  • 802.11 b/g/n protocol
  • UART/SPI/I2C/GPIO/ADC/PWM
  • Infrastructure BSS Station mode / P2P mode / softAP mode support
  • Integrated TCP/IP protocol stack
  • WPA/WPA2 PSK, and WPS driver
  • built-in AT Command firmware
  • Integrated PLL, regulators and power-management units
  • +19.5dBm output power in 802.11b mode
  • Antenna diversity and selection (software managed hardware)
  • SDIO 2.0, SPI, UART
  • Maximum frequency is 80MHz
  • 64k bytes of instruction RAM
  • 96k bytes of data RAM
  • 64k bytes of boot RAM
  • RISC architecture

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

Monday, February 1, 2016

Arduino Killer - ESP8266 Based NodeMCU



The ESP8266 WiFi Module is an embedded SOC with integrated TCP/IP protocol stack. It helps   microcontrollers  access to your WiFi network. IoT devices exploits this facility. Lot of firmwire you can use with ESP8266. Many ESP8266 comes with AT firmware for serial communications. NodeMCU is one of them, which supports lua programming language. Latest ESP8266 boards contains plenty of I/O lines and ADC,PWM, I2C,SPI  features like Arduino. It is very cheap($3-Rs.180)
All of the above board build with ESP8266. Almost all are same.