Data Receiver 400 Error Esp32

Hello Everyone,

I currently have code to send data to a server (below) that receives samples from a transmitter around 72 times per second. I would like to send all of these 72 packets to my server, but it is only allowing me to send around 32 or 33 packets max. As soon as I put 34 in my receiver code, I get a 400 error. Is this a limitation of using GRPS? It seems to be around 1423 characters of sending data when I checked online. Any recommendations on how to send all 72? The output is below for 33 packets:

modem...
18:55:26.806 -> Initializing modem...
18:55:26.806 -> [347] ### TinyGSM Version: 0.11.5
18:55:26.806 -> [347] ### TinyGSM Compiled Module:  TinyGsmClientSIM7000
18:55:26.806 -> AT
18:55:26.806 -> 
18:55:26.806 -> OK
18:55:26.806 -> ATE0
18:55:26.806 -> 
18:55:26.806 -> OK
18:55:26.806 -> AT+CMEE=2
18:55:26.806 -> 
18:55:26.806 -> OK
18:55:26.806 -> AT+GMM
18:55:26.806 -> 
18:55:26.840 -> SIMCOM_SIM7000A
18:55:26.840 -> 
18:55:26.840 -> OK
18:55:26.840 -> [371] ### Modem: SIMCOM SIM7000A
18:55:26.840 -> AT+CLTS=1
18:55:26.840 -> 
18:55:26.840 -> OK
18:55:26.840 -> AT+CBATCHK=1
18:55:26.840 -> 
18:55:26.840 -> OK
18:55:26.840 -> AT+CPIN?
18:55:26.840 -> 
18:55:26.840 -> +CPIN: READY
18:55:26.840 -> 
18:55:26.840 -> OK
18:55:26.840 -> AT+GMM
18:55:26.840 -> 
18:55:26.840 -> SIMCOM_SIM7000A
18:55:26.840 -> 
18:55:26.840 -> OK
18:55:26.840 -> Modem Name: SIMCOM SIM7000A
18:55:26.840 -> ATI
18:55:26.840 -> 
18:55:26.840 -> SIM7000A R1351
18:55:26.840 -> 
18:55:26.840 -> OK
18:55:26.840 -> Modem Info: SIM7000A R1351
18:55:26.840 -> AT+CPIN?
18:55:26.840 -> 
18:55:26.840 -> +CPIN: READY
18:55:26.840 -> 
18:55:26.840 -> OK
18:55:26.840 -> AT+CFUN=0 
18:55:26.878 -> 
18:55:26.878 -> +PDP: DEACT
18:55:26.878 -> 
18:55:26.878 -> +SAPBR 1: DEACT
18:55:27.064 -> 
18:55:27.064 -> +CPIN: NOT READY
18:55:29.992 -> 
18:55:29.992 -> OK
18:55:29.992 -> AT+CNMP=2
18:55:29.992 -> 
18:55:29.992 -> OK
18:55:29.992 -> AT+CMNB=1
18:55:29.992 -> 
18:55:29.992 -> OK
18:55:29.992 -> AT+CFUN=1 
18:55:30.432 -> 
18:55:30.432 -> OK
18:55:32.892 -> AT+CGDCONT=1,"IP","213x.m2m.com.attz","0.0.0.0",0,0,0,0
18:55:32.944 -> AT+CGDCONT=13,"IP","213x.m2m.com.attz","0.0.0.0",0,0,0,0
18:55:32.944 -> AT+CGDCONT=2,"IP","213x.m2m.com.attz","0.0.0.0",0,0,0,0
18:55:32.944 -> AT+CGDCONT=3,"IP","213x.m2m.com.attz","0.0.0.0",0,0,0,0
18:55:32.944 -> 
18:55:32.944 -> 
18:55:32.944 -> 
18:55:32.944 -> Waiting for network...
18:55:32.944 -> AT+CEREG?
18:55:32.944 -> 
18:55:32.944 -> OK
18:55:32.981 -> 
18:55:32.981 -> ERROR
18:55:33.540 -> 
18:55:33.540 -> DST: 1
18:55:33.540 -> [7090] ### Daylight savings time state updated.
18:55:33.540 -> 
18:55:33.540 -> *PSUTTZ: 23/06/14,22:55:33","-16",1
18:55:33.540 -> [7092] ### Network time and time zone updated.
18:55:33.936 -> AT+CGREG?
18:55:33.936 -> 
18:55:33.936 -> +CGREG: 0,1
18:55:33.936 -> 
18:55:33.936 -> OK
18:55:33.936 -> AT+CEREG?
18:55:33.936 -> 
18:55:33.936 -> +CEREG: 0,1
18:55:33.936 -> 
18:55:33.936 -> OK
18:55:33.936 -> Network connected
18:55:33.936 -> 
18:55:33.936 -> ---Starting GPRS TEST---
18:55:33.936 -> 
18:55:33.936 -> Connecting to: 213x.m2m.com.attz
18:55:33.936 -> AT+CIPSHUT
18:55:33.936 -> 
18:55:33.936 -> SHUT OK
18:55:33.936 -> AT+CGATT=0
18:55:34.126 -> 
18:55:34.126 -> OK
18:55:34.126 -> AT+SAPBR=3,1,"Contype","GPRS"
18:55:34.126 -> 
18:55:34.126 -> OK
18:55:34.126 -> AT+SAPBR=3,1,"APN","213x.m2m.com.attz"
18:55:34.126 -> 
18:55:34.126 -> OK
18:55:34.126 -> AT+CGDCONT=1,"IP","213x.m2m.com.attz"
18:55:34.164 -> 
18:55:34.164 -> OK
18:55:34.164 -> AT+CGATT=1
18:55:35.903 -> 
18:55:35.903 -> OK
18:55:35.903 -> AT+CGACT=1,1
18:55:35.903 -> 
18:55:35.903 -> OK
18:55:35.903 -> AT+SAPBR=1,1
18:55:35.903 -> 
18:55:35.903 -> OK
18:55:35.903 -> AT+SAPBR=2,1
18:55:35.903 -> 
18:55:35.941 -> +SAPBR: 1,1,"10.32.138.124"
18:55:35.941 -> 
18:55:35.941 -> OK
18:55:35.941 -> AT+CIPMUX=1
18:55:35.941 -> 
18:55:35.941 -> OK
18:55:35.941 -> AT+CIPQSEND=1
18:55:35.941 -> 
18:55:35.941 -> OK
18:55:35.941 -> AT+CIPRXGET=1
18:55:35.941 -> 
18:55:35.941 -> OK
18:55:35.941 -> AT+CSTT="213x.m2m.com.attz","",""
18:55:35.941 -> 
18:55:35.941 -> DST: 1
18:55:35.941 -> [9489] ### Daylight savings time state updated.
18:55:35.941 -> 
18:55:35.941 -> *PSUTTZ: 23/06/14,22:55:35","-16",1
18:55:35.941 -> [9491] ### Network time and time zone updated.
18:55:35.941 -> 
18:55:35.941 -> OK
18:55:35.941 -> AT+CIICR
18:55:35.941 -> 
18:55:35.941 -> OK
18:55:35.941 -> AT+CIFSR;E0
18:55:35.941 -> 
18:55:35.941 -> 10.32.138.124
18:55:35.979 -> 
18:55:35.979 -> OK
18:55:35.979 -> GPRS status: AT+CGATT?
18:55:35.979 -> 
18:55:35.979 -> +CGATT: 1
18:55:35.979 -> 
18:55:35.979 -> OK
18:55:35.979 -> AT+CIFSR;E0
18:55:35.979 -> 
18:55:35.979 -> 10.32.138.124
18:55:35.979 -> 
18:55:35.979 -> OK
18:55:35.979 -> connected
18:55:35.979 -> --------Init GSM ends-------
18:55:37.965 -> Connecting to APN: 213x.m2m.com.attzAT+CIPSHUT
18:55:37.965 -> 
18:55:37.965 -> SHUT OK
18:55:37.965 -> AT+CGATT=0
18:55:37.965 -> 
18:55:37.965 -> +SAPBR 1: DEACT
18:55:38.193 -> 
18:55:38.193 -> OK
18:55:38.193 -> AT+SAPBR=3,1,"Contype","GPRS"
18:55:38.193 -> 
18:55:38.193 -> OK
18:55:38.193 -> AT+SAPBR=3,1,"APN","213x.m2m.com.attz"
18:55:38.193 -> 
18:55:38.193 -> OK
18:55:38.193 -> AT+CGDCONT=1,"IP","213x.m2m.com.attz"
18:55:38.231 -> 
18:55:38.231 -> OK
18:55:38.231 -> AT+CGATT=1
18:55:39.752 -> 
18:55:39.752 -> OK
18:55:39.752 -> AT+CGACT=1,1
18:55:39.752 -> 
18:55:39.752 -> OK
18:55:39.752 -> AT+SAPBR=1,1
18:55:39.752 -> 
18:55:39.752 -> OK
18:55:39.752 -> AT+SAPBR=2,1
18:55:39.790 -> 
18:55:39.790 -> +SAPBR: 1,1,"10.32.128.91"
18:55:39.790 -> 
18:55:39.790 -> OK
18:55:39.790 -> AT+CIPMUX=1
18:55:39.790 -> 
18:55:39.790 -> OK
18:55:39.790 -> AT+CIPQSEND=1
18:55:39.790 -> 
18:55:39.790 -> DST: 1
18:55:39.790 -> [13331] ### Daylight savings time state updated.
18:55:39.790 -> 
18:55:39.790 -> *PSUTTZ: 23/06/14,22:55:39","-16",1
18:55:39.790 -> [13333] ### Network time and time zone updated.
18:55:39.790 -> 
18:55:39.790 -> OK
18:55:39.790 -> AT+CIPRXGET=1
18:55:39.790 -> 
18:55:39.790 -> OK
18:55:39.790 -> AT+CSTT="213x.m2m.com.attz","",""
18:55:39.790 -> 
18:55:39.790 -> OK
18:55:39.790 -> AT+CIICR
18:55:39.790 -> 
18:55:39.790 -> OK
18:55:39.790 -> AT+CIFSR;E0
18:55:39.790 -> 
18:55:39.790 -> 10.32.128.91
18:55:39.790 -> 
18:55:39.790 -> OK
18:55:39.790 ->  OK
18:55:41.896 -> ESP-NOW initialized Sucessfully
18:55:43.048 -> /update4.php?data=1&X=-0.7845&Y=0.4446&Z=9.5778&T=19:21:16:935&X=-0.7518&Y=0.4250&Z=9.6040&T=19:21:16:970&X=-0.6995&Y=0.4446&Z=9.5778&T=19:21:16:998&X=-0.7322&Y=0.4380&Z=9.5125&T=19:21:17:14&X=-0.7715&Y=0.4053&Z=9.6694&T=19:21:17:72&X=-0.7780&Y=0.4511&Z=9.5844&T=19:21:17:108&X=-0.7061&Y=0.4511&Z=9.6759&T=19:21:17:144&X=-0.7649&Y=0.4053&Z=9.6890&T=19:21:17:179&X=-0.7388&Y=0.4380&Z=9.5909&T=19:21:17:215&X=-0.7453&Y=0.4446&Z=9.5778&T=19:21:17:251&X=-0.7780&Y=0.4250&Z=9.5451&T=19:21:17:287&X=-0.7453&Y=0.4250&Z=9.5255&T=19:21:17:323&X=-0.7322&Y=0.4184&Z=9.5451&T=19:21:17:359&X=-0.7453&Y=0.4250&Z=9.5190&T=19:21:17:394&X=-0.7845&Y=0.4642&Z=9.5386&T=19:21:17:430&X=-0.7322&Y=0.4250&Z=9.5713&T=19:21:17:466&X=-0.7845&Y=0.3988&Z=9.4732&T=19:21:17:502&X=-0.7845&Y=0.4446&Z=9.6236&T=19:21:17:538&X=-0.7911&Y=0.4969&Z=9.5190&T=19:21:17:574&X=-0.7257&Y=0.3727&Z=9.5713&T=19:21:17:609&X=-0.7976&Y=0.3661&Z=9.7020&T=19:21:17:645&X=-0.7649&Y=0.4250&Z=9.5778&T=19:21:17:681&X=-0.7649&Y=0.4184&Z=9.6171&T=19:21:17:717&X=-0.7453&Y=0.4380&Z=9.5582&T=19:21:17:753&X=-0.7911&Y=0.4446&Z=9.6236&T=19:21:17:789&X=-0.6865&Y=0.5034&Z=9.6040&T=19:21:17:824&X=-0.7388&Y=0.4380&Z=9.7020&T=19:21:17:860&X=-0.7715&Y=0.3857&Z=9.5451&T=19:21:17:896&X=-0.7518&Y=0.3923&Z=9.5517&T=19:21:17:932&X=-0.6995&Y=0.3727&Z=9.6171&T=19:21:17:968&X=-0.7518&Y=0.3138&Z=9.5321&T=19:21:17:998&X=-0.7845&Y=0.3857&Z=9.6105&T=19:21:18:14&X=-0.7911&Y=0.4250&Z=9.5648&T=19:21:18:71
18:55:43.154 -> AT+CGATT?
18:55:43.154 -> 
18:55:43.154 -> +CGATT: 1
18:55:43.154 -> 
18:55:43.154 -> OK
18:55:43.154 -> AT+CIFSR;E0
18:55:43.154 -> 
18:55:43.154 -> 10.32.128.91
18:55:43.154 -> 
18:55:43.154 -> OK
18:55:43.154 -> /update4.php?data=1&X=-0.7845&Y=0.4446&Z=9.5778&T=19:21:16:935&X=-0.7518&Y=0.4250&Z=9.6040&T=19:21:16:970&X=-0.6995&Y=0.4446&Z=9.5778&T=19:21:16:998&X=-0.7322&Y=0.4380&Z=9.5125&T=19:21:17:14&X=-0.7715&Y=0.4053&Z=9.6694&T=19:21:17:72&X=-0.7780&Y=0.4511&Z=9.5844&T=19:21:17:108&X=-0.7061&Y=0.4511&Z=9.6759&T=19:21:17:144&X=-0.7649&Y=0.4053&Z=9.6890&T=19:21:17:179&X=-0.7388&Y=0.4380&Z=9.5909&T=19:21:17:215&X=-0.7453&Y=0.4446&Z=9.5778&T=19:21:17:251&X=-0.7780&Y=0.4250&Z=9.5451&T=19:21:17:287&X=-0.7453&Y=0.4250&Z=9.5255&T=19:21:17:323&X=-0.7322&Y=0.4184&Z=9.5451&T=19:21:17:359&X=-0.7453&Y=0.4250&Z=9.5190&T=19:21:17:394&X=-0.7845&Y=0.4642&Z=9.5386&T=19:21:17:430&X=-0.7322&Y=0.4250&Z=9.5713&T=19:21:17:466&X=-0.7845&Y=0.3988&Z=9.4732&T=19:21:17:502&X=-0.7845&Y=0.4446&Z=9.6236&T=19:21:17:538&X=-0.7911&Y=0.4969&Z=9.5190&T=19:21:17:574&X=-0.7257&Y=0.3727&Z=9.5713&T=19:21:17:609&X=-0.7976&Y=0.3661&Z=9.7020&T=19:21:17:645&X=-0.7649&Y=0.4250&Z=9.5778&T=19:21:17:681&X=-0.7649&Y=0.4184&Z=9.6171&T=19:21:17:717&X=-0.7453&Y=0.4380&Z=9.5582&T=19:21:17:753&X=-0.7911&Y=0.4446&Z=9.6236&T=19:21:17:789&X=-0.6865&Y=0.5034&Z=9.6040&T=19:21:17:824&X=-0.7388&Y=0.4380&Z=9.7020&T=19:21:17:860&X=-0.7715&Y=0.3857&Z=9.5451&T=19:21:17:896&X=-0.7518&Y=0.3923&Z=9.5517&T=19:21:17:932&X=-0.6995&Y=0.3727&Z=9.6171&T=19:21:17:968&X=-0.7518&Y=0.3138&Z=9.5321&T=19:21:17:998&X=-0.7845&Y=0.3857&Z=9.6105&T=19:21:18:14&X=-0.7911&Y=0.4250&Z=9.5648&T=19:21:18:71
18:55:43.306 -> ---------------END PACKET------
18:55:43.306 -> -----Sending Data starts----
18:55:43.306 -> AT+CIPCLOSE=0
18:55:43.306 -> 
18:55:43.306 -> +CME ERROR: operation not allowed
18:55:43.306 -> AT+CIPSTART=0,"TCP","angevin-ponds.000webhostapp.com",80
18:55:43.306 -> 
18:55:43.306 -> OK
18:55:43.780 -> 
18:55:43.780 -> 0, CONNECT OK
18:55:43.780 -> AT+CIPSEND=0,3
18:55:43.780 -> 
18:55:43.780 -> >GET 
18:55:43.780 -> DATA ACCEPT:0,3
18:55:43.780 -> AT+CIPSEND=0,1
18:55:43.780 -> 
18:55:43.780 -> >  
18:55:43.780 -> DATA ACCEPT:0,1
18:55:43.818 -> AT+CIPSEND=0,1434
18:55:43.818 -> 
18:55:43.818 -> >/update4.php?data=1&X=-0.7845&Y=0.4446&Z=9.5778&T=19:21:16:935&X=-0.7518&Y=0.4250&Z=9.6040&T=19:21:16:970&X=-0.6995&Y=0.4446&Z=9.5778&T=19:21:16:998&X=-0.7322&Y=0.4380&Z=9.5125&T=19:21:17:14&X=-0.7715&Y=0.4053&Z=9.6694&T=19:21:17:72&X=-0.7780&Y=0.4511&Z=9.5844&T=19:21:17:108&X=-0.7061&Y=0.4511&Z=9.6759&T=19:21:17:144&X=-0.7649&Y=0.4053&Z=9.6890&T=19:21:17:179&X=-0.7388&Y=0.4380&Z=9.5909&T=19:21:17:215&X=-0.7453&Y=0.4446&Z=9.5778&T=19:21:17:251&X=-0.7780&Y=0.4250&Z=9.5451&T=19:21:17:287&X=-0.7453&Y=0.4250&Z=9.5255&T=19:21:17:323&X=-0.7322&Y=0.4184&Z=9.5451&T=19:21:17:359&X=-0.7453&Y=0.4250&Z=9.5190&T=19:21:17:394&X=-0.7845&Y=0.4642&Z=9.5386&T=19:21:17:430&X=-0.7322&Y=0.4250&Z=9.5713&T=19:21:17:466&X=-0.7845&Y=0.3988&Z=9.4732&T=19:21:17:502&X=-0.7845&Y=0.4446&Z=9.6236&T=19:21:17:538&X=-0.7911&Y=0.4969&Z=9.5190&T=19:21:17:574&X=-0.7257&Y=0.3727&Z=9.5713&T=19:21:17:609&X=-0.7976&Y=0.3661&Z=9.7020&T=19:21:17:645&X=-0.7649&Y=0.4250&Z=9.5778&T=19:21:17:681&X=-0.7649&Y=0.4184&Z=9.6171&T=19:21:17:717&X=-0.7453&Y=0.4380&Z=9.5582&T=19:21:17:753&X=-0.7911&Y=0.4446&Z=9.6236&T=19:21:17:789&X=-0.6865&Y=0.5034&Z=9.6040&T=19:21:17:824&X=-0.7388&Y=0.4380&Z=9.7020&T=19:21:17:860&X=-0.7715&Y=0.3857&Z=9.5451&T=19:21:17:896&X=-0.7518&Y=0.3923&Z=9.5517&T=19:21:17:932&X=-0.6995&Y=0.3727&Z=9.6171&T=19:21:17:968&X=-0.7518&Y=0.3138&Z=9.5321&T=19:21:17:998&X=-0.7845&Y=0.3857&Z=9.6105&T=19:21:18:14&X=-0.7911&Y=0.4250&Z=9.5648&T=19:21:18:71 
18:55:43.926 -> DATA ACCEPT:0,1434
18:55:43.926 -> AT+CIPSEND=0,9
18:55:43.926 -> 
18:55:43.926 -> > HTTP/1.1 
18:55:43.926 -> DATA ACCEPT:0,9
18:55:43.926 -> AT+CIPSEND=0,2
18:55:43.964 -> 
18:55:43.964 -> >
18:55:43.964 ->  
18:55:43.964 -> DATA ACCEPT:0,2
18:55:43.964 -> AT+CIPSEND=0,6
18:55:43.964 -> 
18:55:43.964 -> >Host:  
18:55:43.964 -> DATA ACCEPT:0,6
18:55:43.964 -> AT+CIPSEND=0,31
18:55:43.964 -> 
18:55:43.964 -> >angevin-ponds.000webhostapp.com 
18:55:43.964 -> DATA ACCEPT:0,31
18:55:43.964 -> AT+CIPSEND=0,2
18:55:43.964 -> 
18:55:43.964 -> >
18:55:43.964 ->  
18:55:43.964 -> DATA ACCEPT:0,2
18:55:43.964 -> AT+CIPSEND=0,10
18:55:44.002 -> 
18:55:44.002 -> >User-Agent 
18:55:44.002 -> DATA ACCEPT:0,10
18:55:44.002 -> AT+CIPSEND=0,2
18:55:44.002 -> 
18:55:44.002 -> >:  
18:55:44.002 -> DATA ACCEPT:0,2
18:55:44.002 -> AT+CIPSEND=0,13
18:55:44.002 -> 
18:55:44.002 -> >Arduino/2.2.0 
18:55:44.002 -> DATA ACCEPT:0,13
18:55:44.002 -> AT+CIPSEND=0,2
18:55:44.002 -> 
18:55:44.002 -> >
18:55:44.002 ->  
18:55:44.002 -> DATA ACCEPT:0,2
18:55:44.036 -> AT+CIPSEND=0,10
18:55:44.036 -> 
18:55:44.036 -> >Connection 
18:55:44.036 -> DATA ACCEPT:0,10
18:55:44.036 -> AT+CIPSEND=0,2
18:55:44.036 -> 
18:55:44.036 -> >:  
18:55:44.036 -> DATA ACCEPT:0,2
18:55:44.036 -> AT+CIPSEND=0,5
18:55:44.036 -> 
18:55:44.036 -> >close 
18:55:44.036 -> DATA ACCEPT:0,5
18:55:44.071 -> AT+CIPSEND=0,2
18:55:44.071 -> 
18:55:44.071 -> >
18:55:44.071 ->  
18:55:44.071 -> DATA ACCEPT:0,2
18:55:44.071 -> AT+CIPSEND=0,2
18:55:44.071 -> 
18:55:44.071 -> >
18:55:44.071 ->  
18:55:44.071 -> DATA ACCEPT:0,2
18:55:44.071 -> ----sending data ends----
18:55:44.071 -> AT+CIPRXGET=4,0
18:55:44.071 -> 
18:55:44.071 -> +CIPRXGET: 4,0,0
18:55:44.071 -> 
18:55:44.071 -> OK
18:55:44.071 -> AT+CIPSTATUS=0
18:55:44.105 -> 
18:55:44.105 -> +CIPSTATUS: 0,0,"TCP","145.14.144.43","80","CONNECTED"
18:55:44.105 -> 
18:55:44.105 -> OK
18:55:45.088 -> AT+CIPRXGET=4,0
18:55:45.088 -> 
18:55:45.088 -> +CIPRXGET: 1,0
18:55:45.127 -> 
18:55:45.127 -> +CIPRXGET: 4,0,1466
18:55:45.127 -> 
18:55:45.127 -> OK
18:55:45.127 -> AT+CIPRXGET=2,0,1023
18:55:45.127 -> 
18:55:45.127 -> +CIPRXGET: 2,0,1023,443
18:55:45.127 -> HTTP/1.1 200 OK
18:55:45.127 -> Date: Wed, 14 Jun 2023 22:55:44 GMT
18:55:45.127 -> Content-Type: text/html; charset=UTF-8
18:55:45.127 -> Transfer-Encoding: chunked
18:55:45.127 -> Connection: close
18:55:45.127 -> Server: awex
18:55:45.127 -> X-Xss-Protection: 1; mode=block
18:55:45.127 -> X-Content-Type-Options: nosniff
18:55:45.127 -> X-Request-ID: 9e9cea7a1ac47d36f13d2e0382463389
18:55:45.165 -> 
18:55:45.165 -> 4a4
18:55:45.165 -> New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successf
18:55:45.203 -> OK
18:55:45.274 -> AT+CIPRXGET=2,0,443
18:55:45.274 -> 
18:55:45.274 -> +CIPRXGET: 2,0,443,5
18:55:45.274 -> ully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>New record created successfully.<br>
18:55:45.332 -> 
18:55:45.332 -> OK
18:55:45.332 -> AT+CIPRXGET=2,0,5
18:55:45.332 -> 
18:55:45.332 -> +CIPRXGET: 2,0,5,0
18:55:45.332 -> 0
18:55:45.332 -> 
18:55:45.332 -> 
18:55:45.332 -> OK
18:55:45.603 -> AT+CIPRXGET=4,0
18:55:45.603 -> 
18:55:45.603 -> +CIPRXGET: 4,0,0
18:55:45.603 -> 
18:55:45.603 -> OK
18:55:45.603 -> AT+CIPSTATUS=0
18:55:45.603 -> 
18:55:45.603 -> +CIPSTATUS: 0,0,"TCP","145.14.144.43","80","REMOTE CLOSING"
18:55:45.641 -> 
18:55:45.641 -> OK
18:55:46.086 -> AT+CIPRXGET=4,0
18:55:46.124 -> 
18:55:46.124 -> +CIPRXGET: 4,0,0
18:55:46.124 -> 
18:55:46.124 -> OK
18:55:46.124 -> AT+CIPSTATUS=0
18:55:46.124 -> 
18:55:46.124 -> +CIPSTATUS: 0,0,"TCP","145.14.144.43","80","REMOTE CLOSING"
18:55:46.124 -> 
18:55:46.124 -> OK

