JY61P.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. const i2c = require('i2c-bus');
  2. const i2c1 = i2c.openSync(1);
  3. // x,y,z角度=Angle/32768*180
  4. // const data1 = i2c1.readWordSync(0x50, 0x3d);
  5. // const data2 = i2c1.readWordSync(0x50, 0x3e);
  6. // const data3 = i2c1.readWordSync(0x50, 0x3f);
  7. // // 时间
  8. // const data4 = i2c1.readWordSync(0x50, 0x30);
  9. // const data5 = i2c1.readWordSync(0x50, 0x31);
  10. // const data6 = i2c1.readWordSync(0x50, 0x32);
  11. // const data7 = i2c1.readWordSync(0x50, 0x33);
  12. // 模块温度 = */100 °c
  13. // const data8 = i2c1.readWordSync(0x50, 0x40);
  14. // // 轴加速度xyz = Angle/32768*16
  15. // const data9 = i2c1.readWordSync(0x50, 0x34);
  16. // const data10 = i2c1.readWordSync(0x50, 0x35);
  17. // const data11 = i2c1.readWordSync(0x50, 0x36);
  18. // // 轴角速度xyz = Angle/32768*2000
  19. // const data12 = i2c1.readWordSync(0x50, 0x37);
  20. // const data13 = i2c1.readWordSync(0x50, 0x38);
  21. // const data14 = i2c1.readWordSync(0x50, 0x39);
  22. // // 高低气压pa
  23. // const data15 = i2c1.readWordSync(0x50, 0x45);
  24. // const data16 = i2c1.readWordSync(0x50, 0x46);
  25. // // 高度低|高cm
  26. // const data17 = i2c1.readWordSync(0x50, 0x47);
  27. // const data18 = i2c1.readWordSync(0x50, 0x48);
  28. // 高低经度 = %10000000/100000 lon
  29. // const data19 = i2c1.readWordSync(0x50, 0x49);
  30. // const data20 = i2c1.readWordSync(0x50, 0x4a);
  31. // // 高低纬度 = %10000000/100000 lat
  32. // const data21 = i2c1.readWordSync(0x50, 0x4b);
  33. // const data22 = i2c1.readWordSync(0x50, 0x4c);
  34. // // GPS高度
  35. // const data23 = i2c1.readWordSync(0x50, 0x4d);
  36. // // GPS航向角
  37. // const data24 = i2c1.readWordSync(0x50, 0x4e);
  38. // // GPS 地速低字
  39. // const data25 = i2c1.readWordSync(0x50, 0x4f);
  40. // // GPS 地速高字
  41. // const data26 = i2c1.readWordSync(0x50, 0x50);
  42. // const txt1 = `角度:x:${data1 / 32768 * 180},y:${data2 / 32768 * 180},z:${data3 / 32768 * 180}`
  43. // const txt2 = `GPS高度:${data23 / 100}`
  44. // const txt3 = `模块温度:${data8 / 100}`
  45. // const a = (data19.toString() + data20.toString()) % 10000000
  46. // const b = (data21.toString() + data22.toString()) % 10000000
  47. // console.log(data19, data20);
  48. // console.log(data21, data22);
  49. // console.log(txt1);
  50. const bf = Buffer.alloc(8)
  51. i2c1.writeByteSync(0x50, 0x49, 2)
  52. i2c1.i2cReadSync(0x50, bf.length, bf);
  53. const a = bf.readUIntBE(0, 6).toString();//切分字节流
  54. console.log(a);
  55. console.log(bf);
  56. const bd = Buffer.alloc(8)
  57. i2c1.writeByteSync(0x50, 0x4a, 2)
  58. i2c1.i2cReadSync(0x50, bd.length, bd);
  59. const b = bd.readUIntBE(0, 6).toString();//切分字节流
  60. console.log(b);
  61. console.log(bd);
  62. console.log(+a + +b);