WIZnet Developer Forum

W5500 TCP/IP client continuas connection

Hi all:

I have designed a data logger board based on ATMEGA644 uP and W5500 chipset.
The goal is to measure 8 temperature sensors and send the data to a server, every 1 second.
I get a connection with the server alright but not sure about the way of handling the socket for continuous SEND() commands (sending a packet of 64 bytes every second)…
Data received by the server is not “clean” and has a lot of “nonsense” material addd to it…
I am “new” with the W5500 and any advice will be appreciated…

Have you looked at MQTT, not sure how it will handle the every 1 second.

Hi, don’t know the term MQTT…
Please explain.

I hope you refer to ioLibrary_Driver.
Implement the send() function in socket.c in your environment, and call the send() function every 1 second counts.

Hi Becky:
I am glad to see your reply and
I would like to have a "channel " to the Wiznet team because I got stacked in developing a project to a client in which I have to send a packet of data (constant size) of sensors every 1 second!
I have designed a special board for it using the W5500 and got to have a connection with the server but data that I send (small string, once, right now) is received with “milliard” of junk bytes and the data itself appeared few times. I am using the iolibrary routines as is to handle the socket, connect, and send activities.
Is socket can be open “forever”? Keep Alive needed?

Urgent help will be much appreciated…

Becky hi,
I am sending TCP string to host server (len =0x96). I am getting allot of “garbage” before seeing data on screen.
Before sending the WR pointer is ox00FD, after sending it 0x0093, but must be 0x0193 (0x00FD+0x96).
Is that my reading mistake or sending the hole buffer and wrap around to address 0x0093?
Please respond…

In the case of sn_TX_WR, to read 16-bit data, addresses 0x0024 and 0x0025 must be read by 8 bits each. Is this correct?

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.