Wi-Fi Combo Forum Discussions
Hello Guys,
I am studying the way HTTP server is working (Wiced 3.1.2, NetX_Duo stack)
There are some findings which I cannot figure out.
Please, help if you know what is going on.
I have written a simple TCP client in C that can send data to HTTP server.
I am sending a properly formed HTTP request:
(I have removed some text for brevity; I am sending a C-type string; BSD socket is used; once connection is established I write buffer to the socket )
const char buffer[] = \
"POST /api/settings HTTP/1.1\r\n"
...
"Content-Length: 44\r\n"
"Connection: keep-alive\r\n"
"Pragma: no-cache\r\n"
"Cache-Control: no-cache\r\n"
"\r\n"
"{\"action\":\"login\", \"param\":\"password\"}";
On the HTTP server end we receive data with the function: wiced_http_server_get_packet_data ( socket, packet, &request_string, &request_length ); It gets the packet which contains only HTTP Header. And request_string is pointing to the start of the Header.
After that, later on, I use wiced_tcp_stream_read(...) and get the HTTP body (of size Content-Length).
It seems that HTTP request is split into 2 parts. HTTP Header comes in the first packet. HTTP body comes in the next packet.
I cannot figure out who is doing the splitting of HTTP requests. Who is the middle men?
If I try to modify the first line of header, say, "QQQQ /api/settings HTTP/1.1\r\n", I get the whole message in the first packet (including the body)
Is it Netx_Duo that is looking for HTTP requests and on receiving them splits them into Header and Body with "\r\n\r\n" delimiter?
Or is it done somewhere above the tcp network stack and I am missing it? Or is it just magic?
I would be grateful for any help.
Oleg
Show LessHi,
I'm doing range testing using BRCM943362WCD4_EVB evaluation boards. I'm particularly interested in the throughput that I can get between two such boards at a distance of 100m, 200m, 300m and so on.
I've built the test.console application that comes with the WiCED SDK. The debug option is not enabled. To conduct the test I'm running iperf between two boards - the first boards configured as an AP and the second one as a STA. I'm ok with a throughput as low as 200 kbps and my main interest is in the range.
With this configuration, I'm not able to run the tests beyond about 50 meters (line of sight). The throughput drops rapidly beyond this distance.
I have the following questions:
1. Is there any particular setting to increase Tx power, Rx sensitivity, etc to increase the range.
2. Is there any other mechanism to increase the range - eg enable antenna diversity ?
3. I'm currently using the PCB antenna. Will an external antenna help to increase the range. If so, what is the part number for external antenna and how do I enable this in software.
3. Are there any sample test results available for range vs throughput. What is the maximum range I can expect if I'm ok with a throughput of about 200 kbps ?
Thank you
ngupta
Hi,
We are developing the wifi direct application based on the console/p2p etc modules in SDK 3.1.2. The WICED device starts as persistent autonomous group owner. I added the function to measure the wifi direct connection time from a Android phone. The first connection time is 6~8 seconds. Is there any way to reduce the time less than 2 seconds?
Thanks
Show LessTo support SSL/TLS for MQTT protocol I want to use wolfssl/cyassl library because these will take less amount of memory. If anyone had tried this please share the steps to build and use this library. Please post on this discussion thread.
Show LessMy application servers as the master on a rather busy data bus. Other devices on the bus need to be polled often to keep everything running smoothly. The only place I have run into a problem is with wiced_tcp_connect because it is a blocking call. When my application needs to make an out going tcp connection, everything else including the bus routine stops running while either the tcp connection is made or times out.
Is there a way to initiate a tcp connection in a non-blocking fashion, then check again later to see if the connection has been made?
Show LessThe new USI WICED-based BM-30 Wi-Fi module features the Broadcom BCM43362 Wireless LAN MAC/baseband/radio and leverages the ST Micro STM32F411 embedded processor and unique "self-hosted" Wi-Fi networking library and software application stack.
Features:
- Dimensions: 20mm x 28mm x 2.7mm
- Supports 802.11 b/g/n, 1x1, 2.4Ghz
- ARM Cortex-M4 capable of operating up to 100 MHz
- 128KB of SRAM and 1MB Flash (MCU 512KB+ 512KB/2MB Flash)
- Apple HomeKit Support
- UART, GPIO, SPI, I2C, Interface support
- SPI master interface for serial flash extension
- Support for Antenna Diversity
Product Landing Page: http://www.usish.com/english/products_wm_n_bm_30.php
WICED SDK based platform support available via USI.
Please contact your regional USI representative with questions about the new WM-30 or any of the other products in their IoT lineup:
TW & China: BM - Jessie Wei (jessiew@ms.usi.com.tw), Sales - Allen Sheng (allen_s@ms.usi.com.tw)
Japan & Korea: BM - Jessica Yu (jessicay@ms.usi.com.tw), Sales - Allen Sheng (allen_s@ms.usi.com.tw)
NA & EU & Rest wor: BM - Jessica Yu (jessicay@ms.usi.com.tw), Sales - Lihwa Chen Christensen (lihwa@ms.usi.com.tw)
Show LessI have modified snip.uart by changing all references to STDIO_UART to WICED_UART_2,
but no data is seen on the TX pin. Is there something else I need to configure to use this UART?
My platform is the ISM43362_MG3_L44.
Show LessHi,
When connecting to the client network, the DHCP client identify itself as "WICED DHCP Client".
Browsing the SDK 3.1.2, this string can be found in wiced_network.c : 64 :
#define DHCP_CLIENT_OBJECT_NAME ((char*)"WICED DHCP Client")
How can an application override this default value, without changing the SDK source code ?
In particular, I'm interested in overriding this value by dynamically loading it from the DCT.
thanks!
Tsachi
Show LessHi all.
Can I use the CMSIS of Cortex-M3 directly instead of wiced library, for gpio, I2C etc. ?
(SSB-WM-N01, Wiced-SDK)
Of course, I can use the wiced libray for controlling a gpio, I2C in the snip examples,
but I want to control the MCU more detailed such as I2C, SPI comm. etc.. except the wi-fi function.
Best regards.
Show Less