Hello everyone,
I am a c# developer and have also worked on Arduino.
I have an IoT project, where I need to control pumps through a website, so I have to use some WiFi module in my project.
I have searched online and learnt about Raspberry Pi(RPi4 is the latest version) and then there's Arduino YUN, I have also read about ESP8266(which I liked the most so far, as its cheap), I have also checked few STM32 and Beaglebone modules.
So, now I am confused and need help from experts, which modules should I select for this project?
Thanks.
Arduino YUN! I have not heard that one in a while. stay away from it.
if this is a oneoff the rasberry pi has will get you fastest to where you want to go. But if its goint into production stay away, there are serious volume availability issues, even the compute module. maybe what you need is nothing more than the rasberry pi zero/ pi 3
Same with the beaglebone it runs linux, it will run whatever webserver platform you want. But the beaglebone has tings that you may not need like extensive GPIO and PRUs. The beagle bone will be better to make a commercial system with as you can build your own board with the TI sitara IC (you cant do this with the rasberry pi).
If you want a low cost option go for the ESP 32 not the esp 8266. The esp 32 is more powerful and has 2 processor cores if you need it. But the esp/microcontroller rout will require more development effort.
I have an IoT project, where I need to control pumps through a website, so I have to use some WiFi module in my project.
Is this a commercial project? If yes you have to deal with ETSI regulations, CE etc.
Is this a one-off project? Do you need long term supply?
Is low-power or battery operation a concern? If yes, then WiFi is the wrong standard, and you need to look for 802.15.4 based modules.
fchk
I'd suggest the Raspberry Pi. With .NET Core being pretty good cross-platform now you can even run the sort of C# stuff you'd be familiar with - ASP.NET Core for the web server, etc. The BeagleBone would be fine too, but there will be far more community support for the Pi.
As you are familiar with the Arduino, as said, the ESP32 would seem a natural choice with it running direct from the Arduino IDE with C++, its earlier brother the ESP8266 is probably the most used IOT chip.
There are plenty of good free Wifi code tutorials on this site -
https://randomnerdtutorials.com/
I think you need to share more information regarding your project. Control pumps you say? Are you using a PLC, or are you designing your own PLC? Do you have to support modbus or some other protocol? Are you designing a product or just trying to fill a specific need? Must you go wireless, could you have ethernet? Do you need a cell modem?
Any time you deal with internet connectivity you need a plan for what if you get hacked or installing security patches. When it comes to security a simpler solution is less likely to have flaws to be exploited.
I don't like the raspi's much because they sacrifice too much openness with the broadloom chips.
There are plenty of other companies who make pretty similar boards.
The boards from Hardkernel seem to be pretty widely available.
I particularly like Olimex, because of their friendliness towards Open Source stuff. You can download the complete KiCad projects for (the later versions and eagle for older) their boards from github. They also sell separate processors and other parts for if you want to roll your own board. But beware, A board like the OlinuXino A54 is a 6 layer board and making such PCB's in low quantities is not going to be competitive with buying the finished and populated and tested PCB's.
There are also consumer devices which can be easily flashed with some alternative Linux image. Some of the TP-Link WiFi extenders or repeaters seem popular for that for example.
But for the most part I agree with the others here. Start with some Linux compatible PCB. It gets you an OS with a stable Ethernet stack, web server software and lots of supporting software such as NodeRed, MQTT, lots of "home automation" projects (in various state of capabilities and reliability).