Lte_test.lua 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. --[[
  2. @module Lte_test
  3. @summary Lte_test测试功能模块
  4. @version 1.0
  5. @date 2025.10.15
  6. @author 马亚丹
  7. @usage
  8. 本demo演示的功能为:使用Air780EPM,1.3开发板,GPIO27,即LTE(板子上的NET)指示灯演示亮灭显示。
  9. 核心逻辑:
  10. 1.初始化LTE,打开LTE指示灯功能;
  11. 2.LTE灯状态模拟,通过sys.publish("LTE_LED_UPDATE", 状态):手动模拟状态触发,控制 LTE 灯的亮灭状态
  12. 3.关闭常规LTE灯功能(避免冲突),演示呼吸灯效果
  13. ]]
  14. -- 网络状态指示灯演示示例
  15. -- 注意:需在支持gpio和sys库的环境中运行(如嵌入式Lua开发板)
  16. -- 引入必要模块
  17. local netLed = require("netLed")
  18. -- 初始化Lte引脚(根据实际硬件调整)
  19. -- 初始低电平(灭)
  20. local ltePin = gpio.setup(27, 0, gpio.PULLUP)
  21. -- 模拟LTE灯不同状态的任务
  22. local function ltetest()
  23. while true do
  24. -- 打开指示灯功能,开启功能,LTE灯用GPIO27
  25. netLed.setup(true, 0xffff, 27)
  26. -- 状态1:LTE灯常灭(初始状态)
  27. log.info("LTE灯状态", "常灭")
  28. -- 灭
  29. sys.publish("LTE_LED_UPDATE", false)
  30. -- 演示效果,维持5秒
  31. sys.wait(5000)
  32. -- 状态2:LTE灯常亮
  33. log.info("LTE灯状态", "常亮")
  34. -- 亮
  35. sys.publish("LTE_LED_UPDATE", true)
  36. -- 演示效果,维持5秒
  37. sys.wait(5000)
  38. -- 状态3:LTE灯慢速闪烁(500ms亮/500ms灭)
  39. log.info("LTE灯状态", "慢速闪烁(500ms亮/500ms灭)")
  40. -- 演示效果,闪烁5次
  41. for i = 1, 5 do
  42. sys.publish("LTE_LED_UPDATE", true)
  43. sys.wait(500)
  44. sys.publish("LTE_LED_UPDATE", false)
  45. sys.wait(500)
  46. end
  47. -- 状态4:LTE灯快速闪烁(100ms亮/100ms灭)
  48. log.info("LTE灯状态", "快速闪烁(100ms亮/100ms灭)")
  49. -- 演示效果,闪烁10次
  50. for i = 1, 10 do
  51. sys.publish("LTE_LED_UPDATE", true)
  52. sys.wait(100)
  53. sys.publish("LTE_LED_UPDATE", false)
  54. sys.wait(100)
  55. end
  56. -- 状态5:LTE灯呼吸灯效果(通过渐变模拟)
  57. log.info("LTE灯状态", "呼吸灯效果")
  58. -- 先关闭常规LTE灯功能(避免冲突)
  59. netLed.setup(false, 0xffff, 27)
  60. -- 自定义呼吸灯逻辑(复用netLed的呼吸灯函数)
  61. local n = 0
  62. while n < 10 do
  63. -- 传入LTE灯引脚
  64. netLed.setupBreateLed(ltePin)
  65. -- 呼吸灯循环间隔
  66. sys.wait(20)
  67. n = n + 1
  68. end
  69. end
  70. end
  71. sys.taskInit(ltetest)