以下示範是ESP8266-01和MPU6500間透過I2C傳送資料並且打印上相同區網手機瀏覽器上,並以每500毫秒自動更新數據。
可以透過以下網址下載程式碼:下載連結
Wire.beginTransmission(MPU);
Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
Wire.endTransmission(false);
Wire.requestFrom(MPU,14,1); // request a total of 14 registers
AcX = Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
AcY = Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)]
AcZ = Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
NowTemp = Wire.read()<<8|Wire.read();
GyX = Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
GyY = Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
GyZ = Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
MPU這個放入的參數為:0x68,代表I2C位址,至於0x3B、0x3D、0x3F...等這些,是取決於你要抓取MPU6050.h這個開頭檔裡面什麼位子什麼數值。
至於剩下的WebServer部分就大多參考ESP8266所提供的範例了。
上述如果有錯誤或是更好的方法,提醒和交流我會非常感激。