5

My Situation and Problem:

I am wanting to put together a system to help monitor the soil moisture content in my garden and a small heated greenhouse I use in the winter. Also, In the near future I would like to build a system to remotely monitor the nutrients in my soil and other grow media, and have it accessible through my computer using a system similar to the one I'll have monitoring the moisture levels. In both situations I am growing nearly all crops hydroponically.

I have found several instances of people doing this by having the information posted to a service provider's website. Then it is possible to access the information by way of email or connecting in some manner to the service provider's site.

I plan to store the data in the cloud, but where I live we get internet access through satellite dish or land based re-transmission sites. So, I am planning to keep all gathered data in "The Cloud" manually, once received when I turn on my computer. I even have to use a booster device in my house to get dependable cell phone service. My land line telephone service provider doesn't offer high speed internet service, so I don't presently use a smart phone. I recently read a news article talking about a similar, though more widespread situation in Australia. In Australia they call it the tyranny of distance.

In addition to my garden and greenhouse, I have several other ideas for using Arduino to gather data using wifi and do any number of other things, and most of these ideas include accessing the gathered data through my computer connected to an Arduino device as required. It would certainly be helpful if anyone would be willing to share any ideas or point me toward inexpensive solutions.

Thanks for your kind consideration.

  • You mean like running a HTTP server on it like the examples show? – Ignacio Vazquez-Abrams Nov 20 '16 at 2:17
  • I'm sorry, but which examples are you referencing? I don't quite understand, but appreciate your efforts. – dancingBear Nov 20 '16 at 3:13
  • I would expect it could be hypertext transfer protocol, but don't quite understand. Are you referencing the operations I mentioned? If that is the case, sure. It could be readily converted for my purpose into the data I would need. – dancingBear Nov 20 '16 at 3:23
  • The library for the chip you're using likely come with some examples. – Ignacio Vazquez-Abrams Nov 20 '16 at 3:30
  • 3
    There is no requirement that your data pass to an external "cloud" server - it could go directly from the network-equipped Arduino to your PC. However, if your PC will not be always on, then you will either need to hold the data in the Arduino until you can query it, or come up with some small power-efficient local server to collect and store it, perhaps based on a raspberry pi or by extending an OpenWrt-style router linux install, on any of a router chipset used for custom purpose, a Yun-stype device (which is just an Arduino-sized version of that) or else on your router itself. – Chris Stratton Nov 20 '16 at 16:09
1

I have a hydroponic setup working. Actually I'm working in a second version. My solution is this:

Monitor setup

I'm using a nodeMCU, because it have WiFi and lots of memory. In the breadboard I also have a real time clock (RTC), a LDR to measure real light level, and a temp/humidity sensor (DH-11), plus a small OLED display. The green led represent the HID light for testing purposes. I still need to add more elements, but it's good enough to show you my setup.

The nodeMCU send information to a MQTT broker . I can watch that information using an MQTT client in my Android smartphone. With the same client I can send orders to the nodeMCU (like changing light schedule, etc.)

MQTT is a protocol designed for Internet of Thing. It small and simple. You need a broker (server) to receive and send messages. I'm using Mosquitto running on Linux, on a old laptop that is on all time.

This is the big picture (no Internet involved):

Local Area Network

Mosquitto is free, and it's available for PC, Mac and Linux here.

You have free clients for Android, iPhone, Windows, Mac, and Chrome. I'm using MQTT Dash.

MQTT is lightweight, easy, multiplatform, multiclient, and the best part of it: minimal programming.

| improve this answer | |
  • You have a small misspell in the picture. It should probably be "Local Area Network" not "Local Arena Network". – Avamander Aug 22 '17 at 12:08
  • @Avamander. Right, it's Local Area Network. – user31481 Aug 22 '17 at 12:11
0

Ok, my idea is that you could connect the arduino AND your computer to the same router ( that doesn't need to internet access) to create a simple LAN. Then program the arduino to send every X amount of time data to the computer with a simple protocol like UDP knowing the LAN address of the computer ( example would be 192.168.1.2) and the one of the arduino, you could send UDP packets with IP address of the computer and since the router sees that the IP is in its internal LAN it just sends it straight away. Now there are a few problems to this approach:

1) The arduino needs to have signal to be connected with the router, so the distances need to be reasonable.

2) Both the arduino and the computer needs to be always on. The arduino isn't a big issue, just remember that if for some reason you'll use the millis() or micros() functions eventually they'll reset to 0 and start again. As for the computer instead, this could be a bit expansive, since having a normal pc on for all the time can impact the electricity bill quite a bit. The solution to this would be for example to make the arduino write data on a SD card and when it sees that the computer is on and that it's able to send it to it, it starts retriving data from the SD, sending it to the PC and then deleting it. The problem with this is that the SD has a limit as well, so just keep this in mind.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.