• Stars
    star
    191
  • Rank 198,192 (Top 4 %)
  • Language
    C++
  • License
    MIT License
  • Created over 9 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple Arduino library to perform HTTP operations on the ESP8266 Wifi Device

ESP8266_Simple

Simple to use Arduino library to interface to ESP8266 Wifi (802.11 b/g/n) Module

Firmware Version

This library was written when 0.9.2.4 was the common firmware on ESP8266 devices (roughly late 2014 through to somewhere around march-april 2015).

Subsequently I have updated it to work with 0.9.5.2, you can get this firmware here

Later versions (1.0 and greater) may or may not work, I have not tested.

Download, Install and Example

  • Download: http://sparks.gogo.co.nz/ESP8266_Simple.zip
  • Open the Arduino IDE (1.0.5)
  • Select the menu item Sketch > Import Library > Add Library
  • Choose to install the ESP8266_Simple.zip file you downloaded
  • Now you can choose File > Examples > ESP8266_Simple > HelloWorld
  • Edit the SSID and PASSWORD where indicated, upload, and open the serial terminal

Note the standard Serial baud rate is set to 115k so be sure to select that in your terminal, we want our debugging terminal as fast as possible so that we can keep up with the ESP8266 on the SoftwareSerial connection and avoid buffer overflows.

However, if your particular Arduino has trouble communicating on it's serial port at 115k (you get continual garbage in the serial terminal), you can drop it down, just change the value in the sketch. Usually it's fine, but technically speaking it's pushing limits a bit with 16MHz crystals.

Connecting To Your Arduino

The ESP8266 is a 3.3 Volt Module, both power and signalling is 3.3v, so you can not connect it directly to a 5v Arduino, you will need to level-shift, an example diagram given below.

This library uses SoftSerial, so that your normal hardware serial can still be used for your debugging.

The 3.3v supply must be quite "strong", the on-board 3.3v (if any) that your Arduino supplies may not be sufficient, you will most likely have to give it a 3.3v supply (of course, you must share a ground between your arduino and the ESP8266 for them to talk!)

Example Wiring Diagram for ESP8266 Level Shifted with Zeners to Arduino

There are a few different modules of ESP8266, this is the most common.

Pinout Of Common (V091) ESP8266 Module

Usage

Open the HelloWorld example, it really is as simple as can be. Also provided is an HTTP Server example.

Caveats

Not multi-threaded, you can request or serve one thing at a time.

Only SoftwareSerial is supported currently, although I will eventually make it work with HardwareSerial as well probably.

This is all very experimental.

Patches Welcome

By all means!

More Repositories

1

DS3231_Simple

An Arduino Library for EASY communication with DS3231 I2C RTC Clock and Atmel AT24C32 I2C EEPROM commonly found on the same board. Implements setting, getting the time/date, setting, checking and clearing alarms, and dead-easy circular-buffered logging of data with timestamp.
C++
77
star
2

JQ6500_Serial

Arduino Library for the JQ6500 MP3 Player Modules
C++
47
star
3

SimpleSleep

An Arduino library for simple means of putting your Arduino into low power sleep modes.
C++
45
star
4

HMC5883L_Simple

Simple to use Arduino library to interface to HMC5883L Magnetometer (Digital Compass)
C++
32
star
5

FlashAirSync

A simple automatic file synchronisation script for Toshiba FlashAir devices.
PHP
29
star
6

ArduinoOrientedChipPinoutCreator

A quick-and-dirty tool to create pinout diagrams of a Microcontroller (2 sided or 4 sided) IC from a JSON based description of the IC
JavaScript
28
star
7

gerb2etch

Bash script to convert gerber (and drill) files into a PDF containing artwork suitable for DIY PCB etching.
Shell
24
star
8

pcb-test-pattern

A test pattern for checking your Homebrew PCB efforts.
21
star
9

MCP41_Simple

Simple Arduino Library for the MCP41 Series Of 8 Bit Digital Potentiometers (MCP41010, MCP41050, MCP41100)
C++
14
star
10

JQ8400_Serial

Arduino library to interface to JQ8400 (JQ8400-FL, JQ8400-TF) Mp3 Player Modules
C++
12
star
11

xinha

WYSIWYG HTML Editor Component (turns <textarea> into HTML editors)
JavaScript
10
star
12

gogoTradeMe

PHP Trade Me API Binding
PHP
10
star
13

gerbv

gerbv ( http://gerbv.geda-project.org/ ) - modified to work with Stijn Kuiper's Gerber Panelizer output.
C
4
star
14

gogoOAuth

Simple PHP OAuth
PHP
2
star
15

LiquidCrystal_I2C_DFR

LiquidCrystal API compatible library for interfacing to "DFRobot", "YWRobot" and "SYDZ" type I2C 1602 backpacks using the PCF8574 I2C expander.
C++
2
star
16

Arduino-ATtiny-Core

ATtiny Core for Arduino, bringing in partial vendor drops from both arduino/Arduino and SpenceKonde/ATTinyCore, with merges to combine the two into master.
C++
2
star
17

PCD8544_Simple

Simple Arduino library for Nokia 5510 type displays.
C++
1
star