2017-03-01 09:02 AM
Hello,
I have some trouble trying to use SSI tags in custom html page. I can't manage to make it usable...
Let me explain a bit:
(All the following is hardcoded)
First, I create a file :
AT+S.FSC=/test.shtml,100\r?
And put some content into :
AT+S.FSA=/test.shtml,100\r
Followed by raw data :
'<html>'
'<head><title>Input Demo</title></head>'
'<body>''<p>Input from Host: <!--&sharpinput--></p>''</body>''</html>'Until here, everything is all right.
But if i load my page, the specified timeout (2s) is triggered and the content of the SSI tag is :
WebServer currently busy. Please try again later.
I understand that my SSI tag <!--input--> is never replaced because i never see any message on UART link before the end of the timeout; so i can't put any data over UART.
In fact, i receive a complete +WIND56 message (I dump every byte received from uart rx int) when page loading has ended :
+WIND:56:Insert message to client: TIMEOUT OCCURRED!
I am missing something ? Wouldn't it work out of the box in my case ?
Setup:
ST Nucleo F401RE + IDW01M1
SPWF01SA up to date : 160129-c5bf5ce
Wifi mode : Mini AP
Also, i can't find any information concerning SSIs and CGI capabilities. Provided link in another thread doesn't seems to work. Any working links to PDFs ?
Thank you,
Thomas.
#ssi-tag #spwf01sa2017-03-01 02:41 PM
Ciao Thomas,
did you already try a simple VCOM application? I mean, bypass F401 host uC parser, and send characters directly from PC? I expext WIND:56 before html download, not after.
Ciao
j
2017-03-02 02:50 AM
Hi,
I have a very similar issue.I am using a STM32F0DISCOVERY (3.5 fw release) + STEVAL-PCC018V1, so I do not have any intermediate hardware.I am using the demo example from this page:
.I do not receive any WIND:56 indication upon loading the index1.html page. If I submit the form I am able to get the indication.
For instance, if I open the input_demo.shtml the +wind:56 appears just upon the page loading.Thanks for your support.*EDIT*
I actually got it working. Changing the page extension from 'html' to 'shtml' solved the issue.Don't know if it is a relevant information, but I updated the file system via apache server.
2017-03-02 08:34 AM
'shtml' extension is mandatory
j
2017-03-02 09:46 AM
Yes, if you look at my code, i actually use 'shtml' extension.
btw, i managed to get it work.
I restarted my project from the ground, using example provided with nucleo module.
I found that the callback used to parse UART Rx was built around the fact that <cr><lf> is expected at the end of each line received from the module. But, the one i need (WIND:56) is the only one which not provide a <cr><lf> sequence. That why no code about this on was implemented.
A workaround is to add an 'end sequence' to my tag (eg: <!--input:001:WW-->), and look for 'WW:' in the entry buffer, at the same place where <cr><lf> are tested. So if one of these 2 sequences are detected, i can't launch Wind processing ( in this case, 001 is an internal index)
but it's a temporaty wordaround since 'WW:' sequence may occur elsewhere.
2017-03-02 09:52 AM
I forgot to say that i was using Mbed code before restarting my project, and my byte dump was done at the very beginning of the UART rx callback. I still don't know why i was unable to get it work. Maybe RX trigger in Mbed objets is triggred after a certain amount of data...
Also, may i suggest to add a <cr><lf> sequence at the end of that WIND:56, to match existing pattern ? ;p
Thanks for your help anyway!
Thomas