PLS83-EP Transparent **** | Telit Cinterion IoT Developer Community
March 15, 2021 - 9:05am, 3815 views
Hi All,
In order to camera streaming, I got recommand to uses AT^SIST from local supplier.
After I checked the official document 'Cinterion ® PLS83-EP AT Command Set :DocId: PLS83-EP_ATC_V00.024' and followed '11.17.6 Transparent TCP Listener: Autoanswering Incoming Remote Client'(p.320) step by step by Python to send command to the module.
Test command as follow :
[2021-03-15 15:40:14.896000][UART]Data Recv b'+CIEV: prov,1,"ROW_Generic_3GPP*"\r\n'
[2021-03-15 15:40:17.068000][UART]Data Transfer AT+CPIN?
[2021-03-15 15:40:17.087000][UART]Data Recv b'+CPIN: SIM PIN\r\n'
[2021-03-15 15:40:17.087000][UART]Data Recv b'\r\n'
[2021-03-15 15:40:17.087000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:19.070000][UART]Data Transfer AT+CPIN="0000"
[2021-03-15 15:40:19.163000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:21.074000][UART]Data Transfer AT+COPS?
[2021-03-15 15:40:22.872000][UART]Data Recv b'+COPS: 0,0,"CHT",7\r\n'
[2021-03-15 15:40:22.872000][UART]Data Recv b'\r\n'
[2021-03-15 15:40:22.872000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:23.076000][UART]Data Transfer AT+CGATT=1
[2021-03-15 15:40:23.143000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:25.076000][UART]Data Transfer AT+CGDCONT=1,"IP","internet"
[2021-03-15 15:40:25.109000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:27.078000][UART]Data Transfer AT^SICS=1,"dns1","8.8.8.8"
[2021-03-15 15:40:27.092000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:29.080000][UART]Data Transfer AT^SICS=1,"dns2","8.8.4.4"
[2021-03-15 15:40:29.090000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:31.081000][UART]Data Transfer AT^SICA=1,1
[2021-03-15 15:40:31.151000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:33.082000][UART]Data Transfer AT+CGPADDR=1
[2021-03-15 15:40:33.102000][UART]Data Recv b'+CGPADDR: 1,"10.130.248.99"\r\n'
[2021-03-15 15:40:33.102000][UART]Data Recv b'\r\n'
[2021-03-15 15:40:33.102000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:35.084000][UART]Data Transfer AT^SISS=0,srvType,"Socket"
[2021-03-15 15:40:35.100000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:37.085000][UART]Data Transfer AT^SISS=0,conId,"1"
[2021-03-15 15:40:38.919000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:39.086000][UART]Data Transfer AT^SISS=0,"address","socktcp://10.10.0.187:2000"
[2021-03-15 15:40:39.113000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:41.087000][UART]Data Transfer AT^SISS=0,"tcpMR","3"
[2021-03-15 15:40:41.109000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:43.089000][UART]Data Transfer AT^SISS=0,"tcpOT","5555"
[2021-03-15 15:40:43.108000][UART]Data Recv b'OK\r\n'
[2021-03-15 15:40:45.091000][UART]Data Transfer AT^SISO=0
[2021-03-15 15:40:45.107000][UART]Data Recv b'OK\r\n'
It seems workable, but I only have one module to use for Transparent Client part.
Is any example to uses PC to simulate the Transparent Listener?? Or only for two PLS83-EP module to simulate the Transparent Listener and Client???
Hello,
Transparent socket is much more efficient compared to using SISR/SISW to read/write data.
As you create the listener on the module you need a client software. We probably don't have any example. For some simple case you could even use something like Putty to connect to the module and receive data. Or you could search for some socket testing software on the Internet - you should find some open source programs that look promising I believe.
Regards,
Bartłomiej
Hi Bartłomiej
After I create the socket server on PC and ready to receive message from PLS83-EP
it's still error occur as follow by python script :
[func]AtSettingNetwork
[2021-03-26 14:45:42.412000][UART]Data Transfer AT+COPS?
[2021-03-26 14:45:44.413000][UART]Data Transfer AT+CGATT=1
[2021-03-26 14:45:45.640000][UART]Data Recv b'AT+COPS?\r\r\n'
[2021-03-26 14:45:45.643000][UART]Data Recv b'+COPS: 0,0,"Chunghwa Telecom",7\r\n'
[2021-03-26 14:45:45.643000][UART]Data Recv b'\r\n'
[2021-03-26 14:45:45.643000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:45:46.414000][UART]Data Transfer AT+CGDCONT=1,"IP","internet"
[2021-03-26 14:45:46.440000][UART]Data Recv b'AT+CGDCONT=1,"IP","internet"\r\r\n'
[2021-03-26 14:45:46.440000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:45:48.415000][UART]Data Transfer AT^SICS=1,"dns1","8.8.8.8"
[2021-03-26 14:45:48.423000][UART]Data Recv b'AT^SICS=1,"dns1","8.8.8.8"\r\r\n'
[2021-03-26 14:45:48.439000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:45:50.416000][UART]Data Transfer AT^SICS=1,"dns2","8.8.4.4"
[2021-03-26 14:45:50.437000][UART]Data Recv b'AT^SICS=1,"dns2","8.8.4.4"\r\r\n'
[2021-03-26 14:45:50.437000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:45:52.418000][UART]Data Transfer AT^SICA=1,1
[2021-03-26 14:45:52.515000][UART]Data Recv b'AT^SICA=1,1\r\r\n'
[2021-03-26 14:45:52.515000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:45:54.419000][UART]Data Transfer AT+CGPADDR=1
[2021-03-26 14:45:54.434000][UART]Data Recv b'AT+CGPADDR=1\r\r\n'
[2021-03-26 14:45:54.435000][UART]Data Recv b'+CGPADDR: 1,"10.138.95.1"\r\n'
[2021-03-26 14:45:54.435000][UART]Data Recv b'\r\n'
[2021-03-26 14:45:54.435000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:45:56.422000][UART]Data Transfer ATE0
[2021-03-26 14:45:56.426000][UART]Data Recv b'ATE0\r\r\n'
[2021-03-26 14:45:56.427000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:45:58.425000][UART]Data Transfer AT+CMEE=1
[2021-03-26 14:45:58.438000][UART]Data Recv b'\r\n'
[2021-03-26 14:45:58.438000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:00.426000][UART]Data Transfer AT+CREG=1
[2021-03-26 14:46:00.436000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:00.436000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:02.428000][UART]Data Transfer AT+CMGF=1
[2021-03-26 14:46:02.434000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:02.435000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:04.429000][UART]Data Transfer AT+CREG?
[2021-03-26 14:46:04.448000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:04.448000][UART]Data Recv b'+CREG: 1,1\r\n'
[2021-03-26 14:46:04.448000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:04.448000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:06.433000][UART]Data Transfer AT^SICS=1,dns1,"8.8.8.8"
[2021-03-26 14:46:06.446000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:06.447000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:08.434000][UART]Data Transfer AT^SICS=1,dns2,"8.8.4.4"
[2021-03-26 14:46:08.445000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:08.446000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:10.435000][UART]Data Transfer AT^SISS=1,srvType,"Socket"
[2021-03-26 14:46:10.443000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:10.443000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:12.437000][UART]Data Transfer AT^SISS=1,"conId","1"
[2021-03-26 14:46:12.457000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:12.457000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:14.438000][UART]Data Transfer AT^SISS=1,"address","socktcp://***.***.***.***:8888;etx=26"
[2021-03-26 14:46:14.455000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:14.456000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:16.441000][UART]Data Transfer AT+CGATT=1
[2021-03-26 14:46:16.486000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:16.487000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:18.442000][UART]Data Transfer AT^SISS=1,"tcpMR","3"
[2021-03-26 14:46:18.453000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:18.453000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:20.444000][UART]Data Transfer AT^SISS=1,"tcpOT","5555"
[2021-03-26 14:46:20.451000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:20.451000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:22.445000][UART]Data Transfer AT^SISO=1
[2021-03-26 14:46:22.465000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:22.465000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:24.447000][UART]Data Transfer AT^SIST=?
[2021-03-26 14:46:24.464000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:24.464000][UART]Data Recv b'OK\r\n'
[2021-03-26 14:46:26.448000][UART]Data Transfer AT^SIST=1
[2021-03-26 14:46:26.462000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:26.463000][UART]Data Recv b'+CME ERROR: 256\r\n'
cv2 version is : 4.5.1
Codec: YUY2
stringDataLength = 5427
stringDataLen = 5427 Context : b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\
x03\x02\x02\x03\x02\x02\x03\x03\x03\x03\x04\x03\x03\x04\x05\x08\x05\x05\x04\x04\x05
\n\x07\x07\x06\x08\x0c\n\x0c\x0c\x0b\n\x0b\x0b\r\x0e\x12\x10\r\x0e\x11\x0e\x0b
\x0b\x10\x16\x10\x11\x13\... ... ...
\xb1\xc1\t#3R\xf0\x15br\xd1\n\x16$4\xe1%\xf1\x17\x18\x19\x1a&\'()*5'
[2021-03-26 14:46:29.533000][UART]Data Transfer AT^SISW=0,500
[2021-03-26 14:46:29.548000][UART]Data Recv b'\r\n'
[2021-03-26 14:46:29.548000][UART]Data Recv b'+CME ERROR: 767\r\n'
Hello,
256 stands for 'operation temporary not allowed'. Please check the connection state with AT^SISO?. If this problem keeps appearing please also try to configure etx without parameter for test. With AT^SISW you use the wrong service profile id so that might be the reason of failure. Please check the firmware version with 'ATI1' command. This module is new and you probably have sample version. So you may need to update to a newer firmware version. But for this you need to contact your supplier.
Best regards,
Bartłomiej
Hi Bartłomiej,
After I enter AT command 'ATI1' and the module returns as follow :
Cinterion
PLS83-EP
REVISION 01.002
A-REVISION 01.000.03
is it correct? Thanks!
Hi Bartłomiej,
It's workable.
I can send data via the 4G module 'PLS83'.
But all of messages, the data '0x10' is disappear after I compare server and client's data.
therefore, I need to double send \x10(DLE characters) to "\x10\x10" from transpnder, right?
Thanks!
Hello,
before you activate transparent socket with AT^SIST=1 you have to wait for proper connection establishment indicated by ^SISW and ^SISR URCs (after AT^SISO=1 command)
At best please check internet service status with AT^SISO? before going into transparent socket.
Regarding missing \x10 please send a pastebin link with raw data for me to perform a test.
BR
Tymek
Hi Tymek,
I tested these command by Python's serial API automatically
[UART]Data Transfer AT^SISS=1,srvType,"Socket"
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SISS=1,conId,"1"
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SISS=1,address,"socktcp://220.135.245.145:8888;etx=26"
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SISS=1,"tcpMR","3"
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SISS=1,"tcpOT","5555"
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SISO=1
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SISO=?
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SIST=?
[UART]Data Recv b'OK\r\n'
[UART]Data Transfer AT^SIST=1
[UART]Data Recv b'CONNECT\r\n'
In addition, the issue that I sent '\x10' from module side and disapear on server can be avoid by double send '\x10'
Hello,
It looks like FW version you are using has a minor bug and ignores single x10 (DLE) character.
I have tested the latest one available nad this problem is gone.
at^sist=0
CONNECT
AAAAAAAAA
OK
ati1
Cinterion
PLS83-W
REVISION 01.004
A-REVISION 01.000.00
Source file denoted in HEX:
10 41 10 41 10 41 10 10 41 41 10 10 41 41 10 10 41 41 10 10
Please contact your distributor to provide latest FW.
BR
Tymek
Hi Tymek,
I'll ask my distributor to provide the firmware.
Thanks for your reply.
Best Regards
Kun-hsien