Looking for sombody to write code for cash payment.

OK, I am looking for someone to write and develop an Arduino project for me, I am OK with the electronics and the hardware side but to learn the code for one project, for me, is impossible (dyslexic and 64 yrs old!).

To outline the project :- Arduino board with network / internet access to monitor water consumption via flow sensor or meter reed switch for a normal household. Flow sensor / meter reed switch to Arduino to Cloud with alarm email settings for too much water use and power outage.

I am sure that many of you could do this in your sleep.

Please contact me if you can help.

Regards Stewart

If you want someone to write a program for you then post your question in the Gigs and Collaborations section of the Forum. All the other Forum sections are for helping you with your code.

...R

Thanks for that - I will move it.

I hope you have a lot of cash. The last time I did a project like this (about 2 months ago), just to get to the "move data to cloud server" stage probably burned through about $5,000. And that was before having any real functionality AND it was using a Raspberry Pi platform which has a much simpler model for internet connectivity than Arduino. I'd hate to have to do this in C++

On the surface, it's very simple. But getting to a point where a non-expert can use the system gets complex (read: expensive) very quickly.

OTOH, I'm sure that if everything aligns, you'll find someone who has done almost that exact thing who will share the code/system development docs. The actual water flow reading part is trivial: it's all the stuff that comes later that gets messy. If you can't take the time to learn how to do it, you're best off searching on hackaday or adafruit (they now have their own cloud platform) for someone who's done a project like this.

there are commercial grade products in this category (such as eve-aqua). Not sure if it does all what you want, worth a look.

The Internet connectivity is quite easy with an ESP8266 processor. Connect, send POST request with data, have Apache pass that to a Python or PHP script that stores that bit of data in a MySQL database. That's still a quite simple and straightforward thing to do.

The hard part comes next: do something useful with that data! An alarm, e-mail notification, maybe a usage chart... Indeed, the user interface. That's where the hard work tends to come in.

Of course you also need to have some kind of cloud server available, probably with your own domain, so you have a way to actually access your data.

It would be helpful to shop for a sensor or choice of sensors that meet your needs. Probably, reading the sensor with Arduino code is simple.

Connecting to the internet is more complicated. Sending email alerts is still more complicated. It may be best to put that off to a later project.

Perhaps the simplest solution to program on the Arduino would be to have the Arduino act as a web server. At initial installation, the user would need to set up to Arduino to use the local router.

Then, a local user could type in the local ip for the Arduino and get back the meter reading.

After that, additional work to process the data could be done on a computer connected to the local network or on a remote computer if you have a static ip.

Hi Stewart,

Putting the cloud access aside, what are you trying to get out of this project? What’s the itch that needs to be scratched?

Pat.

If I understand the requirements correctly, that is a domestic water consumption monitoring system with internet visibility (cloud service) and e-mail alarming etc. I'd probably use an architecture with a relatively simple part locally and most of the functionality in the cloud service. It is not recommended to run a web server locally which has to be visible to the internet because this often requires a complex router configuration.
As a concrete example, an ESP8266 (as has already been suggested) and a water flow meter which can tolerate the mains pressure at the OP's installation.
In the simplest case, the WLAN credentials are embedded in the sketch. This would post the usage data, say every 5 minutes, to an internet based (say) LAMP server. The LAMP server would maintain a table with flow rates with timestamps and run two jobs, one to send an email if a consumption threshold has been exceeded and one to send an email if there has been no data received within a timeout period (power failure case). That can also be kept quite simple if the basic admin features (direct table manipulation) of the LAMP server are used to maintain data like alarm receiver email address, alarm thresholds etc. instead of creating a lot of custom html.

I don't generally do this sort of paid work and am not going to get further involved in this activity, but I have done something similar, which I published here, for my telephone installation at home, that is collecting data and making it available on an internet based LAMP server. The internet service I use, incidentally, which includes the LAMP server, domain etc. costs the equivalent of about $100 / year but this can also be significantly cheaper.

This needs scratching !! in reply to Patduino

