Instructables

Save data of temperature and humidity on MySQL with Arduino Uno and Wifly

Featured
Picture of Save data of temperature and humidity on MySQL with Arduino Uno and Wifly
P1010025.JPG
Hello guys, i make this instructable for the people that  liked the electronics and the botanic, with this you have the data about  the temperatura and the humidity of your orchard and register this in a data base MySQL.

For this proyect you need some knowledge of programing in PHP and MySQL, we will make three archive .php, but this I'll explain in the following steps.
 
Remove these adsRemove these ads by Signing Up

Step 1: You need this

Picture of You need this
P1010004.JPG
P1010010.JPG
P1010013.JPG
P1010018.JPG
P1010019.JPG
P1010022.JPG
For this project, you need:

Arduino UNO or similar board  ($29.95)

http://www.sparkfun.com/products/11021

WiFly Shield ($89.95)
http://www.sparkfun.com/products/9954

Grove - Moisture sensor ($4.99)
http://www.seeedstudio.com/depot/grove-moisture-sensor-p-955.html?cPath=144_147

Six Jumper Wires ($4.50)
http://www.sparkfun.com/products/9387

DS18B20 Temperature Sensor with metal tip ($10.59)
http://www.olimex.cl/product_info.php?cPath=21_138&products_id=872&product__name=Breadborad_jumper_wire_pack

If only  need, One protoboar ($9.58)
http://www.olimex.cl/product_info.php?currency=USD&products_id=170&product__name=Proto_Board_Bread_board


AND....

you need a server WEB, with PHP and database MySQL. I used the NAS of QNAP TS-110, is perfect for this project.


Step 3: Connecting all in Arduino

Picture of Connecting all in Arduino
P1010064.JPG
P1010053.JPG
Now, we will connect the two sensors on the Arduino shield Wifly:

-For the temperature sensor, the pin order is: GND-VCC in 5v power - SIG in digital pin 3.

-For the Moisture sensor, the pin order is: GND - 3.3V VCC in power - SIG in the analog pin 0.

Step 4: Preparing the database Mysql

In the query of NySQL you need put this code:

---------------------------------------------------------------------
CREATE TABLE `your_database`.`tempmoi` (
`id` INT( 255 ) NOT NULL AUTO_INCREMENT ,
`temp1` VARCHAR( 255 ) NOT NULL ,
`moi1` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
-------------------------------------------------------------------
jbuenaseda24 days ago

Hi! I'm having an error in instareg.php It says

Warning: mysql_select_db() expects parameter 2 to be resource, object given in C:\xampp\htdocs\WEB2\php_files\conec.php on line 9

Can\'t use sensordata :

what should I do in here? anyone help?

err.jpg
jbuenaseda25 days ago

Hi! What will I write in this? Can you provide an example?

if (!($link=mysql_connect("your_ipserver","your_user","your_pass")))

fgoncalves42 months ago

Hi! very nice tutorial. thanks!

is there any Ethernet version?

Hi! Nice tutorial!


I have a question

Where specifically are suppose to be the add.php, conec.php, insertareg.php???

Thanks for your time! :)

camilo.n1012 (author)  thernandez colon2 months ago

Hi ! These files must be hosted on your serve to be consulted for the database.

Much success and regards !
Camilo

Hi Camilo! Thanks for your answer.

Can I know what library for the WiFly Antenna did you used in this project?

I have try with two and the program and I get errors such as:

"byte has not been declared"

"Client has not been declared"

I think that must be a problem with the library I am using :)

Thanks a lot for your help! ;)

camilo.n1012 (author)  thernandez colon2 months ago

Hi ! c:

I recommend that you download it from Github, this link: https://github.com/jcrouchley/WiFly-Shield

In all modes, being very honest, it is recommended that if you work with Arduino and Wifi, you better have your the Arduino YUN.

If you have further questions do not hesitate to say them c:

Regards !!

Hi Camilo,

Did you have the problem "Client has not been declared"?

I am using the same library that you used and im getting this problem. Please if you solve it help me :)

Thanks for your help ;)

