Temperature control and programming mastering.

Hello colleagues,

in the call of duty I have to (but actually I've been always wanted to become a programmer) build a simple project for my job that allows us to monitor a temperature in a certain room.

For now, we have only one room with 5 arduino uno in it, each of them has a temperature sensor.

What is the aim ?

To write a simple programm which would be able to show the information on temperature (in real time) in 5 points in the room (each point is arduino uno with temperature sensor).

Example of a programm interface is located in attachments.

It would be nice to make it as a dynamic web page on my website to be able to get an access from anywhere (but descktop version is also appropriate).

So, I am a very begginer who's never had an experience in microcontroller programming but I have some knowledge in java programming (just basics).

What do I want to know ?

  1. How to connect all these 5 arduino in the single system
  2. How to write a programm which show me this "room wtih a temperature points" interface. (which language should I use ?)
  3. how to connect these arduinos to this programm ?
  4. How to make it send me emails in that moment when the temperature goes lower/higher some critical points
  5. What information should I study to solve all these 3 questions ?
  6. can I use off-the-shelf solutions for my goals ? (which kind?)

Plz, don't advice me just reading books and etc.
I want to study programming (microntorllers and high-level programming) not just by reading books and solving tasks, but have a small simple project for my needs and try to realize it learning theory/ prog.language and etc. simultaneously.

Thank you so much in advance!

http://arduino-info.wikispaces.com/Arduino-Project-Home-Monitor-Control

serenityLA:
but have a small simple project for my needs and try to realize it learning theory/ prog.language and etc. simultaneously.

What you have described is a challenging project for a beginner.

Break it down into very small learning steps. For example ...

  • write a program to collect the temperature data and display in on the Arduino Serial Monitor
  • write a completely separate program to generate a web page that just says "hello world"

But before all that you should consider whether you really need 5 Arduinos to detect 5 temperatures. I suspect a single Arduino would be quite sufficient and it would save you from another learning task - how to send data from one Arduino to another.

And if this was my project I think I would build the web part on a cheap laptop or on a Raspberry PI as they have much more resources and easier programming languages for web development. Indeed, if all you want to do is detect temperatures then maybe everything could be done with a Raspberry PI.

...R

serenityLA:
Plz, don't advice me just reading books and etc.

Nobody reads books these days, they read users' forums and other internet sources, and this might have been something for you to do before you bought five Arduinos.
You may have good reason to use several, but a single Arduino can do this job, and with off-the-shelf components. It is a typical Arduino project.

The justification for several is in the impracticality of cabling between the various points, and it may be better to use wireless. In this case it might be better to use ESP8266 in a WiFi network, and they can be used instead of Arduino, as well as with them.
Sending an alarm by SMS using a phone shield is also a common Arduino project.

Thank you all for responds guys!

dave-in-nj:
http://arduino-info.wikispaces.com/Arduino-Project-Home-Monitor-Control

very usefull topic for me, but he used Cayenne interface which is supplied only by using http://mydevices.com, and it is impossible to get initial code to embed this online internet screen into my website. (as far as I undrestand)

dave-in-nj:
http://arduino-info.wikispaces.com/Arduino-Project-Home-Monitor-Control

Robin2:
What you have described is a challenging project for a beginner.

I thought a vice versa )) the logic of the "project" seems very simple and technical tasks are set especially for beginners (it's how I see it lol).
A know how to make arduino show temperature and moisture on Arduino Serial Monitor using ready sketches, I've already done it on one. And I know how to write hello world using php and html (and know a bit more about these languages ))). How do I imagine this system as a concept ? There is Arduino with 5 temperature shields which collects information and unloads it as a readable file. There is a database which takes the information from this file and show it by the interface which is written on php on my webpage in real time. But I don't have enough knowledge of php to write this program but if you could direct me what to study I am ready to go to the fight )).

What about respberry I don't even imagine how it works and how to realize my project using one at a concept level.

Nick_Pyner:
Nobody reads books these days, they read users' forums and other internet sources, and this might have been something for you to do before you bought five Arduinos.

I haven't bought them ) I just got them from our company storage.
Yeah, I know that it is possible to use only one arduino but because of I don't have enough knowledge about technical abilities of this device I don't know how to bring it to life =(. Now Im reading book "exploring arduino tools and techniques for engineering wizardry" (even after we've discussed that nobody reads books lol ) just to get some basics about arduino (and microcontrollers in generall) nature.

Now I am reading some information about ESP8266 thanks!

serenityLA:
I thought a vice versa ))

