diff --git a/rk3308/aispeech-4mic-32bit/RkLunch.sh b/rk3308/aispeech-4mic-32bit/RkLunch.sh new file mode 100755 index 0000000..ae34d25 --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/RkLunch.sh @@ -0,0 +1,48 @@ +arecord -D vad -c 8 -r 16000 -f S16_LE -d 1 -t raw /tmp/test.pcm +rm /tmp/test.pcm +echo 0x60 0x40ff0050 > /sys/kernel/debug/vad/reg +echo 0x5c 0x000e2080 > /sys/kernel/debug/vad/reg + +ln -s /oem/aispeech_softap_lite /data/aispeech_softap_lite +ln -s /oem/wifi_monitor.sh /data/ +ln -s /oem/dds_client /data/dds_client +ln -s /oem/dds_service.sh /data/ + +export AISPEECH_WIFI_CFG="/data/wpa_supplicant.conf" + +#aispeech dui app information file +export AISPEECH_DUIKIT_APP="/data/aispeech_softap_lite/device/app.json" + +#aispeech dui device file +export AISPEECH_DUIKIT_DEVICE="/data/aispeech_softap_lite/device/device.json" + +#aispeech dui softap web server address +export AISPEECH_SOFTAP_SERVER_PORT="8000" + +#aispeech dui softap configuration folder +export AISPEECH_SOFTAP_DIR="/data/cfg" + +export AISPEECH_DO_CONNECT_MP3="/data/aispeech_softap_lite/audio/do_connect.mp3" + +export AISPEECH_WIFI_OK_MP3="/data/aispeech_softap_lite/audio/wifi_ok.mp3" + +export AISPEECH_NEED_CONNECT_MP3="/data/aispeech_softap_lite/audio/need_connect.mp3" + +export AISPEECH_CONNECT_OK_MP3="/data/aispeech_softap_lite/audio/connect_ok.mp3" + +export AISPEECH_START_CONNECT_MP3="/data/aispeech_softap_lite/audio/start_connect.mp3" + +export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/userdata:/userdata/bin:/data/bin:/data/bin/rk_pcba_test:/data/aispeech_softap_lite/bin + +if [ -f ${AISPEECH_WIFI_CFG} ]; then + #aispeech_player ${AISPEECH_WIFI_OK_MP3} + wpa_supplicant -B -i wlan0 -c ${AISPEECH_WIFI_CFG} & + dhcpcd & + aispeech_player ${AISPEECH_DO_CONNECT_MP3} +else + aispeech_player ${AISPEECH_NEED_CONNECT_MP3} & + aispeech_softap_server -s aiengine -p 12345678 start & +fi +aispeech_startup & +/data/wifi_monitor.sh & +amixer cset name='Master Playback Volume' 90% diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/README b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/README new file mode 100755 index 0000000..acf5f0a --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/README @@ -0,0 +1,24 @@ +一、需要设置的环境变量,如果不设置使用默认值 + +//app发送的元数据,写入此文件 +export AISPEECH_DUIKIT_APP="/data/cfg/app.json" + +//device元数据,app获取此信息 +export AISPEECH_DUIKIT_DEVICE="/data/cfg/device.json" + +//配网文件 +export AISPEECH_WIFI_CFG="/data/cfg/wpa_supplicant.conf" + +//服务器端口号 +export AISPEECH_SOFTAP_SERVER_PORT="8000" + +//设备成功获取ssid和password信息,开始联网时,播放的音频 +export AISPEECH_DO_CONNECT_MP3="/data/cfg/audio/do_connect.mp3" + +二、命令操作 +1.将aispeech_softap、aispeech_led命令的路径导出 +例如上述两个命令在目录/data/cfg/bin,需要进行如下操作 +export PATH=$PATH:/data/cfg/bin + +开启服务器: +aispeech_softap_server -s aiengine -p 12345678 start & diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/connect_ok.mp3 b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/connect_ok.mp3 new file mode 100755 index 0000000..779c7ed Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/connect_ok.mp3 differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/do_connect.mp3 b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/do_connect.mp3 new file mode 100755 index 0000000..502c894 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/do_connect.mp3 differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/need_connect.mp3 b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/need_connect.mp3 new file mode 100755 index 0000000..76ef9f3 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/need_connect.mp3 differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/start_connect.mp3 b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/start_connect.mp3 new file mode 100755 index 0000000..bb03f64 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/start_connect.mp3 differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/wifi_ok.mp3 b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/wifi_ok.mp3 new file mode 100755 index 0000000..0103d33 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/audio/wifi_ok.mp3 differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_player b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_player new file mode 100755 index 0000000..6599274 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_player differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_softap b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_softap new file mode 100755 index 0000000..a02f427 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_softap differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_softap_server b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_softap_server new file mode 100755 index 0000000..2c8672f Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_softap_server differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_startup b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_startup new file mode 100755 index 0000000..f107fa1 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/bin/aispeech_startup differ diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/device/app.json b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/device/app.json new file mode 100755 index 0000000..782ea50 --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/device/app.json @@ -0,0 +1 @@ +{"name":"hahahaha"} \ No newline at end of file diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/device/device.json b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/device/device.json new file mode 100755 index 0000000..9a0f3f2 --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/device/device.json @@ -0,0 +1,11 @@ +{ + "deviceType":"soundbox", + "deviceName":"aispeech-rk3308-0001", + "deviceAlias":"aispeech-rk3308-0001alias", + "productId":"12345678", + "deviceInfo": { + "platform":"linux", + "wifiMac":"12:23:ee:11:23", + "btMac":"12:23:ee:11:23" + } +} diff --git a/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/install_v11.sh b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/install_v11.sh new file mode 100755 index 0000000..d1876b6 --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/aispeech_softap_lite/install_v11.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +#this script is used for rk3308 V11 board + +dir=`pwd` + +for item in `ls bin`; do + chmod +x ${dir}/bin/${item} +done + +#hardware-related configuration +board_startup_script=/oem/RkLunch.sh + +rm -rf ${board_startup_script} + +#wpa configuration file +aispeech_wifi_cfg=/data/wpa_supplicant.conf + +rm -rf ${aispeech_wifi_cfg} + +content="export AISPEECH_WIFI_CFG=\"${aispeech_wifi_cfg}\" + +#aispeech dui app information file +export AISPEECH_DUIKIT_APP=\"${dir}/device/app.json\" + +#aispeech dui device file +export AISPEECH_DUIKIT_DEVICE=\"${dir}/device/device.json\" + +#aispeech dui softap web server address +export AISPEECH_SOFTAP_SERVER_PORT=\"8000\" + +#aispeech dui softap configuration folder +export AISPEECH_SOFTAP_DIR=\"/data/cfg\" + +export AISPEECH_DO_CONNECT_MP3=\"${dir}/audio/do_connect.mp3\" + +export AISPEECH_WIFI_OK_MP3=\"${dir}/audio/wifi_ok.mp3\" + +export AISPEECH_NEED_CONNECT_MP3=\"${dir}/audio/need_connect.mp3\" + +export AISPEECH_CONNECT_OK_MP3=\"${dir}/audio/connect_ok.mp3\" + +export AISPEECH_START_CONNECT_MP3=\"${dir}/audio/start_connect.mp3\" + +export PATH=${PATH}:${dir}/bin + +if [ -f \${AISPEECH_WIFI_CFG} ]; then + aispeech_player \${AISPEECH_WIFI_OK_MP3} + wpa_supplicant -B -i wlan0 -c \${AISPEECH_WIFI_CFG} & + dhcpcd & + aispeech_player \${AISPEECH_DO_CONNECT_MP3} +else + aispeech_player \${AISPEECH_NEED_CONNECT_MP3} & + aispeech_softap_server -s aiengine -p 12345678 start & +fi +aispeech_startup & +" +echo "${content}" > ${board_startup_script} + diff --git a/rk3308/aispeech-4mic-32bit/dds_client/audio/vad_start_timeout2.mp3 b/rk3308/aispeech-4mic-32bit/dds_client/audio/vad_start_timeout2.mp3 new file mode 100644 index 0000000..2255242 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/audio/vad_start_timeout2.mp3 differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/audio/wakeup.mp3 b/rk3308/aispeech-4mic-32bit/dds_client/audio/wakeup.mp3 new file mode 100644 index 0000000..eddb739 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/audio/wakeup.mp3 differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/dui b/rk3308/aispeech-4mic-32bit/dds_client/dui new file mode 100755 index 0000000..7a8e16f Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/dui differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/dui_cfg.json b/rk3308/aispeech-4mic-32bit/dds_client/dui_cfg.json new file mode 100644 index 0000000..46d175b --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/dds_client/dui_cfg.json @@ -0,0 +1,39 @@ +{ + "auth":{ + "productId": "100001463", + "deviceProfile": "Yhn7W3QzXThMGBG1qgJcbCmW0hmO7HYdHcfuQPFzJhgnzWrrJhPPWYTdm5qJlpyarJqcjZqL3cXdz8fKm5nNycyZmcbGy5udy52cy8bHzsuZzJ6ZmZrLzMnd092ek5OQiN3FztPdj42Qm4qci7ab3cXdzs/Pz8/Oy8nM3dPdm5qJlpyasZ6Smt3F3Z7Oy8icnpmbms6bnsvNm87Gz83MnsqZzcicy83Iy5rN3dPdjJyQj5rdxaTdnpOT3aKC" + }, + "recorder":{ + "device":"4mic_loopback", + "bits":16, + "channels":5, + "samplerate":16000 + }, + "player":{ + "device":"default" + }, + "wakeup":{ + "cfg":{ + "aecBinPath":"./res/AEC_ch5-2-1ref_common_20180727_v0.9.4.bin", + "wakeupBinPath":"./res/wakeup_aifar_comm_20180104.bin", + "beamformingBinPath":"./res/UCA_asr_ch4-2-ch4_70mm_comm_20180412_v1.2.1.bin", + "env":"words=ni hao xiao le;thresh=0.34;major=1;", + "rollBack":200 + }, + "wakeupWord":["ni hao xiao le"], + "wakeupAudio":["./audio/wakeup.mp3"] + }, + "vad":{ + "cfg":{ + "resBinPath":"./res/vad_aihome_v0.7.bin", + "pauseTime":300 + }, + "startTimeoutPrompt":"./audio/vad_start_timeout2.mp3" + }, + "dds":{ + "productId":"100001463", + "aliasKey":"prod", + "server":"ws://dds.dui.ai/dds/v1", + "deviceProfile":"Yhn7W3QzXThMGBG1qgJcbCmW0hmO7HYdHcfuQPFzJhgnzWrrJhPPWYTdm5qJlpyarJqcjZqL3cXdz8fKm5nNycyZmcbGy5udy52cy8bHzsuZzJ6ZmZrLzMnd092ek5OQiN3FztPdj42Qm4qci7ab3cXdzs/Pz8/Oy8nM3dPdm5qJlpyasZ6Smt3F3Z7Oy8icnpmbms6bnsvNm87Gz83MnsqZzcicy83Iy5rN3dPdjJyQj5rdxaTdnpOT3aKC" + } +} diff --git a/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libauth_rk3308.so b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libauth_rk3308.so new file mode 100755 index 0000000..dfd5d8b Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libauth_rk3308.so differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libdds.so b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libdds.so new file mode 100755 index 0000000..1e2a966 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libdds.so differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libdemo_depend.so b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libdemo_depend.so new file mode 100755 index 0000000..e23da59 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libdemo_depend.so differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libduilite_fespa.so b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libduilite_fespa.so new file mode 100755 index 0000000..92a4fc0 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/lib/rk3308_32/libduilite_fespa.so differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/res/AEC_ch5-2-1ref_common_20180727_v0.9.4.bin b/rk3308/aispeech-4mic-32bit/dds_client/res/AEC_ch5-2-1ref_common_20180727_v0.9.4.bin new file mode 100644 index 0000000..ea0a08a Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/res/AEC_ch5-2-1ref_common_20180727_v0.9.4.bin differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/res/UCA_asr_ch4-2-ch4_70mm_comm_20180110_v1.1.3.bin b/rk3308/aispeech-4mic-32bit/dds_client/res/UCA_asr_ch4-2-ch4_70mm_comm_20180110_v1.1.3.bin new file mode 100644 index 0000000..bcfb884 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/res/UCA_asr_ch4-2-ch4_70mm_comm_20180110_v1.1.3.bin differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/res/UCA_asr_ch4-2-ch4_70mm_comm_20180412_v1.2.1.bin b/rk3308/aispeech-4mic-32bit/dds_client/res/UCA_asr_ch4-2-ch4_70mm_comm_20180412_v1.2.1.bin new file mode 100644 index 0000000..0b5d2e3 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/res/UCA_asr_ch4-2-ch4_70mm_comm_20180412_v1.2.1.bin differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/res/vad_aihome_v0.7.bin b/rk3308/aispeech-4mic-32bit/dds_client/res/vad_aihome_v0.7.bin new file mode 100644 index 0000000..713e981 Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/res/vad_aihome_v0.7.bin differ diff --git a/rk3308/aispeech-4mic-32bit/dds_client/res/wakeup_aifar_comm_20180104.bin b/rk3308/aispeech-4mic-32bit/dds_client/res/wakeup_aifar_comm_20180104.bin new file mode 100644 index 0000000..758cf9c Binary files /dev/null and b/rk3308/aispeech-4mic-32bit/dds_client/res/wakeup_aifar_comm_20180104.bin differ diff --git a/rk3308/aispeech-4mic-32bit/dds_service.sh b/rk3308/aispeech-4mic-32bit/dds_service.sh new file mode 100755 index 0000000..e44de85 --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/dds_service.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# +# + +case "$1" in + start) + echo "Starting $0..." + cd /oem/dds_client && ./dui dui_cfg.json & + ;; + stop) + echo "Stop $0..." + killall dui + ;; + restart|reload) + killall dui + cd /oem/dds_client && ./dui dui_cfg.json & + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/rk3308/aispeech-4mic-32bit/wifi_monitor.sh b/rk3308/aispeech-4mic-32bit/wifi_monitor.sh new file mode 100755 index 0000000..82b6822 --- /dev/null +++ b/rk3308/aispeech-4mic-32bit/wifi_monitor.sh @@ -0,0 +1,93 @@ +#!/bin/sh + +PROCESS=/data/dds_service.sh + +softap_stop() +{ + echo softap_stoping + + killall dui || echo dui-exit + ip addr delete 192.168.1.1 dev p2p0 || echo ip-addr-delete + killall hostapd || echo hostapd-exit + ifconfig p2p0 down || echo p2p0 + + echo softap_stopped +} + +dds_start() +{ + softap_stop + #echo dds_start + pidof dui || $PROCESS start + + gst-play-1.0 /data/aispeech_softap_lite/audio/connect_ok.mp3 +} + +dds_stop() +{ + echo dds_stop + #$PROCESS stop +} +wifiReadyAction() +{ + pidof dui || $PROCESS start +} +wifiUpAction() +{ + echo wifiUp + dds_start +} +wifiDownAction() +{ + echo wifiDown + dds_stop +} +wifiChangeAction() +{ + echo wifiChange + dds_stop + dds_start +} +wifiRequestingIp() +{ + echo wifiRequestingIp +} + +checkwifistate() +{ + local flag=0 + local last_ip_address=0 + while true + do + wpa_state=`wpa_cli -iwlan0 status | grep wpa_state | awk -F '=' '{printf $2}'` + ip_address=`wpa_cli -iwlan0 status | grep ip_address | awk -F '=' '{printf $2}'` + + if [ "${wpa_state}"x = "COMPLETED"x ];then + if [ "${ip_address}"x != ""x ] && [ "${ip_address}"x != "0.0.0.0"x ];then + if [ $flag -eq 0 ];then + flag=1 + wifiUpAction + elif [ "${ip_address}"x != "${last_ip_address}"x ];then + flag=1 + wifiChangeAction + else + flag=1 + wifiReadyAction + fi + else + flag=0 + wifiRequestingIp + fi + else + if [ $flag -eq 1 ];then + flag=0 + wifiDownAction + fi + fi + sleep 3 + last_ip_address="${ip_address}" + done +} + +$PROCESS stop +checkwifistate