The Receiver code is below:

The receiver code is here:

#include <esp_now.h>
#include <WiFi.h>

#define TINY_GSM_MODEM_SIM7000
#define SerialMon Serial
#define SerialAT Serial1
#define TINY_GSM_RX_BUFFER 1024
#define DUMP_AT_COMMANDS
#define TINY_GSM_DEBUG SerialMon
#define GSM_AUTOBAUD_MIN 9600
#define GSM_AUTOBAUD_MAX 115200
#define TINY_GSM_USE_GPRS true
#define TINY_GSM_USE_WIFI false
#define GSM_PIN ""

const char apn[]      = "HIDDEN";
const char gprsUser[] = "";
const char gprsPass[] = "";

const char server[]   = "angevin-ponds.000webhostapp.com"; 
const int  port       = 80;


#include <TinyGsmClient.h>
#include <ArduinoHttpClient.h>

#ifdef DUMP_AT_COMMANDS
#include <StreamDebugger.h>
StreamDebugger debugger(SerialAT, SerialMon);
TinyGsm        modem(debugger);
#else
TinyGsm        modem(SerialAT);
#endif

#define UART_BAUD   115200
#define PIN_DTR     25
#define PIN_TX      27
#define PIN_RX      26
#define PWR_PIN     4

TinyGsmClient client(modem);
HttpClient    http(client, server, port);
int counter, lastIndex, numberOfPieces = 24;
String pieces[24], input;
float value_data[8] = {0.0};
int count = 0;
int url_Check = 0;