Yeah, I know that it is possible to use only one arduino but because of I don't have enough knowledge about technical abilities of this device I don't know how to bring it to life =(.

These two statements seem to support each other. :slight_smile:

When you know more about what needs to be done then you will understand why I said it is a challenging project.

...R

Robin2:
These two statements seem to support each other. :slight_smile:

When you know more about what needs to be done then you will understand why I said it is a challenging project.

...R

Will the book I mentioned before help me at the very beginning ?

serenityLA:
Will the book I mentioned before help me at the very beginning ?

I don't know. I have never seen it.

I am not a good person to recommend books as I came to Arduinos already knowing a fair bit about programming.

I have flicked through Arduinos for Dummies in a bookshop and it looked good. I say that based on my very good experience with Sailing for Dummies which I bought several years ago

...R

The second problem is that the room where arduino is located is very big, 250 square meters. Is it possible to use only one arduino to connect all sensors in these terms ? or should I use 5 separate arduinos in one system ?

We often advise people to create a simple diagram of what they want to do.
you can write some words on how each part does something.

then, create a schematic with more details, then as you make it more and more detailed, some of the confusion blows off and some things become crystal clear.
at the same time, some things will remain confusing and, IMHO, you will know what you need help with.

You said you have 5 Arduinos, pre-existing, to measure temperature.
we can either tell you to put all the temperature sensing onto one, or use what you have and work with that.

based on using what you already have, you can make them talk to each other, or have each talk to one master, maybe not an Arduino, a Rasberry PI ? or maybe your desktop ?

Then you need to be able to get the data into you screen or web-page.

this project will be made up of many steps, and as such, we are really good at helping you with one step at a time.

since your last question is of sensors,
you can purchase a simple Arduino NANO for a few dollars and measure temperature, then send it wirelessly to a receiver.
you can run wires and use something like a RS485 cable.
you can use WiFi modules, RF modules or some other sort.

To this end, I would ask where your strenghts are.
you can spend some time getting these modules to all talk to each other, or get one, and spend you time getting the information onto your screen, after one of these are done, then do the other.

Robin2 alluded to a simple truth that the more you know, the more you realize you don't know.

as for temperature monitoring, the accuracy is often spoken of in terms of resolution, say you want to be able to measure 1 deg C, you would want a sensor that can resolve 1/4 degree C to give you a level of confidence that your reading is accurate. there is a sensor, a DS18B20, that is very easy to use, and has the possibility of having a cable of 50m, but having reliable readings at that distance would require care and more complexity.

My point here is that the sensing element should drive the decision. everything else supports the sensing element. If it is human comfort HVAC related, then accuracy is not worth worrying about and you have lots of choices of ways to do this. if you have to control an incubator or food storage where a 1/4 deg F rise will have food spoil then everything is second to highly accurate sensors.

Quote from: dave-in-nj on Dec 22, 2017, 10:45 pm

http://arduino-info.wikispaces.com/Arduino-Project-Home-Monitor-Control

very useful topic for me, but he used Cayenne interface which is supplied only by using http://mydevices.com, and it is impossible to get initial code to embed this online internet screen into my website. (as far as I understand)

there are many other options. that was just one.

is another.

BTY, the simplicity of Cheyene is that you get it working their way, fast. but you do have the option of getting alerts, and also accessing the data, but that would be more work on your part.

as in my previous post, time spend creating a diagram of your project and putting in the details should be done early on, then refine with more and more specifics before you start ordering things. what may seem to be a simple way, may wind up and not workable because it does not talk or work with the rest of your bits.
in PaulRB's link, he has multiple devices posting to a central point.

serenityLA:
The second problem is that the room where arduino is located is very big, 250 square meters.

Hence my comment about cabling. The advantage of using one is that it only takes one power supply, but it may be better to use stand alone units, like ESP 8266, and save on a mess of cable - not to mention the power and signal losses that may be incurred.

dave-in-nj:
very useful topic for me, but he used Cayenne interface which is supplied only by using http://mydevices.com, and it is impossible to get initial code to embed this online internet screen into my website. (as far as I understand)

there are many other options. that was just one.
GitHub - PaulRB/WemosSensor: Indoor Temp, Humidity and/or Barometric pressure sensor using Wemos D1 Mini

is another.

It looks like what I need. But it doesn't have the visualisation I want it to be. ( I mean screenshot in attachments in head topic). So I have to write it by myself.

Ok, let me try to create a diagram.

Conditions:

There is a 250 m^2 room with vertical farming complex. There are some plants that are being grown and the temperature of the room should be monitored in real time and be shown through web inretface.

Steps:

  1. there are 5 points for sensor placing.
  • the circuit is discribed in screenshot in the head topic.
  1. the distance between sensors is too large:
  • there is no point to use wired sensors
  • so, we have to chose ESP 8266
  • so, I have to understand: what it is ? and how it works ?
  1. the sensors should be very accurate
  • we have to chose between I2C or DHT22 so they have only 0,5 C scale of error.
  1. we need to make five ESP8266 send information to the reciever.
  • what is reciever ? is it a web server ?
  1. write an interface which will be able to show the scheme of room with sensors' location
  • it seems that we have to get the information from reciever and send it to DB
  • write a php script which would be able to get the information from DB and show it like it is
    painted on screenshot
  • what topics of PHP should I learned to be able to do it

That's all.

The Esp8266 comes in various forms but the vital thing is that they have their own intelligence. The NodeMCU can be programmed just as if it is an Arduino with WiFi built-in, and it is powered by a USB cable just like a Uno. As I said, it can be an Arduino substitute.

One simple approach might be to have one master Uno which has an ESP8266 on board to talk to four NODEMCUs as well as its own sensor, and a Phone shield for alarms, and also connects to PC for data recording. I believe having an Arduino as master makes things easier at the PC end. God only knows what PHP and DB are. An ordinary terminal programme on PC is all you really need. Another option is to send the data directly to Excel using the PLX macro. This will give you live graphs.

I don't think I2C is a criterion for temperature accuracy, and could be a bad idea. It makes more sense to talk about the actual sensor, and I guess the DS18B20 would be entirely satisfactory.

Nick_Pyner:
The Esp8266 comes in various forms but the vital thing is that they have their own intelligence. The NodeMCU can be programmed just as if it is an Arduino with WiFi built-in, and it is powered by a USB cable just like a Uno. As I said, it can be an Arduino substitute.

One simple approach might be to have one master Uno which has an ESP8266 on board to talk to four NODEMCUs as well as its own sensor, and a Phone shield for alarms, and also connects to PC for data recording. I believe having an Arduino as master makes things easier at the PC end. God only knows what PHP and DB are. An ordinary terminal programme on PC is all you really need. Another option is to send the data directly to Excel using the PLX macro. This will give you live graphs.

I don't think I2C is a criterion for temperature accuracy, and could be a bad idea. It makes more sense to talk about the actual sensor, and I guess the DS18B20 would be entirely satisfactory.

Thank you for suggestion.

It sounds good, but what information should I know to bring this plan to life ? )

