Просмотр исходного кода

fix: 更新Air780XX 系列的注释

梁健 4 месяцев назад
Родитель
Сommit
709bef9a44

+ 10 - 21
module/Air780EHM_Air780EHV_Air780EGH/demo/airtalk/readme.md

@@ -1,8 +1,3 @@
-## 总体设计框图
-
- 
-
-
 
 ## 功能模块介绍
 
@@ -23,7 +18,7 @@
 
 1.    按一次boot,选择群组内第一个联系人,开始1对1对讲,再按一次boot,结束对讲
 2.    按一次powerkey,开始1对多广播,再按一次powerkey或者boot,结束对讲
-
+3.    当收到对讲信息的时候,LED灯常亮,关闭对讲的时候LED 灯灭,Air780XX 系列需要外接LED 灯
 
 ## 演示硬件环境
 
@@ -47,28 +42,22 @@
 
 1、搭建好硬件环境
 
-2、选择本demo 的全部文件(可不包含readme)
+2、创建群组:详情请见:https://docs.openluat.com/value/airtalk/
+
+3、选择本demo 的全部文件(可不包含readme)
 
-3、Luatools烧录内核固件和修改后的demo脚本代码
+4、Luatools烧录内核固件和修改后的demo脚本代码
 
-4、烧录成功后,自动开机运行,如果出现以下日志
+5、烧录成功后,自动开机运行,如果出现以下日志
 
 ``` lua
-I/user.播放完成 true
-I/user.录音完成 
-I/user.录音后文件大小 
+I/user. 联系人列表更新
 ```
 
-5、 在测试播放音频文件的时候,点powerkey 按键进行音频切换,切换内容是MP3,AMR格式,切换是通过播放优先级进行区分的,注意音频格式仅仅支持:MP3,WAV,AMR,点击boot 按键停止音频播放
-
-6、 在测试播放TTS的时候,点powerkey 按键进行TTS 音色切换,点击boot 按键停止音频播放,注意:仅支持中文TTS。
-
-
-7、在进行流式播放测试的时候,使用test.pcm 模拟音频来源,通过流式传输不断填入播放的音频,使用powerkey 按键进行音量减小,点击boot 按键进行音量增加,注意流式播放目前仅支持PCM 格式音频,可选择不同的采样率,以及位深
-
-8、在测试录音到文件(仅支持PCM),演示了pcm 录音到文件,使用powerkey 按键进行录音音量减小,点击boot 按键进行录音音量增加
+6、 点击BOOT 按键,会选择联系人列表第一个人,进行一对一对讲,当对面收到对讲,将亮起灯
 
-9、在测试流式录音(仅支持PCM),不断输出录音的数据地址和录音长度,供给应用层调用
+7、 点击POWERKEY按键,会进行广播,所有群组内的人,都会收到对讲消息,并亮起灯
 
+8、在进行流式播放测试的时候,使用test.pcm 模拟音频来源,通过流式传输不断填入播放的音频,使用powerkey 按键进行音量减小,点击boot 按键进行音量增加,注意流式播放目前仅支持PCM 格式音频,可选择不同的采样率,以及位深
 
 

+ 21 - 5
module/Air780EHM_Air780EHV_Air780EGH/demo/airtalk/talk.lua

@@ -1,7 +1,10 @@
 --[[
     演示airtalk基本功能
+    1.  按键操作
     按一次boot,开始1对1对讲,再按一次boot,结束对讲
     按一次powerkey,开始1对多对讲,再按一次powerkey或者boot,结束对讲
+    2. 指示灯
+    当收到对讲信息的时候,LED灯常亮,关闭对讲的时候LED 灯灭,Air780XX 系列需要外接LED 灯
 ]]
 
 -- 引入必要模块
@@ -24,10 +27,11 @@ local g_speech_active = false  -- 对讲状态标记
 local audio_setup_param = {
     model = "es8311",       -- 音频编解码类型,可填入"es8311","es8211"
     i2c_id = 0,             -- i2c_id,可填入0,1 并使用pins工具配置对应的管脚
-    pa_ctrl = 162,          -- 音频放大器电源控制管脚
-    dac_ctrl = 164,         -- 音频编解码芯片电源控制管脚    
+    pa_ctrl = gpio.AUDIOPA_EN,          -- 音频放大器电源控制管脚
+    dac_ctrl = 20,         -- 音频编解码芯片电源控制管脚    
 }
 
+
 -- 联系人列表回调函数
 local function contact_list_callback(dev_list)
     g_dev_list = dev_list
@@ -42,9 +46,9 @@ local function contact_list_callback(dev_list)
     end
 end
 
-local gpio_number = 20 -- air8000 核心板上的23 管脚
+local gpio_number = 20 -- 如果开发板上有灯,可以修改此处为需要的灯
 
-LED = gpio.setup(gpio_number, 1) -- 设置GPIO20为输出模式
+LED = gpio.setup(gpio_number, 1) -- 设置为LED输出模式,用于指示对讲功能
 
 
 -- 对讲状态回调函数
@@ -52,7 +56,7 @@ local function speech_state_callback(event_table)
     if not event_table then return end
     
     if event_table.state == extalk.START then
-        log.info("对讲开始,可以说话了")
+        log.info("对讲开始")
         LED(1)
         g_speech_active = true
     elseif event_table.state == extalk.STOP then
@@ -147,6 +151,7 @@ local function handle_key_press(is_power_key)
         -- 当前正在对讲,按任何键都结束对讲
         log.info("结束当前对讲")
         extalk.stop()
+        LED(0)       -- 关闭LED 灯
         g_speech_active = false
     else
         -- 当前未在对讲,根据按键类型开始不同对讲
@@ -168,6 +173,16 @@ local function handle_key_press(is_power_key)
 end
 
 
+local function lower_enter()     -- 如果需要进入低功耗,请在task 中调用此函数
+    -- WiFi模组进入低功耗模式
+    pm.power(pm.WORK_MODE, 1, 1)
+    -- 同时4G进入低功耗模式
+    pm.power(pm.WORK_MODE, 1)
+    sys.wait(20)
+    -- 暂停airlink通信,进一步降低功耗
+    airlink.pause(1)
+    
+end
 
 -- 用户主任务
 local function user_main_task()
@@ -187,6 +202,7 @@ local function user_main_task()
     end
     log.info("extalk初始化成功")
     LED(0)
+    -- lower_enter()               -- 需要进入低功耗,请打开此函数
     -- 等待按键消息并处理
     while true do
         local msg = sys.waitMsg(USER_TASK_NAME, MSG_KEY_PRESS)