Ethernet interface for Particle using W5500 User Library Complete

I’d be interested in something like this too. My primary use case is IoT automation and I like the stability of a hard wired Ethernet connection. I’d use MQTT as the communication protocol and primarily would use Particles back end for OTA code updates.

1 Like

I have a question. With the w5500 ethernet adapter running, do we still have the access to Particle Cloud via Wifi (photon) / 3G (electron) ?

1 Like

We are putting resources together and hope to have it posted for sale on the site later this week. I will absolutely post a comment on this thread when it’s ready to order. Keep an eye on this thread.

Hi @dome

Thank you very much for expressing your interest in this project.

1 Like

Yes, absolutely. The Electron/Photon still run just as before. We simply connect the W5500 to the SPI lines of the Particle module. The Electron/Photon are still completely free to communicate with Particle’s cloud through WiFi/Cellular.

@IOTrav

I have tried your code and your example using a Seeedstudio W5500 board as shown here
https://drive.google.com/file/d/0B3RSuv91xWggRGRENXpNQ1RwWUk/view?usp=sharing
The IP address was obtained as seen on the Serial console.

But when I use it as a web server using the code here (webserverAO,ino):
https://drive.google.com/drive/folders/0B3RSuv91xWggMTBkRHFiRTQ4R3c?usp=sharing
it doesn’t work.

Does your code work for the ethernet server? Do you have some working examples for ethernet server? Please advise any comment. Thank you.

1 Like

I do not remember if I tested the TCP Server functionality. I see no reason why it would not work though. There were no build errors and I had no issues with UDP sockets which is what I did most of my testing with. I’ll try running the TCP server examples from Wiznet and see if there are any issues.

Hey @IOTrav
With the two SPI ports on the Photon (1 on the analog pin side and 1 on the digital pin side), which port did you use for your hardware shield? Are you planning on making 2 variants where each shield would access only 1 port?

1 Like

@IOTrav

I use the examples from here

Please see if you find any problem. Thank you.

1 Like

Hi @tommy_boy

We are currently putting together wiring/connection diagrams. This will reference the connected SPI lines on the Photon/Electron modules. We are currently only making one variant of the product which uses only one of the SPI ports on the Particle modules. Which port we used escapes me at the moment but as soon as the product is posted on the site(should be Friday) there will be a connection diagram there for reference. The EEs here are putting that together as we speak.

@aruangra,
I will try to test that sample later today if I get a chance.

@IOTrav

Any update on the product and the library? Thank you.

1 Like

I am working on the TCP Server/ TCP Client samples. Currently there is an issue with the library. I am working with Wiznet to resolve the issue but it’s still open at the moment.

@IOTrav

FYI, This W5500 mbed library for STM32 boards may be useful for you.
https://developer.mbed.org/teams/WIZnet/code/WIZnet_Library/file/cb8808b47e69/WIZnetInterface

@IOTrav - I have a potential need for a few hundred - so there is interest

1 Like

Thank you @aruangra I’ll check that out. I was out last week so I’m playing catch up now :wink:

@IOTrav - Definitely interested in picking a few up as well, any ETA for when the modules will be available? Thanks for your work on this!

1 Like

I’m still working to resolve the issues on the Client class. I finally have a few hours to work on it here so hopefully I can make some headway. We have the hardware ready to go/sell so once this is complete it will be ready for sale.

2 Likes

Great news everyone. I got a couple of spare hours yesterday and fixed the bugs with the TCP socket connections. As it turns out Particle’s IPAddress.raw().ipv4 function was returning the IP address array in reverse order so for instance if the IP address was 192.168.0.1 this function would return array:
ip[0] = 0x01
ip[1] = 0x00
ip[2] = 0xA8
ip[3] = 0x0C
The Wiznet library classes expect the address in the reverse order so this reeked all kinds of havoc on the library. I reversed the IP everywhere needed and everything seems to be working correctly now. @aruangra I believe you were doing some testing with the library. You can pull in the latest version of my Wiznet W5500 Particle library here and give it a go if you like:

Since this is now fixed we will be releasing the Ethernet Overlay shortly. @shanevanj, @sddw, @tommy_boy, if you are interested let me know and I will ping you as soon as they hit the store.

2 Likes

Very interested :slight_smile:

1 Like