So just to start off. I've never used or programmed anything for any type if miniature computer/or controller, so I have no experience what so ever with Arduino as of yet. Before I went ahead and started trying to purchase items/kit/etc, I wanted to post the project which I've been asked to find a solution for where I could get some feedback. From my initial looking around, I believe this is a rather simplistic project.
The Poop Project (monitoring for waste level alarms in an industrial sized septic system).
Arduino Ethernet Rev3 without PoE (Code: A000068) for simplicity, all-in-one board ?! - Why are these harder to find? Is this not a good model of Arduino?
Going to use an Arduino Uno w/ Ethernet Shield instead of above.
Ability to monitor the up-state of the Arduino. Ping check every 10 minutes from a network monitor?
Does the Arduino Ethernet Rev3 respond to a ping if it, or the program has crashed etc.?
Monitoring 4 contact switches (or momentary buttons in testing)
Ability to send email when any switch is closed, and if/when switch is opened again.
Send the email via SMTP connection with authentication. SSL negotiation is a plus.
Email must be able to state which switch was closed and/or opened.
Any friendly tips or pointers would be greatly appreciated.
GriffJ:
Arduino Ethernet Rev3 without PoE (Code: A000068) for simplicity, all-in-one board ?!
Why are these harder to find? Is this not a good model of Arduino?
The most significant thing to be aware of with the Arduino Ethernet is that it doesn't have an onboard USB-serial converter. I believe the plan was that these boards would have a TFTP bootloader that would allow you to upload sketches to the board over your network. The start of that project is here:
Unfortunately it was never finished:
This is an unfinished TFTP bootloader for the Arduino Ethernet. The developer that was hired to write it never finished it so we are opening it up to the community in the hope that somebody will fix it and make it work.
Luckily the community did come through:
So if you want to upload over the network you only need to install the 3rd party bootloader.
If you want to upload over USB you only need to buy a USB-serial converter board or cable. Arduino does sell a couple of these ("USB2SERIAL MICRO " or "USB2SERIAL CONVERTER") or you can get them from the usual other sources, including $1 USD w/ free shipping options on eBay or Aliexpress if you don't mind waiting for shipping from China. Just be sure to get one with the standard "FTDI header" pinout (doesn't actually need to use an FTDI chip). The Arduino Ethernet is intended for use with an adapter that has a female header. It does look like the header on the board is female with a right angle male header inserted in it but the female header is the round pin style (even though the male header is not).
So I suspect the strangeness of the upload system for this board had something to do with it not taking off. Also, it's targeted to a fairly specific application. You can buy an Uno with a USB socket for less and always add an Ethernet shield later so that is probably more attractive to the typical Arduino customer. With the prevalence of WiFi nowadays Ethernet is probably not seen as the obvious choice for network connectivity. The availability of the dirt cheap ESP8266 WiFi chip over the last few years couldn't help the sales of Arduino Ethernet.
I think it's a nice board. I use the Ariadne bootloader for my network connected boards and so I have no need for a dedicated USB-serial chip on board. Another good option is an Arduino Mega with Ethernet shield because this will give you more memory.
You definitely want to do some research about your authentication needs. I don't think there's any hope of the Arduino Ethernet (or even the Mega) supporting SSL. For that you will need more processing power.
In an industrial scenario where Ethernet cabling is available, I’d say Ethernet is a good choice. Wlan can also be good if the wlan can have a fixed password.
An alternative to sending mail directly is to post the results to a web server in the local network and get that to send any mails if required. This may get round your problem of a secure SMTP connection. I guess the data itself isn’t confidential, but the credentials for authentication with the mail server have to be protected. Since the Arduino can have fixed IP address, it may be easier to give it access to an open mail relay also to get round the use of ssl/TLS. It just depends on the local security requirements.
In addition to have something regularly ping the Arduino to check it is there, you could get it to send regular ‘I am alive’ messages which are checked by a watchdog elsewhere in your network.
If the distance between the sensors and the Arduino is more than a few meters, you have to look for some additional communication solutions, rs485 etc. etc.
pert:
The most significant thing to be aware of with the Arduino Ethernet is that it doesn't have an onboard USB-serial converter.
So, basically it's just easier to use a normal model Uno with an Ethernet daughter board. (or, 'Shield' for the more 'hip' crowd heh.) That certainly answers that question I had. Okay thank you!
6v6gt:
In an industrial scenario where Ethernet cabling is available, I’d say Ethernet is a good choice.
Yes there is wired network to the control area for the septic.
6v6gt:
An alternative to sending mail directly is to post the results to a web server in the local network and get that to send any mails if required. This may get round your problem of a secure SMTP connection.
Encrypted credentials aren't really needed inside that subnet, I didn't think about the fact that an Arduino wouldn't have the processing power to negotiate SSL. I really just would prefer to use an SMTP session though as opposed to having to resort to the telnet into the mail server trick. I have seen mention of others talking about an Arduino sending via an SMTP session, so I think this shouldn't be an issue.
6v6gt:
In addition to have something regularly ping the Arduino to check it is there, you could get it to send regular ‘I am alive’ messages which are checked by a watchdog elsewhere in your network.
This is a great idea, I would need to figure out what I have available for monitoring softwares on my network. I was hoping the ethernet controller on the device would just not respond to ICMP if the programing itself was frozen/crashed and obviously if there is no power it wouldn't respond.
6v6gt:
If the distance between the sensors and the Arduino is more than a few meters, you have to look for some additional communication solutions, rs485 etc. etc.
Excuse my ignorance with electronics (I can solder, but I'm not an electrical engineer), but wouldn't I just need to monitor for open or closed? No continuity, or, continuity of any quality? Why would there be an issue with the leads being say 30-40 meters? Open would be an open. not, sort of open, or slightly open then anything other than open would be alarm.
Given that you're new to this, I hope you're not hoping to control anything mission critical with your Arduino - there's a lot of scope for failures here.
GriffJ:
....Open would be an open. not, sort of open, or slightly open then anything other than open would be alarm.
You are better to alarm on open so that you can detect cable faults. However you cannot just go and stick electronics and contacts into areas that might contain an explosive atmosphere.
wildbill:
Given that you're new to this, I hope you're not hoping to control anything mission critical with your Arduino - there's a lot of scope for failures here.
It isn't to control anything, just monitor if a switch has made contact and send an email. An electronic pair of eyes. If the septic gets too high, it's an alert to call in a pumper truck. It's not even really mission critical, just a convenience. Facilities staff would also monitor the tanks visually every so often.
ardly:
You are better to alarm on open so that you can detect cable faults. However you cannot just go and stick electronics and contacts into areas that might contain an explosive atmosphere.
That is a good point, about normally open vs closed. However I have just been given four leads to check The contacts are part of the system, built into the system and designed for that specific use. Also, it's an outdoor facility, very much able to vent. There is a small shed, insulated from the elements, where the leads go. No electronics would be inside the tanks other than the purpose made sensors/contacts.
6v6gt:
If the distance between the sensors and the Arduino is more than a few meters, you have to look for some additional communication solutions, rs485 etc. etc.
GriffJ:
Excuse my ignorance with electronics (I can solder, but I'm not an electrical engineer), but wouldn't I just need to monitor for open or closed? No continuity, or, continuity of any quality? Why would there be an issue with the leads being say 30-40 meters? Open would be an open. not, sort of open, or slightly open then anything other than open would be alarm.
I hope that 6v6gt, or someone else with experience with longer leads can answer this one. It might pose an issue, or, make this a little less than simple if this is really a problem.
Since these wastewater systems are regulated by local, state and federal law, you are probably better off using a generally accepted method. I have used Mission Systems on quite a few projects and would recommend them to you. Violations of the CWA run $10,000 and every day of non-compliance is a new violation.
TKall:
Since these wastewater systems are regulated by local, state and federal law, you are probably better off using a generally accepted method. I have used Mission Systems on quite a few projects and would recommend them to you. Violations of the CWA run $10,000 and every day of non-compliance is a new violation.
While I thank you for your input, hopefully just to be clear to everyone reading this thread.
We have not just dug a hole in the ground and stuck some bare wires into it to see when the liquid shorts it out. LOL
This system has been professionally engineered, constructed by experts in the field and is a fully operational system that has been inspected and okayed by the correct governing bodies in our area.
Everything is, as it sits right now, completely to code, is safe, working, operational. It is not going to explode, or leak into the environment.
We simply wanted to add some additional ability to send us an email. To add to what is already there, which is safe, has been inspected and is a working system.
Monitoring 4 contact switches (or momentary buttons in testing)
Why would there be an issue with the leads being say 30-40 meters?
Regarding Sensing the Switches along a Length of Cable... ( from the hole in the ground you just dug )
First of all, how is the Arduino going to be powered ?
Earlier you said no to POE, so I'd guess you'll have some 5V power supply in a nice cabinet with everything grounded to the cabinet.
Then you'll have 30-40 meters of cable to switches at the end.
To confirm: they are simply 4 open/close switches (not any sort of powered 'sensor' )
The type of cable and its proximity to other wiring/motors/etc. may be important to know.
At this point, I would suggest isolating the cabling from the Arduino (you can get opto-isolator boards) and using a separate supply to run a current loop thru the remote switches.
Executive Summary: sticking the wires in the Arduino pins probably ain't going to cut it
Some septic systems I've worked on have a twin cable feeding an indoor alarm ( couple of steering diodes, flashing led and piezo buzzer with mute) would be fairly simple to set up an opto for the signal there if yours has anything similar.
TonyWilk:
First of all, how is the Arduino going to be powered ? Earlier you said no to POE...
On hand, from my hoard of wall warts that I dug through for 5 minutes (And according to the specifications I've read 9-12vDC, 500-1000mA) I pulled out:
10vDC 800mA (Center +) 5.5x2.1mm
or
12vDC 500mA (Center +) 5.5x2.5mm
I see no point in PoE when I'd be plugging in the PoE injector into the same outlet as I'd plug in the power supply.
TonyWilk:
Then you'll have 30-40 meters of cable to switches at the end. - To confirm: they are simply 4 open/close switches (not any sort of powered 'sensor' )
This is what I've been told, completely unloaded circuit with just some type of contact switch.
TonyWilk:
The type of cable and its proximity to other wiring/motors/etc. may be important to know.
This is an assumption but I would guess between 24 and 18 gauge standard stranded wire. There are no other facilities in the area, some other small electronic devices in the shed where this will be located but I would keep it at a good distance away. I could also go with a metal enclosure for the Arduino with isolated grounding... Just a bit more work than a PVC box I suppose.
TonyWilk:
At this point, I would suggest isolating the cabling from the Arduino (you can get opto-isolator boards) and using a separate supply to run a current loop thru the remote switches.
Are Arduinos really this sensitive? I found a video on Youtube where someone has made basically the same thing. Magnetic reed switches (on doors), Email alerts on switch activity, even web server built into the Arduino with open/close status of the circuits.