alienwalker 8 месяцев назад
Родитель
Сommit
757da3c1ac

+ 2 - 2
components/airtalk/binding/luat_lib_airtalk.c

@@ -229,9 +229,9 @@ static const rotable_Reg_t reg_airtalk[] =
 	{ "debug",      ROREG_FUNC(l_airtalk_debug)},
 	//@const PROTOCOL_MQTT number 语音数据用MQTT传输
     { "PROTOCOL_MQTT",        ROREG_INT(LUAT_AIRTALK_PROTOCOL_MQTT)},
-	//@const PROTOCOL_MQTT number 语音数据用MQTT传输
+	//@const MODE_PERSON number 对讲工作模式1对1
     { "MODE_PERSON",        ROREG_INT(LUAT_AIRTALK_SPEECH_MODE_PERSON)},
-	//@const PROTOCOL_MQTT number 语音数据用MQTT传输
+	//@const MODE_GROUP number 对讲工作模式多人
     { "MODE_GROUP",        ROREG_INT(LUAT_AIRTALK_SPEECH_MODE_GROUP)},
 	//@const EVENT_OFF_LINE number airtalk离线
     { "EVENT_OFF_LINE",       ROREG_INT(LUAT_AIRTALK_CB_ON_LINE_IDLE)},

+ 2 - 2
components/misc/binding/luat_lib_misc.c

@@ -20,7 +20,7 @@
 某个引脚的GPO功能使能
 @api misc.gpo_setup(id)
 @int id, GPO编号
-@return nil
+@return nil 无返回值
 @usage
 misc.gpo_setup(0)
 */
@@ -37,7 +37,7 @@ GPO输出高低电平
 @api misc.gpo_output(id,level)
 @int id, GPO编号
 @int level, 1高电平,0低电平
-@return nil
+@return nil 无返回值
 @usage
 misc.gpo_output(0,1)
 */

+ 22 - 14
luat/demo/airtalk/airtalk_demo.lua → luat/demo/airtalk/airtalk_net_ctrl.lua

@@ -1,12 +1,11 @@
-local mqtt_host = "lbsmqtt.openluat.com"
-local mqtt_port = 1886
-local mqtt_isssl = false
-local client_id = nil
-local user_name = "mqtt_hz_test_1"
-local password = "Ck8WpNCp"
-local mqttc = nil
 require "audio_config"
 
+local mqttc = nil
+
+local function task_cb(msg)
+    log.info("未处理消息", msg[1], msg[2], msg[3], msg[4])
+end
+
 local function airtalk_event_cb(event, param)
     log.info("airtalk event", event, param)
 end
@@ -15,15 +14,18 @@ local function mqtt_cb(mqtt_client, event, data, payload)
     log.info("mqtt", "event", event, mqtt_client, data, payload)
 end
 
-function airtalk_demo_mqtt_8k(speech_topic)
+function airtalk_mqtt_task()
+    local msg
     --client_id也可以自己设置
-    client_id = mobile.imei()
+    local client_id = mobile.imei()
+    local user = mobile.imei()
+    local password = mobile.muid()
     audio_init()
 
-    mqttc = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl, {rxSize = 4096})
-    airtalk.config(airtalk.PROTOCOL_DEMO_MQTT_8K, mqttc, 200) -- 缓冲至少200ms播放
+    mqttc = mqtt.create(nil, mqtt.airtalk.luatos.com, 1883, false, {rxSize = 4096})
+    airtalk.config(airtalk.PROTOCOL_MQTT, mqttc, 200) -- 缓冲至少200ms播放
     airtalk.on(airtalk_event_cb)
-    airtalk.start(client_id, speech_topic)
+    airtalk.start()
 
     mqttc:auth(client_id,user_name,password) -- client_id必填,其余选填
     mqttc:keepalive(240) -- 默认值240s
@@ -34,7 +36,13 @@ function airtalk_demo_mqtt_8k(speech_topic)
     -- mqttc自动处理重连, 除非自行关闭
     mqttc:connect()
     while true do
-        --全是底层自动运行,到这里没什么可以演示的了
-        sys.wait(60000000)
+        msg = sys.waitMsg(AIRTALK_TASK_NAME)
+        if type(result) == 'table' then
+
+        end
     end
+end
+
+function airtalk_mqtt_init()
+    sys.taskInitEx(airtalk_mqtt_task, AIRTALK_TASK_NAME, task_cb)
 end

+ 4 - 16
luat/demo/airtalk/main.lua

@@ -1,22 +1,10 @@
 PROJECT = "airtalk_demo"
 VERSION = "1.0.0"
-require "airtalk_demo"
-local uplink = false
-local function key_cb()
-    if uplink then
-        uplink = false
-    else
-        uplink = true
-    end
-    log.info("uplink", uplink)
-    airtalk.uplink(uplink)
-end
+require "airtalk_net_ctrl.lua"
+
+AIRTALK_TASK_NAME = "airtalk_task"
 
---按下boot开始上传,再按下停止,加入了软件去抖,不需要长按了
-gpio.setup(0, key_cb, gpio.PULLDOWN, gpio.RISING)
-gpio.debounce(0, 200, 1)
---开始演示airtalk,并且修改对应的topic,如果留空,则其他人也能听到了
-sys.taskInit(airtalk_demo_mqtt_8k, "改成自己的topic")
+airtalk_mqtt_init()
 --定期检查ram使用情况,及时发现内存泄露
 sys.taskInit(function()
     while true do