I bought the Arduino UNO R3 Recently :(

Did the Arduino UNO gave you some problem in this project?

arduinowifly2 months ago

Hello I have a project of home automation and I am trying to program the wifly, I have configured this module .I want to actually insert the sensor values from the arduino and display it in a web interface and save them in the database mysql I have tested this example but the table is still empty.Also, i dont understand why the instruction of GET is shown in the serial !!! , Can you help me please?

I'am using arduino uno + WIFLY RN-171 + XBEE shield
http://cooking-hacks.com/wp/wp-content/uploads/2012/03/DSC_0405.jpg
this is the execution of the code :

Sans titre.png
darrigan3 months ago

Hi! Why did you write

client.print("&&");

and not

client.print("&");

?

Thank you.

bkools1 year ago
(removed by author or community request)

How did u solve the problem?

Turbovix1 year ago
Dear, to perform the build I get the following message:


In file included from C:\Arduino\arduino-1.0.1\libraries\WiFly/WiFly.h:4,
from wifly_twosensors.cpp:13:
C:\Arduino\arduino-1.0.1\libraries\WiFly/SpiUart.h:62: error: conflicting return type specified for 'virtual void SpiUartDevice::write(byte)'
C:\Arduino\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'
In file included from C:\Arduino\arduino-1.0.1\libraries\WiFly/WiFly.h:8,
from wifly_twosensors.cpp:13:
C:\Arduino\arduino-1.0.1\libraries\WiFly/Client.h:21: error: conflicting return type specified for 'virtual void Client::write(byte)'
C:\Arduino\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'
C:\Arduino\arduino-1.0.1\libraries\WiFly/Client.h:23: error: conflicting return type specified for 'virtual void Client::write(const uint8_t*, size_t)'
C:\Arduino\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:50: error: overriding 'virtual size_t Print::write(const uint8_t*, size_t)'

Hi, do u solve the problem? i also facing it ><

MAG085 months ago

Great work. I tried it on xampp and it works. Thanks for your help :)

why did you put: client.print( "GET /agregar.php?"); it is just that I haven't seen any agregar.php file on the example. It is equal to add.php?

+1

Splight1 year ago
Well i found this page looking tutorial on how to MYSQL + PHP, and i found this project!! It looks amazing! Congrats!
Knowing what you know now, would you again purchase the Grove Moisture Sensor or would you build your own?
camilo.n1012 (author)  Jason Bedard2 years ago
I buy the Grove Moisture Sensor in www.olimex.cl, in Chile. i recommend buy this sensor, because is designed for use in gardens.

This is the link :http://www.olimex.cl/product_info.php?cPath=50_91&products_id=929&product__name=Sensor_de_Humedad_en_Huerta_Grove_Moisture_Sensor
hi
where is this file you called by GET
client.print( "GET /agregar.php?");
none of those file has this name,

and where did you located php files?


thank you
Good to know. Thanks.
Awesome. I am wondering what kinds of modifications would be needed to save to an sd card instead of the wifi. The wifly is out of my price range for right now but I have all of the other parts. Thank you.
zmashiah2 years ago
Very nice.
See this: http://www.instructables.com/id/Wireless-outdoor-Arduino-weather-station-with-PC-l/ for similar thing, only I am saving to flat file on the PC and communicating to PC over XBee rather than Wifi.
nevenne2 years ago
where l can find a sensors
camilo.n1012 (author)  nevenne2 years ago
Hi, you can find the sensors in www.olimex.cl, they have shiping world. This are the links:

(Moisture)
http://www.olimex.cl/product_info.php?currency=USD&cPath=50_91&products_id=929&product__name=Sensor_de_Humedad_en_Huerta_Grove_Moisture_Sensor

(DS18B20)
http://www.olimex.cl/product_info.php?currency=USD&cPath=50_91&products_id=846&product__name=Sensor_de_temperatura_DS18B20_con_punta_metalica_%2814mts%29
Helder4u2 years ago
Great!
I was just looking for an example of how to start a MySQL Database and Connect to a website ^^

Will study Your application :D
msatorius2 years ago
How long does this project run on a single 9v?
camilo.n1012 (author)  msatorius2 years ago
Hi, the project will last a one day and half (i tested with my duracell 9v), but I recommend using a battery of the modem of the ethernet, which has allrrededor of 8 to 11.4 V, you will last much because have it a higher amperage. Good luck
Cool.