Holiday homes as in Spain and Portugal all pay for their water through the local Council. With most areas the charges to supply city water is very reasonable. 5000 Lts would be 12 -15 Euro or Dollars, 10,000 Lts would be about 20 – 25. After that, the price rockets. My house is in Portugal and can be left unattended for 1 or 2 months at a time. A pipe leak or a toilet overflow running will go undetected until the bill lands at your door. We have had a bill for 380 Euro in a month and 567 Euro through faults and accidents e.g. like the garden tap being left on.
Shutting the water off is not possible as in these very hot countries your swimming pool and garden need water.
I have been running the system with a Contrive Mobi.key GSM device with no Wi-Fi ContriveWireless It has Li batter backup and counts the pulses from a reed switch fitted to the water meter. It keeps an overall running total and it zero’s the interim total every month. It has thresholds set at 5000 and 10,000 lts with SMS and email alerts. This is all very good but cheap SIM cards are not available in these countries, the 3 network providers in Portugal all charge a minimum of 15 euro a month for calls (not needed) SMS messages and a bit of Data. That works out at 150 – 200 per year, plus the actual Mobi.key box is about 200 Euro to buy. I have some friends that would like this system but not at that price with those running costs.
What we do have in our house and most other people have is a fairly reliable internet service with Wi-Fi and most people use a UPS to smooth out the rubbish power supply.
I have had comments that the front end of this is easy but getting the data out to email and SMS is the hard bit. I have thought about a Raspberry Pi, or both, would this be an option.
The problem is not causing me much pain but the world keeps pushing the saving of these resources. It’s a good idea in that respect.
Thanks for your interest.....

This discussion may spill into the domain of other groups, but it would be good to clarify the way this works. Please let me know if I have this right:

This discussion is about WiFi. BTE and other media have their own characteristics.

An Arduino can connect to a router or serve as an ad hoc network.

An Arduino can act as a web client or a web server.

An Arduino can act as an web server on the internet only if the router is properly configured and if the ip is static. You can sidestep the second restriction on a sometimes basis.

If the Arduino forms an ad hoc network, local computers & phones can connect to it as they would to a router. When using the Arduino as an ad hoc network it is usually convenient to have the Arduino as a web server.

If the Arduino is to sign onto a local network, there needs to be a way the user can initiate the connection. One way is to start with an ad hoc network to configure it to use the local router and subsequently go through the router.

For data gathering a fairly simple solution is to have the Arduino send out messages to a specific URL as a web client. The Arduino could send periodic summary data. The web server could respond asking for details, or change in the mode of operation.

The last approach is often the best. A principle in this situation is to keep the job of the Arduino simple and shift fancy footwork off onto the Linux server out there. This is because modifying Arduino code on a deployed device is harder than modifying code on an internet server.

DannySwarzman:
An Arduino can connect to a router or serve as an ad hoc network.

Arduinos can NOT do this (and the rest you listed).

You're probably thinking about ESP8266 based boards, such as the WeMOS and NodeMCU. While you can program them using the Arduino IDE, they're not Arduino boards.

vilasalvas:
I have had comments that the front end of this is easy but getting the data out to email and SMS is the hard bit. I have thought about a Raspberry Pi, or both, would this be an option.

This explanation makes it sound a little easier.

Monthly e-mail reports & alarm e-mail when needed is not too hard to implement. The ESP8266 should be able to send out e-mail; I haven't done this yet, part of the problem is that you still need access to some form of e-mail server out there. But it's getting a lot more manageable this way.

The remaining issue is how to exactly read the water meter.

None of this is particularly difficult, but OP's explanation of what he's doing brings me back to my original comment about cost!

First, similar systems are already on the market at various price points.
Second, this system needs to be operable by non-technical people. Meaning all the configuration they need to do has to be easy to use and understanding the various options will take time.

To make it useful, someone has to step up and create a wrapper around the existing online IoT server offerings (or create one!) that's oriented towards this use case. That means that "someone" is going to charge, cuz, well, most people don't work for free for long! In the end, the existing SMS system is probably going to look like a good solution.

It's not hard, but it's not going to be cheap either!

Look at it another way, OP. This isn't a project: it's a business opportunity.

wvmarle:
This explanation makes it sound a little easier.

Monthly e-mail reports & alarm e-mail when needed is not too hard to implement.

If you want to hire someone to make one of these, it would probably be bad investment. If you want to make several or to sell them, that is possible. A little modification of your requirements would help.

The basic device could consist of a WiFi-capable Arduino and a sensor. This could be an Arduino with WiFi on it such as Yun, or any Arduino with a WiFi shield or any of many clones.

To use the device for the first time, the user would need to set it up. The procedure is spelled out for Yun. For some other solutions, there may be a little bit of programming. The idea is that the Arduino starts out as its own network. The user connects to it as if it were another router. Then the user enters into a web page, the name and password for a local router. This procedure only needs to be done once as long as the device and the router don't go away.

The sketch on the device would read the sensor periodically. It would periodically report the results by sending a message as an internet web client containing a report.