"God only knows what PHP and DB are" - eeeeeem. I meant that I want to create a webpage for monitoring information and it should look like my screenshot.

serenityLA:
what information should I know to bring this plan to life ? )

I suggest you read reply#2 again and work through this gradually. I understand you already have access to a Uno, so get the sensors and learn how to use them with that to start with. It is all you need, and no knowledge will be wasted. If you use the DS18B20, a good resource is here

Once you get started you will get a better feel of what you really want, and be better able sort out the perceived needs from the real ones. A lot of this is personal choice, or the result of local conditions that nobody else can solidly advise you on. An example of the former is your screen shot, which may be something you want, but I think it is a pointless waste of effort, offers no more than a simple terminal, and the only thing that matters is an Excel file. You are already aware of the wiring issues.

Nick_Pyner:
I suggest you read reply#2 again and work through this gradually. I understand you already have access to a Uno, so get the sensors and learn how to use them with that to start with. It is all you need, and no knowledge will be wasted. If you use the DS18B20, a good resource is here
http://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html
Once you get started you will get a better feel of what you really want, and be better able sort out the perceived needs from the real ones. A lot of this is personal choice, or the result of local conditions that nobody else can solidly advise you on. An example of the former is your screen shot, which may be something you want, but I think it is a pointless waste of effort, offers no more than a simple terminal, and the only thing that matters is an Excel file. You are already aware of the wiring issues.

Simple terminal is not enough. It's a should be a easy monitor of temperature through the web for our agriculturist. It should be demonstrably easy for understanding for him. He just visit the web page with area circuit and see where especially temperature is. I've made my arduino create excel file through PLX but it's just for me, the final aim is not the same. I still don't understand how to make a single arduino uno a master of 5 esp6288 and send the information to web server.

I don't think you need a master Arduino if you're using esp6288 nodes to read temperatures. Just have each of them send their temperature data over wifi to your web server. If the web server doesn't exist yet, consider a raspberry pi for that piece.

Note that you can have multiple DS18B20s on a single Arduino pin, so you may be able to get away with fewer than five esp6288s.

To start with though, I'd suggest using a single node with a single sensor and use a GET request to send data to the web server for storage.

Taken as a whole project , in it's entirety, every point that is unknown is a barrier.

pick one piece of the project and do that.
we are Arduino minded so we focus on that.

take a look at PaulRB's project again
Temperature Monitoring

the battery part is not required, you can use a cell phone charger.

pick a temperature sensor, the DS18B20 is very easy to use.

I would offer to make two of these and get some of the hardware working.
get all 5. [ seems to be less than $20 per point ]

get them working and start with the hardware.

consider that step 1.

================

if you want to go the single module route, then get the cable and the sensors and go that route.
either way will work. which are you more comfortable doing ?

dave-in-nj:
Taken as a whole project , in it's entirety, every point that is unknown is a barrier.

pick one piece of the project and do that.
we are Arduino minded so we focus on that.

take a look at PaulRB's project again
Temperature Monitoring

the battery part is not required, you can use a cell phone charger.

pick a temperature sensor, the DS18B20 is very easy to use.

I would offer to make two of these and get some of the hardware working.
get all 5. [ seems to be less than $20 per point ]

get them working and start with the hardware.

Yes, his project is very good, but he uses only 1 sensor, I have to use 5 (actually 45))) )

consider that step 1.

================

if you want to go the single module route, then get the cable and the sensors and go that route.
either way will work. which are you more comfortable doing ?