Arduino Yun: Storing Data in Mysql installed on Linino

  1. Install mySQL server:

http://wiki.openwrt.org/doc/howto/lamp

  1. Setup python-mysql

http://forum.arduino.cc/index.php?topic=206746.msg1524868#msg1524868

mysql> CREATE DATABASE ARDUINO;
mysql> USE ARDUINO;
mysql> CREATE TABLE temperatura (id INT, data VARCHAR(20), tempdegree VARCHAR(20));
mysql> SHOW TABLES;
opkg update
opkg install python-mysql
nano /mnt/sda1/mysql.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

import _mysql
import sys, string, os
#print sys.argv


try:
    	con = _mysql.connect('127.0.0.1', 'root', 'new-password', 'ARDUINO')
    	#con.query("SELECT VERSION()")
    	#result = con.use_result()
    	#print "MySQL version: %s" %  result.fetch_row()[0]
	sqlstr="INSERT INTO temperatura (id,data ,tempdegree) VALUES( " + sys.argv[1] +", '" + sys.argv[2] + "', '" + sys.argv[3] + "')"
	#print  sqlstr
	con.query(sqlstr)
    
except _mysql.Error, e:
  
    	print "Error %d: %s" % (e.args[0], e.args[1])
    	sys.exit(1)

finally:
    
    	if con:
        		con.close()
chmod 755  /mnt/sda1/mysql.py  
/mnt/sda1/mysql.py  2  'test1' 'test2'

confirm data insert into table.

  1. ATmega32u4 side.
void insertdb() {
  Process p;            
  p.begin("/mnt/sda1/mysql.py");      
  p.addParameter("1"); 
  p.addParameter("32"); 
  p.addParameter("64"); 
  p.run();