//Function Declaration
void updateData();
void initGSM();
void connectAPN();

//String data1 , data2 , data3 , data4, data5, data6, data7;
String data_Post = "";
char resource[16384];
typedef struct struct_message {

  float depth1;
  float depth2;
  float depth3;
  float depth4;
  float accel_x;
  float accel_y;
  float accel_z;
  char TTime[15];
  float Temp;


} struct_message;


struct_message myData;
void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {
  memcpy(&myData, incomingData, sizeof(myData));
  /*
    Serial.print("\n Bytes received: ");
    Serial.println(len);
    Serial.print("\n Depth_1: ");
    Serial.println(myData.depth1);
    Serial.print("\n Depth_2: ");
    Serial.println(myData.depth2);
    Serial.print("\n Depth_3: ");
    Serial.println(myData.depth3);
    Serial.print("\n Depth_4: ");
    Serial.println(myData.depth4);
    Serial.print("\n X-Accel: ");
    Serial.println(myData.accel_x);
    Serial.print("\n Y-Accel: ");
    Serial.println(myData.accel_y);
    Serial.print("\n Z-Accel: ");
    Serial.println(myData.accel_z);

  */
  //convert to Float
  //  value_data[0] = String(myData.depth1).toFloat();
  //  value_data[1] = String(myData.depth2).toFloat();
  //  value_data[2] = String(myData.depth3).toFloat();
  //  value_data[3] = String(myData.depth4).toFloat();
  //  value_data[4] = String(myData.accel_x).toFloat();
  //  value_data[5] = String(myData.accel_y).toFloat();
  //  value_data[6] = String(myData.accel_z).toFloat();
  //  value_data[7] = String(myData.Temp).toFloat();


  /*
    &D1= depth1 sensor
    &D2= depthe2 sensor
    &D3= deppth3 sensor
    &D4= depthe4 sensor
    &X= X-acceleration
    &Y= Y-acceleration
    &Z= Z-acceleration
    &Te= Temperature
    &T= Time
  */
  if (myData.depth1 == 0 && myData.depth2 == 0 && myData.depth3 == 0 && myData.depth4 == 0 &&  myData.Temp == 0) // If depth1,2,3,4 & Temp is equal to zero. It means we are only sending Acceleration & time
  {
    if (url_Check == 0)
    {
      data_Post += "/update4.php?data=1";

    }

    data_Post += "&X=" + String(myData.accel_x, 4 ) + "&Y=" + String(myData.accel_y, 4) + "&Z=" + String(myData.accel_z, 4) + "&T=" + String(myData.TTime);
                 count++;
                 url_Check = 1;
                 if (count == 33) //change the packet size
  {
    Serial.println(data_Post);
      updateData();
      delay(11115000);
      count = 0;
      data_Post = "";
      url_Check = 0;

    }

  }
  else  // send complete packet
  {
    data_Post += "/update4.php?data=2";
    data_Post += "&D1=" + String(myData.depth1, 2 ) + "&D2=" + String(myData.depth2, 2) + "&D3=" + String(myData.depth3, 2) + "&D4=" + String(myData.depth4, 2);
    data_Post += "&X=" + String(myData.accel_x, 4 ) + "&Y=" + String(myData.accel_y, 4) + "&Z=" + String(myData.accel_z, 4) + "&Te=" + String(myData.Temp, 2);
    data_Post += "&T=" + String(myData.TTime);
    Serial.println(data_Post);
    updateData();
    data_Post = "";

  }


}


