voc_app.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --[[
  2. @module voc_app
  3. @summary voc_app应用功能模块
  4. @version 1.0
  5. @date 2025.10.21
  6. @author 沈园园
  7. @usage
  8. 本文件为voc_app应用功能模块,核心业务逻辑为:
  9. 1、每隔1秒读取一次TVOC空气质量数据;
  10. 本文件没有对外接口,直接在main.lua中require "voc_app"就可以加载运行;
  11. ]]
  12. --加载AirVOC_1000驱动文件
  13. local air_voc = require "AirVOC_1000"
  14. --每隔1秒读取一次TVOC数据
  15. local function read_voc_task_func()
  16. --打开voc硬件
  17. air_voc.open(1)
  18. while true do
  19. --读取TVOC的ppb,ppm,quality_level值
  20. local ppb = air_voc.get_ppb()
  21. local ppm = air_voc.get_ppm()
  22. local level, description = air_voc.get_quality_level()
  23. --读取成功
  24. if ppb then
  25. log.info("空气质量",
  26. string.format("TVOC: ppb %d, ppm %.3f, 等级 %d(%s)",
  27. ppb, ppm, level, description))
  28. --读取失败
  29. else
  30. log.error("空气质量", "读取数据失败")
  31. end
  32. --等待1秒
  33. sys.wait(1000)
  34. end
  35. --关闭voc硬件
  36. air_voc.close()
  37. end
  38. --创建一个task,并且运行task的主函数read_voc_task_func
  39. sys.taskInit(read_voc_task_func)