The Esp8266_01 service can be used to connect any of the i2c devices that exists in MRL to an ESP8266-01 or any other variant of ESP8266.
An ESP8266 is a small WiFi enabled device that comes in many different variants. The variant I have tested is the ESP8266-01. The Esp8266-01 service acts as an i2cController, so any i2c device can be connected to is. So now we have:
Wireless servos using Adafruit16CServoDriver
Wireless Voltage and Current measuring using AdafruitIna219
Wireless A/D conversion using Ads1115
Wireless IMU using either Bno055 or Mpu6050
Wireless display using OledSsd1306
Wireless digital I/O expander using Pcf8574
And all the devices above can be connected on the same ESP8266 using only two pins.
And if you want to use multiple i2c devices with the same address, the i2cMux also works wireless
References:
https://www.sparkfun.com/products/13678
http://www.instructables.com/id/How-to-use-the-ESP8266-01-pins/step3/Be…
http://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/
https://www.youtube.com/user/acrobotic/videos
To use the Esp8266_01 service you also need compile and upload the Esp8266_01.ino file to the Esp8266. The sketch can be found in <MRL-home>\resource\Esp8266_01
To connect a i2c device use this schematic. The schematic shows an MPU-6050, but you can connect any other i2c device the same way.
When you connect to the esp8266_01 using this address: http://esp8266-01.local/ it will show a screen with a map of all connected i2c devices.
This video expains more about the different steps: