Page 1 of 2
【已解决】记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 22日 15:00
by HanW
你好。
新版本的SDK,我们下载后是单独集成的。
使用的文件有如下清单。
IPC_SSC377_TuyaOS-3.8.11\software\TuyaOS\include
IPC_SSC377_TuyaOS-3.8.11\software\TuyaOS\libs
IPC_SSC377_TuyaOS-3.8.11\software\TuyaOS\apps\tuyaos_demo_ipc\application_components\app_main\include
IPC_SSC377_TuyaOS-3.8.11\software\TuyaOS\apps\tuyaos_demo_ipc\application_components\app_main\src
这个文件夹下的文件就修改蛮多的。主要是根据dp定制和对接到我们函数等等。功能的实现也是在这里修改的。
再有就是使用了
IPC_SSC377_TuyaOS-3.8.11\software\TuyaOS\scripts\porting\template\linux下的所有适配成代码。但是这个里面的代码tkl开头,未在整个SDK里面找到头文件。所以我拷贝了3.9版本过来使用。
会不会是这个地方出了问题呢?如果是的话。请问我应该从哪里获取这部分C文件的头文件呢?
谢谢你。期待你的答复。
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 22日 15:09
by pippin-bobo
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 22日 15:11
by 郭老庄
你好,tkl的头文件和c文件的路径应该在vendor/xxx/tuyaos/tuyaos_adapter 下
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 24日 10:57
by HanW
你好。感谢贵公司的指导。
目前状态,IPV6的SDK,能正常运行了。
在调测过程中。有一个问题,麻烦贵公司帮忙看看。问题现象是,设备一直连接不了涂鸦的mqtt服务器,但是我ping了一下我们公司的公网ip是通的。说明网络是ok的。SDK的日志显示连接mqtt服务器失败。
详细的日志请查看附件。谢谢你们。
日志文件的2051行,是ping的统计结果。谢谢。辛苦了。
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 24日 17:55
by pippin-bobo
1)链接一直报错,网络情况看你ping的延时也不是很好,多的都有300+ms,用好一点的网络环境看看是否还有mqtt离线问题
2)[04-24 10:51:16 ty E][tuya_svc_lan.c:2102] create server socket err -3
[04-24 10:51:16 ty E][tuya_svc_lan.c:1123] init tcp serv fd err
这个报错要看一下,对应的是sock bind() 接口报错,确认下是不是有端口限制或者TKL获取的IP地址有异常
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 25日 14:40
by HanW
好的,谢谢你的回复。这个我们查一下网络问题。
然后,我想请教一下。我现在测试SDK的IPV6是否正常。我修改了tkl_wired.c中的tkl_wired_get_ip函数。如果type == NW_IPV4我就直接返回OPRT_COM_ERROR,让设备区使用IPV6的地址。当type == NW_IPV6,我就返回了系统的IPV6的地址。
测试结果:我看了一下贵公司的日志。好像域名解释失败了。连接不了贵公司的服务器。我不知道,我哪里没有处理好。麻烦你有空的时候帮忙看看日志,指导一下。非常感谢。
附件是整个启动的日志。SDK是490行的位置开始启动SDK调用。在日志的1673行后面,我有使用ping -6 www.baidu.com去验证设备的ipv6地址。能正确ping通。最后使用ifconfig输出了网卡的信息。
辛苦你了。
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 25日 15:00
by pippin-bobo
[01-01 08:00:01 ty D][uni_network.c:282] domain m6.tuyacn.com IP:(null)
[01-01 08:00:01 ty E][tcp_transporter.c:42] DNS parser host m6.tuyacn.com failed -1
看日志域名解析失败了,我们调用的解析接口是getaddrinfo(),这个可以写一些测试程序验证下
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 26日 09:53
by HanW
你好。谢谢你的回复。我这边也用getaddrinfo去调试了一下。确实拿不到m6.tuyacn.com的IPV6的地址。
后面我尝试用ping命令去尝试ping了一下贵公司的这个域名。ping也是失败的。是不是我ping的这个域名不正确呢?
[09:48:27:373 INFO-]:check_daemon_alive[311]:>>> cardv process is over !!!
[09:48:27:995 INFO-]:SendMobileData[523]:u8SendBuffer = AT+CGPADDR
[09:48:28:318 INFO-]:ParaseMobileRcvData[377]:u8RcvBuff =
AT+CGPADDR
+CGPADDR: 5,"IPV4:10.106.104.82 IPV6:::2DFB:F646:65EA:E698"
OK
end
kill 747
/ # [09:48:30:413 INFO-]:systemSglHandler[396]: termination abnormally 15 !
/ # ping -6 www.baidu.com
PING www.baidu.com (2409:8c54:870:67:0:ff:b0c2:ad75): 56 data bytes
64 bytes from 2409:8c54:870:67:0:ff:b0c2:ad75: seq=0 ttl=53 time=44.011 ms
64 bytes from 2409:8c54:870:67:0:ff:b0c2:ad75: seq=1 ttl=53 time=43.747 ms
64 bytes from 2409:8c54:870:67:0:ff:b0c2:ad75: seq=2 ttl=53 time=43.593 ms
64 bytes from 2409:8c54:870:67:0:ff:b0c2:ad75: seq=3 ttl=53 time=43.514 ms
C
--- www.baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 43.514/43.716/44.011 ms
/ #
/ # ping -6 m6.tuyacn.com
ping: bad address 'm6.tuyacn.com'
/ # ping -6 www.m6.tuyacn.com
ping: bad address 'www.m6.tuyacn.com'
/ # ping -6 www.tuyacn.com
ping: bad address 'www.tuyacn.com'
/ # ping -6 m6.tuyacn.com
ping: bad address 'm6.tuyacn.com'
/ # ifconfig
eth1 Link encap:Ethernet HWaddr F0:4B:B3:B9:EB:E5
inet addr:10.106.104.82 Bcast:10.106.104.255 Mask:255.255.255.0
inet6 addr: fe80::f24b:b3ff:feb9:ebe5/64 Scope:Link
inet6 addr: 2409:8954274d:f24b:b3ff:feb9:ebe5/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:618 errors:0 dropped:0 overruns:0 frame:0
TX packets:630 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:151588 (148.0 KiB) TX bytes:46587 (45.4 KiB)
/ #
麻烦你帮忙看一下。谢谢你。辛苦了。
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 26日 15:10
by 郭老庄
你好,当前我们服务器只在印度区支持了ipv6,现在中国区还不支持
Re: 记录仪IPV6新SDK对接问题
Posted: 2024年 Apr 26日 17:46
by HanW
好的,非常感谢你的回复。谢谢。
再请教一下关于tuya_ipc_ss_init()函数的使用问题。
这个函数里面的base_path参数是根路径。在后面会创建一个DCIM文件夹。然后再是album的名字。
比如我给base_path=/mnt/mmc,album_name[0]=Event,album_name[1]=Parking,album_name[2]=Lapse
在完成调用后,
SDK会创建
/mnt/mmc/DCIM/Event
/mnt/mmc/DCIM/Parking
/mnt/mmc/DCIM/Lapse
三个路径文件夹。
我想请问一下这个DCIM文件夹的名字,我能修改吗? 谢谢。
比如我期望的路径如下------(DCIM变更为CPPLUS)
/mnt/mmc/CPPLUS/Event
/mnt/mmc/CPPLUS/Parking
/mnt/mmc/CPPLUS/Lapse
谢谢你。麻烦你帮忙确认一下。非常感谢。