user40614: I followed this tutorial to connect the ESP8266 to a wifi network using AT commands. I used the below schematics (without the connection between ESP's CPIO 0 and Arduino's Ground):

After that, I was able to follow through the tutorial and got this response in the Serial Monitor:

That means my ESP8266 has successfully connected to my Wifi named W3. However, I decided to switch the mode of my ESP8266 from Network Device (mode 1) to Both network device AND Access Point (mode 3) (at this point I called AT+CWJAP? and can still see that it's connected to W3 wifi). I then was able to see the ESP wifi in my wifi list as (AI-THINKER_4C8CF2) but when I connected to it, I cannot connect to the internet. I'm wondering what the problem is and would appreciate any help.
Note: The reason why I switched to mode 3 is because I want to control an Arduino Pro Mini (instead of Arduino Pro) using NodeJS. I followed another tutorial and I figured that I need to connect to an ESP8266 access point. 
I uploaded the StandardFirmataSketchPlus to my Arduino Pro Mini, with the baud rate set to 115200 (which is the same baud rate with my ESP8266). The schematic I used is similar to the one below, except I used a 3.3V Pro Mini and a Lipo battery, instead of a 5V:
 
The nodejs code is below:
var VirtualSerialPort = require('udp-serial').SerialPort;
var firmata = require('firmata');
var five = require("johnny-five");
var sp = new VirtualSerialPort({
  host: '192.168.1.243' //I got this number from the AT command (STAIP above)
 });

var io = new firmata.Board(sp);

io.once('ready', function(){
    io.isReady = true;

    var board = new five.Board({io: io, repl: true});

    board.on('ready', function(){
        var led = new five.Led(12);
        led.blink(3000);
    });
});

This code is to test the connection between Arduino and Nodejs and when I run this file, it doesn't work. 

user37622: you have Firmata in Atmega, AT firmware in ESP and the 'blink led' js on computer.
you did not follow the tutorial properly. it requires jonny-five firmware in esp8266

40614: <p>I followed <a href="https://www.agcross.com/2015/09/the-esp8266-wifi-chip-part-2-connecting-to-a-network/" rel="nofollow noreferrer">this tutorial</a> to connect the ESP8266 to a wifi network using AT commands. I used the below schematics (without the connection between ESP's CPIO 0 and Arduino's Ground):</p>

<p><a href="https://i.stack.imgur.com/nD18w.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nD18w.png" alt="enter image description here"></a></p>

<p>After that, I was able to follow through the tutorial and got this response in the Serial Monitor:</p>

<p><a href="https://i.stack.imgur.com/40WaU.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/40WaU.png" alt="enter image description here"></a></p>

<p>That means my ESP8266 has successfully connected to my Wifi named W3. However, I decided to switch the mode of my ESP8266 from Network Device (mode 1) to Both network device AND Access Point (mode 3) (at this point I called AT+CWJAP? and can still see that it's connected to W3 wifi). I then was able to see the ESP wifi in my wifi list as (AI-THINKER_4C8CF2) but when I connected to it, I cannot connect to the internet. I'm wondering what the problem is and would appreciate any help.</p>

<p><em>Note:</em> <strong>The reason why I switched to mode 3 is because I want to control an Arduino Pro Mini (instead of Arduino Pro) using NodeJS.</strong> I followed <a href="https://medium.com/@imkiran/connecting-johnny-five-arduino-raspberry-pi-etc-over-wifi-to-the-pc-using-esp8266-a10348fdb300" rel="nofollow noreferrer">another tutorial</a> and I figured that I need to connect to an ESP8266 access point. </p>

<p>I uploaded the StandardFirmataSketchPlus to my Arduino Pro Mini, with the baud rate set to 115200 (which is the same baud rate with my ESP8266). The schematic I used is similar to the one below, except I used a 3.3V Pro Mini and a Lipo battery, instead of a 5V:</p>

<p><a href="https://i.stack.imgur.com/BxKjQ.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/BxKjQ.jpg" alt="enter image description here"></a> </p>

<p>The nodejs code is below:</p>

<pre><code>var VirtualSerialPort = require('udp-serial').SerialPort;
var firmata = require('firmata');
var five = require("johnny-five");
var sp = new VirtualSerialPort({
  host: '192.168.1.243' //I got this number from the AT command (STAIP above)
 });

var io = new firmata.Board(sp);

io.once('ready', function(){
    io.isReady = true;

    var board = new five.Board({io: io, repl: true});

    board.on('ready', function(){
        var led = new five.Led(12);
        led.blink(3000);
    });
});
</code></pre>

<p>This code is to test the connection between Arduino and Nodejs and when I run this file, it doesn't work. </p>
 37622: <p>you have Firmata in Atmega, AT firmware in ESP and the 'blink led' js on computer.</p>

<p>you did not follow <a href="https://medium.com/@imkiran/connecting-johnny-five-arduino-raspberry-pi-etc-over-wifi-to-the-pc-using-esp8266-a10348fdb300" rel="nofollow noreferrer">the tutorial</a> properly. it requires <a href="https://github.com/anaganisk/johnny-five-esp8266.git" rel="nofollow noreferrer">jonny-five firmware</a> in esp8266</p>
