4GAT.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. const SerialPort = require('serialport')
  2. const Readline = require('@serialport/parser-readline')
  3. const port = new SerialPort('/dev/ttyUSB2')
  4. const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
  5. const parser = port.pipe(new Readline({ delimiter: '\r\n' }))
  6. parser.on('data', (data) => {
  7. if (data.includes('+CSQ:')) {
  8. try {
  9. const str = data.substring(data.indexOf(':') + 2)
  10. const list = str.split(',')
  11. // 分3等份正常信号值10~31
  12. const s = +list[0]
  13. if (s >= 10 && s <= 31) {
  14. if (s <= 17) {
  15. console.log('信号差', 1, s);
  16. } else if (s > 17 && s <= 24) {
  17. console.log('信号弱', 2, s);
  18. } else {
  19. console.log('信号强', 3, s);
  20. }
  21. } else {
  22. console.log('信号差', 1);
  23. }
  24. } catch (error) {
  25. console.log(error);
  26. }
  27. }
  28. })
  29. port.write(Buffer.from('AT+CSQ\r\n'))
  30. test()
  31. async function test() {
  32. await sleep(5000)
  33. port.write(Buffer.from('AT+CSQ\r\n'))
  34. await test()
  35. }