Another program, running on a web server would receive the report, store it and send out email as appropriate. You would probably want some other programs running on the server to present the data in a user-friendly form.

How would you get there?

  • Find the sensor.
  • Have a programmer write a sketch to display the values it reads from the sensor in Arduino IDE. The programmer may need to emulate the sensor rather than buy and install an actual sensor.
  • You will then need to duplicate whatever a programmer produces for you, running on actual sensor connected to an Arduino.
  • Once the sensor checks out, the next step is for the programmer to write the web client part. Of course to check out the web client, the programmer will need to write a little bit of server-side code to store values.
  • At this point, you will have the Arduino part coded. Before deploying it, you may want to make an enclosure with properly mounted connectors, possibly a pilot light.
  • If you want a low-power solution, you may want to have your own PCB with one of the low-power processors. Then you want the programmer to add code to make the processor go to sleep between readings.
    -Finally, have a programmer add to the server-side code the email alerts and whatever data viewing mechanisms are useful.

I'm interested in knowing how this would satisfy the requirements of vilasalvas.

I'm also interested in learning how others would solve the problem based on what has been said.

If I were building a small quantity of these, I'd start with a Raspberry Pi. Since it has a higher level of integration than the Arduino and has availability of the many useful Linux libraries it will end up costing less overall.

My basic approach would be to read the flow pulses with the Pi. They should be slow enough that it can keep up without issues (assumption). The entire user interface could then be hosted on the Pi as a web page as you said, but I wouldn't even bother sending data to a server unless they needed to view data from outside the house. For alerts, the app on the Pi would interact with a service like Twilio to send SMS alerts or an external mail server for email alerts.

Doing it this way, a basic proof of concept could be built out in a few hours. Of course, then the last 10% will take 90% of the time and development will drag on for weeks...

Hi there, thanks for the interest.

I initially started this project wanting a simple plug and play notification of water consumption to simply notify holiday home owners (like me) that there was a problem. But that was over simplified.

Water in Portugal and Spain is quite cheap until you cross a threshold. My normal water bill is 20 Euros PM and a problem one could be 3 - 500 Euros per month!

Project guide.

Pre wired pulsed (reed switch) water meters are cheap and are easily fitted "in line" with the existing official meter, alternatively you could use a decent quality metal Hall flow sensor. The reed switch standard meter is easier to calibrate.

  1. Keep a log the official overall water meters reading. This would be the "Overall Reading". At some point the official water meters reading will have to be entered into the code to set the correct starting figure.
  2. The meter is read on the 12th of the Month and so a second "Monthly reading" would start from zero on that date and restart the next month, a log of the individual monthly readings would be a nice touch.
  3. Thresholds of 5000 and 10,000 Litres per month would create the "Alarm" that would be sent by email and SMS to enable action to be taken if required.
  4. GSM is out of the question as there are no cheap even PAYG mobile services in Portugal. The Wi-Fi is OK for 99% of the time.
  5. Portugal's power is unreliable but most people including me run 2 or 3 UPS to run routers and CCTV.

It would need to connect to one of the cloud based services e.g. Thingspeak, Cayenne, Twilio.

This guy Installing a cheap water flow meter with attached Raspberry Pi ZeroW - YouTube is using a Raspberry Pi Zero W to get the basic idea up and running.

I think the main thing is to keep the product cheap and reliable and simple to use. The end result would be a useful tool for people to keep an eye on water wastage.

Regards

Stewart

Hi Stewart:

My main concerns can be summarized in this part of your post:

vilasalvas:
I think the main thing is to keep the product cheap and reliable and simple to use.

That part right there tells me to expect development costs to exceed $10,000 USD. If you are already expecting that, fine. However, my experience on this board indicates that many posters don't really appreciate what it costs to build out a project for commercialization, so I apologize if it seems that I'm stating the obvious.

cedarlakeinstruments:
That part right there tells me to expect development costs to exceed $10,000 USD.

Depends on how fancy a user interface you want, that's where usually most of the work goes. OP is not asking for app control (or worse: not just Android, but also an app for iOS!), that saves half the budget already.

The expectation of a cheap uncalibrated water flow sensor to be able to reasonably accurately reflect the volume measured by the main calibrated water meter, that's where it really goes wrong. Everything else is quite sensible.

For most professional outfits doing app development, a basic app starts at a hair under $20,000. Or at least that's what I found out a few months ago when I was researching it.

It's hard to find a good iOS developer for under $150/hour it seems. Android is far less expensive.