Ethernet interface for Particle using W5500 User Library Complete

I was thinking of that, too. :slight_smile:

Hey @peekay123

Good to hear from you again.

I absolutely agree that it will NOT be trivial to do this. And I realize you know from experience as I have seen you post about the very same subject on other threads.

I am a big advocate of the RPi but I definitely see the need for this type of small Ethernet interface IOT module. You cannot find an embedded Ethernet IOT module that could offer what this product could.

I have use cases with our industrial clients that warrant an Ethernet Particle module which is why we took this on to start with. If you look at these use cases with a RPi in the mix it just sticks out like a sore thumb and you quickly realize there’s just something not right about it. For one there is the continuing supply chain issue with the RPi and for two it’s just simply too big and running a full Linux OS there are too many things to go wrong where a more embedded device like a Particle Ethernet module just makes sense. Hard to put a finger on it but this Ethernet Particle module just makes sense both from a physical and architectural stand point.

@IOTrav, I totally agree that RPi/Linux is not an industrial platform (I wish QNX was available!). I don’t see any way of adding Ethernet than creating a new variant with major changes to the firmware, ideally below the HAL. The challenge will always be to stay in step with system firmware updates on the main branch. I don’t see any way of doing this in a user library.

With Ethernet, you may consider PoE or power permanence so sleep() modes may be irrelevant. The tight integration with WICED is also an issue. In fact, WICED will disappear with only FreeRTOS remaining. If you keep WiFi and WICED, you will then have the challenge of finding room for the extra system firmware space. Yuk!

Hey @peekay123

This first iteration of the project where we are just connecting the W5500 to a photon module using the overlay architecture is really just the first step in this project. Eventually we plan to design a 100% ethernet dedicated particle module using the STM32 processor on the board. Think something like Bluz or Redbear. I know this is a long haul but I know it’s not impossible because other companies(Bluz and Redbear) have done it.

Our limitation is we can make the hardware, we can do that in our sleep, but we do not have dedicated in house C/C++ developers. I’m the closest thing we have and this is outside my capabilities and I have no problem admitting that. We are looking to hire a developer to take this on. We will be more than happy to pay for the development work and we will pay well. Just looking for someone to step up and take it on.

What I have done to this point is prove the W5500’s capabilities by simply opening sockets, obtaining a DHCP address, etc from the application side. This proves the W5500’s capabilities as well as our hardware design to this point. Now it needs to take the next step. If you or anyone you know would be willing to take on this project as a paid job please PLEASE let me know.

Thanks @peekay123

1 Like

@jonlogan, have you got anybody on your list who might be capable to assist?
Also @will might find the project interesting as a possible compound to extend the Particle IoT radius.

2 Likes

Perhaps @Maddy5075 might be able to assist as it seems he is working on something similar.

1 Like

Interesting! We have managed to connect to cloud using STM32F207, of course with the help of Dave when we shared our unique device ID.

1 Like

What communication interface did you use with the STM32F207?

STM32F207’s built in Ethernet MAC. I had to make some modifications to WICED stack.

Great question! We have a list of partners that can help with this. The two that I would recommend for this case are Radio Bridge and Lab651. Send me details in a DM and I can make an intro. cc @IOTrav

3 Likes

I’d like to just convey my sentiment towards this effort. I’d love to see a hard-wired ethernet Photon variant board. The industrial application possibilities really get opened up with this option. If I had any previous experience digging into the HAL or with engineering the necessary programming for Particle cloud traffic over the hard wire, I’d volunteer my time, but I’m afraid I’d probably just do more harm than good. Please update us if any progress is made. :slight_smile:
I’m going to make a provision in my newest Photon project where I leave one of the SPI ports open in case this gets an official release.

1 Like

Hi @tommy_boy,

Thank you very much for voicing your sentiment towards having an Ethernet solution for Particle. We(NCD and Particle) need to know the possible demand for such a solution. Simply letting us know on the forum tells us there is a demand for such a solution and helps drive the project.

@IOTrav
I am interested in the product. I don’t plan to use the particle cloud with the Ethernet adapter. When will it be available?

1 Like

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.