Hi,
I’m trying to complete the sequence to upload by post method a text file between a SIM800L, controlled by python, and the server with a PHP script
The php script is tested by Fiddler program (data lenght calc to upload) and seems work.
python code:
gsm = serial.Serial("/dev/ttyS2", baudrate=115200, timeout=15)
gsm.write(‘AT+SAPBR=3,1,“CONTYPE”,“GPRS”\r\n’)
reply_gsm() # wait OK
gsm.write(‘AT+SAPBR=3,1,“APN”,"’ + apn + ‘"\r\n’)
reply_gsm()
gsm.write(‘AT+SAPBR=1,1\r\n’) # Initiate the IP connection
reply_gsm()
sleep(2)
gsm.write(‘AT+HTTPINIT\r\n’)
reply_gsm()
gsm.write(‘AT+HTTPPARA=“CID”,1\r\n’)
reply_gsm()
gsm.write(‘AT+HTTPPARA=“URL”,“http://www.mysite.com/upload.php”\r\n’)
reply_gsm()
gsm.write(‘AT+HTTPPARA=“CONTENT”,“multipart/form-data; boundary=-------------------------acebdf13572468”\r\n’)
reply_gsm()
gsm = serial.Serial("/dev/ttyS2", baudrate=115200, timeout=50)
gsm.write(‘AT+HTTPDATA=196,10000\r\n’)
rcv = gsm.readline()
rcv = gsm.readline()
if “DOWNLOAD” in rcv:
gsm.write(’-------------------------acebdf13572468\n’)
gsm.write(‘Content-Disposition: form-data; name=“filename”; filename=“data.txt”\n’)
gsm.write(‘Content-Type: text/plain\n\n’)
gsm.write(‘hallo guys\n’)
gsm.write(’-------------------------acebdf13572468\n’)
rcv = gsm.readline()
rcv = gsm.readline()
gsm.write(‘AT+HTTPACTION=1\r\n’)
rcv = gsm.readline()
rcv = gsm.readline()
rcv = gsm.readline()
rcv = gsm.readline()
if “+HTTPACTION” in rcv: # waiting reply
print "SIM800 reply: ", rcv
gsm.write('AT+HTTPREAD\r\n')
rcv = gsm.readline()
rcv = gsm.readline()
rcv = gsm.readline()
print rcv
gsm.write(‘AT+SAPBR=0,1\r\n’) #close connection now
reply_gsm()
################################################################
PHP code on the server: upload.php
any ideas?
cheers
Roberto
p.s. sorry for the not correct indent