//This Setup code is executed once then moves to void loop

void setup() {
  SerialMon.begin(115200);
  delay(10);
  initGSM();
  delay(2000);
  connectAPN();
  delay(2000);
  WiFi.mode(WIFI_STA);
  if (esp_now_init() != ESP_OK) {
    Serial.println("Error initializing ESP-NOW");
    return;
  }
  else {
    Serial.println("ESP-NOW initialized Sucessfully");
  }
  esp_now_register_recv_cb(OnDataRecv);
}

void loop() {

}


//Intilization and Setup is everything above this comment Line


//The board is only intended to perform specific tasks once during the setup phase and
//then wait for external events or interrupts to trigger new actions or behaviors. In this case,
//the loop() function may be left blank because the board does not need to do anything continuously.
//You have to have a loop() function, but it doesn't have to have anything in it.
//So put everything in setup(), and have an empty loop().


void updateData() {

  if (modem.isGprsConnected()) {
    char resource[4096];


    // SerialMon.print(F("Performing HTTP GET request... "));



    data_Post.toCharArray(resource , data_Post.length() + 1);
    Serial.println(resource);
    Serial.println("---------------END PACKET------");
    Serial.println("-----Sending Data starts----");
    int err = http.get(resource);
    if (err != 0) {
      SerialMon.println(F("failed to connect"));
      delay(10000);
      return;
    }
    Serial.println("----sending data ends----");
    //  int status_code = http.responseStatusCode();
    //      SerialMon.print(F("Response status code: "));
    //      SerialMon.println(status_code);
    //      if (!status_code) {
    //        //delay(10000);
    //       // return;
    //      }
    //      SerialMon.println(F("Response Headers:"));
    //      while (http.headerAvailable()) {
    //        String headerName  = http.readHeaderName();
    //        String headerValue = http.readHeaderValue();
    //        SerialMon.println("    " + headerName + " : " + headerValue);
    //      }
    //      int length = http.contentLength();
    //      if (length >= 0) {
    //        SerialMon.print(F("Content length is: "));
    //        SerialMon.println(length);
    //      }
    //      if (http.isResponseChunked()) {
    //        SerialMon.println(F("The response is chunked"));
    //    }
    String body = http.responseBody();
    //  SerialMon.println(F("Response:"));
    //   SerialMon.println(body);
    // http.stop();
    //  http.connectionKeepAlive();
    //      SerialMon.println(F("Server disconnected"));


  }
  else {

    if (!modem.gprsConnect(apn, gprsUser, gprsPass))
    {
      Serial.println("---GPRS not connected!----");
      Serial.println("---Re-initit GSM/GPRS---");
      initGSM();
      connectAPN();

    }
    else
    {
      Serial.println("---GPRS is connected!---");
    }

  }


}



void initGSM() {

  Serial.println("-------InitGSM starts-----");

  pinMode(PWR_PIN, OUTPUT);
  digitalWrite(PWR_PIN, HIGH);
  delay(300);
  digitalWrite(PWR_PIN, LOW);

  SerialAT.begin(UART_BAUD, SERIAL_8N1, PIN_RX, PIN_TX);
  Serial.println("Initializing modem...");
  //  if (!modem.restart()) {
  //    Serial.println("Failed (modem.restart()) to restart modem, attempting to continue without restarting");
  //  }
  Serial.println("Initializing modem...");
  if (!modem.init()) {
    Serial.println("Failed  (modem.init()) to restart modem, attempting to continue without restarting");
  }

  String name = modem.getModemName();
  //delay(500);
  Serial.println("Modem Name: " + name);

  String modemInfo = modem.getModemInfo();
  //delay(500);
  Serial.println("Modem Info: " + modemInfo);
  if ( GSM_PIN && modem.getSimStatus() != 3 ) {
    modem.simUnlock(GSM_PIN);
  }
  modem.sendAT("+CFUN=0 ");
  if (modem.waitResponse(10000L) != 1) {
    DBG(" +CFUN=0  false ");
  }
  //delay(200);
  String res;
  res = modem.setNetworkMode(2);
  if (res != "1") {
    DBG("setNetworkMode  false ");
    return ;
  }
  //delay(200);
  res = modem.setPreferredMode(1);
  if (res != "1") {
    DBG("setPreferredMode  false ");
    return ;
  }
  //delay(400);
  modem.sendAT("+CFUN=1 ");
  if (modem.waitResponse(10000L) != 1) {
    DBG(" +CFUN=1  false ");
  }
  //delay(200);

  SerialAT.println("AT+CGDCONT?");
  delay(50);
  if (SerialAT.available()) {
    input = SerialAT.readString();
    for (int i = 0; i < input.length(); i++) {
      if (input.substring(i, i + 1) == "\n") {
        pieces[counter] = input.substring(lastIndex, i);
        lastIndex = i + 1;
        counter++;
      }
      if (i == input.length() - 1) {
        pieces[counter] = input.substring(lastIndex, i);
      }
    }
    input = "";
    counter = 0;
    lastIndex = 0;

    for ( int y = 0; y < numberOfPieces; y++) {
      for ( int x = 0; x < pieces[y].length(); x++) {
        char c = pieces[y][x];  //gets one byte from buffer
        if (c == ',') {
          if (input.indexOf(": ") >= 0) {
            String data = input.substring((input.indexOf(": ") + 1));
            if ( data.toInt() > 0 && data.toInt() < 25) {
              modem.sendAT("+CGDCONT=" + String(data.toInt()) + ",\"IP\",\"" + String(apn) + "\",\"0.0.0.0\",0,0,0,0");
            }
            input = "";
            break;
          }
          // Reset for reuse
          input = "";
        } else {
          input += c;
        }
      }
    }
  } else {
    Serial.println("Failed to get PDP!");
  }

  Serial.println("\n\n\nWaiting for network...");
  if (!modem.waitForNetwork()) {
    //delay(10000);
    return;
  }

  if (modem.isNetworkConnected()) {
    Serial.println("Network connected");
  }

  Serial.println("\n---Starting GPRS TEST---\n");
  Serial.println("Connecting to: " + String(apn));
  if (!modem.gprsConnect(apn, gprsUser, gprsPass)) {
    //delay(10000);
    return;
  }

  Serial.print("GPRS status: ");
  if (modem.isGprsConnected()) {
    Serial.println("connected");
  } else {
    Serial.println("not connected");
  }

  Serial.println("--------Init GSM ends-------");
}


void connectAPN() {
  Serial.print("Connecting to APN: ");
  Serial.print(apn);
  if (!modem.gprsConnect(apn, gprsUser, gprsPass)) {
    Serial.println(" fail");
  }
  else {
    Serial.println(" OK");
  }
}

That's a frequent question. What it tells must be found in plenty of FAQ's.
This is what Oncle Google said from "error 400":
error 400 – Yahoo Sökresultat

Yes unfortunately it has not said anything about the size. It only shows about being invalid syntax

Try Google again, on GPRS limit.
You have told about a limit regarding size. Use that knowledge.
I have a vauge memory of a hard limit. This was discussed here not long ago.

I believe it's 1500 but not 100% sure if the limitations of the server has anything to do about it.

Characters? Not packages?
Server limits or not, I have no idea.

Characters

What about checking the size supported packages?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.