mysql connector arduino reference manual-1.0.4ga

Upload: prust-rozza

Post on 06-Jul-2018

278 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    1/27

    !"#$% '())*+,(-./-012)(!"# %&'"()* +)((

    ,-(. /012

    31#0#45'

    6'3) .7- )3)" 8'9:); :7 )3) ;':' *'3); :7 :">55)" )3)9:* >9 .7-" *C)::&7-: -*>95 '9 >9:)"K);>':) :* .7- :7 ;7 )Q':*

    ?78)"N-( (>:>)*# S7- 8>(( '(*7 ;>*95 :>?* :7 73)":>)* '9; *))

    )Q'K?()* 7N &78 :&>* (>A"'". 87"C*#

    Getting StartedUN .7- &'3) -*); *7K) 7N :&) 7:&)" K):&7;* 7N *:7">95 ;':' N"7K '9 =";->97 *-5>:'( :) ';;>:>79'(

    97F

    .7- ?"7A'A(. &'; :7 K'9-'((. 9 7";)" :7 -*) >:# [*>95 ' ;':'A'*) :7 *:7") :&) ;':' :) :7 '

    (779* :&': K'C) -*) 7N :&) ;':'# +)::)" *:>((F

    >N .7- &'3) ?"7@)79 '(( 8>:&7-: :'C>95 -?

    ('"5) A(7* 7?)9* ' 8&7() 9)8 '3)9-) 7N =";->97 ?"7@)79 ?"7:7A"'". A->(:

    N7" :&) =";->97 ?(':N7"K# 6)9A"'". 7" *>K?(. :&) (>A"'".#

    HC):: .7- :7 )9)* :7 "):-"9 ;':' N"7K :&) ;':'A'*) V)#5# -*>95 ' (77C-? :'A()W#

    S7- K'. A) 879;)">95 &78 ' K)K7". '9; ?"795 (>K>:); K>

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    2/27

    U9 7";)" :7 \> *&>)(; '9; A) * 97 (>C) :&) !-)K>('973)F A) *-") .7- &'3) :&) 3)"*>79 :&': -*)* :&) =OK)5']/^?

    ?"795 ' (7: 7N (>A"'">)*F &'3) ' (7: 7N *)9*7"*

    '::')*F .7- *&7-(; ;)" -*>95 79) 7N :&) ('"5)" V'* >9 K)K7".F 97:

    ?&.*>(( *)) 8&. :&>* >* *7 >9 ' (':)" *)79#

    O&) 97 X:&)"9): *&>)(; 7" )M->3'()9:# O&>* >* A)A"'". 8">::)9 N7" :&) X:&)"9): *&>)(;# UN .7- &'3) *7K) 7:&)" N7"K 7N

    X:&)"9): *&>)(;F 7" :&) X:&)"9): *&>)(; .7- '") -*>95 -*)* ' ;>NN)")9: (>A"'".F .7- 8>(( &'3) :7 K'C) '*(>5&: K7;>N>9'((.F :&) ::)9 *?)N>\> *&>)(;* :&': -*) :&)

    X:&)"9): :>79'(

    (>A"'".F >: >* (>C)(. >: 8>(( 97: 87"C 8>:& :&>* 97L

    *-??(>); X:&)"9): 5&:8)>5&:F :&) (>A"'".

    ;7)* :

    ")M->")* :&) =OK)5']/^ 7" *>K>('" ?"7C) :&)") >*9B: ' (7: 7N *?'97

    8>:& K7") K)K7".# \7" )Q'K?()F :&) (':)*: =";->97F :&) !-)F &'* 21/C 7N K)K7". N7" ?"75"'K 9*>59>N>:>79'( (>A"'">)*# X'A"'".

    .7- (7'; 8>(( 'A()*# O&)

    < K)K7".W# O&-*F >N .7- &'3) *)3)"'( M-)">)* .7- 8'9: :7 *)9;F )'(( ")M->") *?'79

    7N :&)*) '(795 *: 7N 9*:)'; 7N

    SELECT *WF '9; (>K>: :&) -*) 7N (>A"'">)* '9; -99)* :7

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    3/27

    G)K7". ()'C* 8>(( (*# =* ' "-()F U *-55)*: ()'3>95 ': ()'*: ^00 A.:)* 7N K)K7". '3'>('A() N7"

    ;.9'K>< 3'">'A()*# S7- K?(. 8">:) ;':' :7 :&) ;':'A'*)#

    678)3)"F ;)" 8&': 87-(; &'??)9 >N .7- 8'9:); :7 "):">)3) ' "78 N"7K :&) ;':'A'*) :&': 8'*

    400 A.:)* >9 ()95: O&) *9B: )97-5&

    K)K7". :7 ?)"K>: :&) *C):* :&) =";->97 8>(( (>C)(. &'95#

    %79*>;)" '(*7 ' ( :7 ")()'*) :&) ;.9'K>< K)K7". '((79) N7" *7K) :>K) ;)?)9;>95 79 &78 7N:)9 8) "):">)3) :&) ;':' A-: )'K) >: ;7)*F 40

    K7") A.:)* 8>(( A) '((7)*F :&) =";->97 8>(( "-9

    7-: 7N K)K7". '9; N"))_)#

    Networking Hardware

    S7-" 9):87"C>95 &'";8'") *&7-(; A) :&) -*-'( '9; 97"K'( ;)3>:* .7- :7 \> "7-:)" *&7-(; ?)"K>: :& :&) *)97 K-*: ")*>;) 79 9):87"C *)5K)9:* :&': '") ")'*9B: ' &'"; ")M->")K)9:#

    UN .7- '") 97: :& :&) =";->97 '") *>K?()# \>"*: '9; N7")K7*:F .7-

    K-*: )9*-") .7- *):-? :&) G.HIJ *)"3)" :7 ?)"K>: 9):87"C 9) G.HIJ

    ")N)")9

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    4/27

    3(,*  O&) :& G.HIJ 2#0 '9; (':)" -*>95 :&) (':)*: )9: ?"7:795 :&) 2#b )"' '-:&)9:>79 ?"7:7A>: 'L3>"-*

    '9; N>")8'(( *7N:8'") :7 A(7*:)9>95 ?7": N7" G.HIJW#

    \>9'((.F :&) :& :&) G.HIJ *)"3)"# U: ;7)* 97: 87"C 8>:& 7:&)"

    ;':'A'*) *)"3)"*# O&-*F .7- (( 9)); ' -*)" 'N .7- ?")N)"W#

    O&>* >* ?)"&'?* :&) N>"*: K>*:'C) -*)"* K'C)# O&). )>:&)" -*) :&) "77: '*'A()W 7" :&). 79 7N -*)" '9; &7*: :7 N7"K ' (75>9# XQ'K>9) :&) N7((78>95 *:':)K)9:*# =")

    :&)*) :&) *'K) -*)" 7" ;>NN)")9: -*)"*D

    CREATE USER bob@localhost IDENTIFIED BY 'secret';

    CREATE USER bob@'192.168.0.5' IDENTIFIED BY 'secret';

    O&) '9*8)" K'. *-"?">*) .7-# O&). '") :87 ;>NN)")9: -*)"* )3)9 :&7-5& :&) -*)" 9'K) '9; ?'**87";

    '") :&) *'K)R Z9) >* '((78); :7 * (797 8>(( ")3) >:* 789 UY ';;")** '9; '9. -*)" ' :&) -*)" '9; &7*: 9'K) VUYW# \7" )Q'K?()F >N .7-" =";->97 >* '**>59); :&) ';;")** 7N

    1c/#1`^#0#11F .7- 3)9# H7 &78 ;7

    .7- 73)"*D [*) K'*C>95#

    O&) *>K?()*: 8'. :7 * A. -*>95 ' 8>(;

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    5/27

    Privileges

    S7- 8>(( '(*7 9)); :7 5>3) :&) -*)" '**>79* :7 )'**>79 >* '((

    :&': >* 9)););# U9 :&) N7((78>95 )Q'K?()F U 57 :7 :&) 7:&)" )Q:")K) '9; 5"'9: '(( ?)"K>**>79* :7 :&)

    -*)"# O&>* >* ZC *>9< &7*: '9; (>K>:>95 '* >* 8&. -*>95 :&) "77: -*)" >* ' A'; >;)'# UN .7- K'C) ' K>*:'C) >9

    .7-" *C):**>79* N7" .7-" =";->97

    ?"7@)95 8>(( 87"C#

    \-":&)"K7")F :&). K'C) :&) K>*:'C) 7N :)*:>95 :&) -*)" ''( ?>:N'((* '9; >* 97: :&) A)*: :)*:#

    O&) A)*: 8'. :7 9 :&>* 97#

    mysql -ubob -psecret –h192.168.0.2 --port=3306

    Z995

    7A@)::)9 '9;

    :&-* '37>; *:"'95) )""7"* 8&)9 .7- "-9 .7-" *N>); .7- : ;789 N7" (':)" ")N)")9: N"7K J'-9

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    6/27

    '9; 789); A. Z"'N>* ")M->"); A. :&) * >* A. )Q'K>9>95 :&) ?")N)")997 )93>"79K)9: '* *&789 >9

    \>5-") 1# \7" )Q'K?()F K. *C):A"'". N>()* :7 -*)#

    !"#$%& () *%+$",- .%&/&%&,0&1 2"34-#

    627  UN .7- A"'">)* N7(;)" 8&>() :&) =";->97 '??(>:& >:D O&>* *)79 8>(( )Q?('>9 :&)

    *:)?* 9));); :7 8">:) .7-" N>"*:F *>K?() *C):(( '(*7 *)) *7K) )Q'K?()* 7N K7") ';3'9

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    7/27

    G.HIJ *>;) 7N :&>95* :&)9 K73) 79 :7 :&) ?&.*>(( *'3) .7- :79* 7N :>K) :"7-A()*&77:>95 (':)"R

    U A)5>9 8>:& :&) :">3>'( *C):K?(. A"'">)* '9; 3'">'A()*# O.?>:>'( :& ' 9)8 *C):97 U!X '9; 79* 7N 95 *:.() '9; )3)9 ::)9 A)N7") ';'?:>95 :&)K :7 .7-" 789 *:.()#

    \>"*:F ';; :&) ")M->"); >9()*# O&)*) 8>(( >9A"'">)* >9 :&)

    N7"K 7N >995 :&)>" &)';)" N>()*# T)? N>() .7- ;789(7';); :&':

    >9_) '9; 87"C 8>:& :&) Ethernet 97 '9; :&) UY

    ';;")** 7N :&) G.HIJ *)"3)"# O&>* >* )(,  :&) UY ';;")** 7N :&) =";->97R O&) K'< ';;")** 9 :&>* )Q'K?() A-: N7" ?"7@):& K-(:>?() =";->97 X:&)"9): 97;)* .7- 8>(( 8'9: :7

    K'C) )''A()* 8) 8>(( -*) :7 *-??(. :&) -*)" 9*:'9:>':) :&)

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    8/27

    d78 8) '") ")';. :7 >9>:>':) :&) X:&)"9): 95 9 )'9) N7((78>95

    :&) )Q'K?()#

    void setup() {

    Ethernet.begin(mac_addr);

    Serial.begin(115200);while (!Serial);

    delay(1000);

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)){

    Serial.println("Success!");

    } else {

    Serial.println("Connection failed.");

    }

    O&) N>"*: (>9) >9>:>':)* :&) X:&)"9): 9 :&) K'< ';;")** 8) *?)N>); )'"(>)"# d)Q:F

    8) *):-? :&) *)">'( K79>:7" :&)9 >**-) ' *(>5&: ;)('.# O&>* ;)('. >* 7?:>79'( A-: >* &)(?N-( :7 '((78 .7-

    :>K) :7 7?)9 :&) *)">'( K79>:7"# d)Q:F 8) >**-) ' ?">9: *:':)K)9: *:':>95 8) 8>(( A) '::)K?:>95 :79:>95 -*) -?

    K)K7". *7 K'C) *-") .7- ;79B: 73)"-*) :&)KF )*?)'((. 79 *K'(()" =";->97 A7'";*#

    O&) 9)Q: * mysql_connect '9; :'C)* :&) N7((78>95 ?'"'K):)"*e :&) *)"3)" UY ';;")**

    V7" &7*: 9'K)WF *)"3)" ?7":F -*)" 9'K)F '9; ?'**87";# UN :&) * *-9: :&) *-(F :&) K):&7; 8>(( "):-"9 ' 3'(-) :&': >* )3'(-':); '* hN'(*)i '9; :&) N'>(); K)**'5) 8>(( ?">9:#

    O&) N7((78>95 *&78* '9 )Q'K?() 7N :&) *:':)K)9:* ?"7;-9 :&) *)">'( K79>:7" 8&>() "-99>95 :&>*

    *C):95 *>K>('"#

    Connecting...

    Connected to server version 5.6.20-log

    Query Success! 

    d7:>79 7N :&) *)"3)" :7 8&>: 95 N'>(); M-)">)* (':)" 79# J>*:>95 1 *&78* :&) < ;':' V*)"3)" ';;")**F ):

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    9/27

    #include "sha1.h"

    #include "mysql.h"

    /* Setup for Ethernet Library */

    byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

    IPAddress server_addr(10, 0, 1, 10);

    /* Setup for the Connector/Arduino */

    Connector my_conn; // The Connector/Arduino reference

    char user[] = "bob";

    char password[] = "secret";

    void setup() {

    Ethernet.begin(mac_addr);

    Serial.begin(115200);

    while (!Serial);

    delay(1000);

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)){

    Serial.println("Success!");

    } else {

    Serial.println("Connection failed.");

    }

    }

    void loop() {

    Baby Steps – Connection Only WiFi Shield

    O&>* )Q'K?() *&78* :&) *'K) 7?)"':>79 a *>K?() * :>K) -*>95 ' E>\> *&>)(; /# O7

    -*) :&) E>\> *&>)(;F .7- K-*: K'C) *7K) *K'(( * :)((* :&)

    A>: :&) (>A"'". N"7K 87"C>95 8>:& '9 X:&)"9): *&>)(;# =(8'.*

    N .7- "*:F ';; :&) j>99: ;>NN)")9: >9 7-" *C):'A()*e

    :&) HHU! '9; ?'**87"; '* N7((78*# O&>* *&7-(; K':95* 7N .7-" 8>")()** '

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    10/27

    char ssid[] = "my_lonely_ssid";

    char pass[] = "horse_no_name";

    d)Q:F 8) 9)); :7 *):-? 97F :&) E>\> *&>)(; K'.

    97: &'3) :>K) :7 >9>:>'(>_) ?"7?)"(.# S7- * ")';. '9; >N >: >*F 8) "):">)3) :&) UY ';;")**

    '**>59);# O&>*

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    11/27

    char password[] = "secret";

    // WiFi card example

    char ssid[] = "my_lonely_ssid";

    char pass[] = "horse_no_name";

    void setup() {

    Serial.begin(115200);

    while (!Serial);

    delay(1000);

    Serial.println("Looking for WiFi");

    // WiFi section

    int status = WiFi.begin(ssid, pass);

    // if you're not connected, stop here:

    if ( status != WL_CONNECTED) {

    Serial.println("Couldn't get a wifi connection");

    while(true);

    }

    // if you are connected, print out info about the connection:

    else {

    Serial.println("Connected to network");

    IPAddress ip = WiFi.localIP();

    Serial.print("My IP address is: ");

    Serial.println(ip);

    }

    delay(1000);

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)){

    Serial.println("Success!");

    } else {

    Serial.println("Connection failed.");

    }

    }

    void loop() {

    }

    UN .7- &'3) ?"7A()K* 5)::>95 .7-" E>\> *&>)(; :7 87"CF ;7-A() ") *(>5&:(. ;>NN)")9: *:'":-? 95 '9 INSERT M-)".#

    Simple Insert

    O&>* )Q'K?() ;)K79*:"':)* &78 :7 >**-) ' M-)". :7 :&) ;':'A'*)# U9 :&>* K?() UdHXTO

    :&': ")95 ' "78 >9 ' :'A()# S7- 95

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    12/27

      num integer primary key auto_increment,

    message char(40),

    recorded timestamp

    );

    O&)*) 95#

    O7 ;7 *7F 8) 9)); :7 -*) '9 HIJ M-)". *-((

    *)) K-(:>?() "78* >9 :&) ")*-(: *):#

    mysql> SELECT * FROM test_arduino.hello_arduino;

    +-----+-----------------+---------------------+

    | num | message | recorded |+-----+-----------------+---------------------+

    | 1 | Hello, Arduino! | 2015-07-27 14:39:13 |

    +-----+-----------------+---------------------+

    1 row in set (0.00 sec)

    =* .7- 9*)": :&>* ;':' 8) 8>(( 5): ' 9)8 "78 >9 :&) :'A() :& '

    -9>M-) C). V'-:7 5)9)"':);W '9; ' :>K)*:'K? 7N 8&)9 :&) "78 8'* >9*)":);# %77(R d78F ():B* ';; :&>*

    :7 7-" *C):'A() :7 *:>95 ] *&78* :&)

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    13/27

    char user[] = "bob";

    char password[] = "secret";

    char INSERT_SQL[] =

    "INSERT INTO test_arduino.hello_arduino (message) VALUES ('Hello, Arduino!')";

    void setup() {

    Ethernet.begin(mac_addr);

    Serial.begin(115200);

    while (!Serial);

    delay(1000);

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)){

    Serial.println("Connected!");

     my_conn.cmd_query(INSERT_SQL);

    Serial.println("Data inserted.");

    } else {

    Serial.println("Connection failed.");

    }

    }

    void loop() {

    }

    H>9* >* ' 3)". *>K?() )Q'K?()F 8) ?-: :&) cmd_query() * *:':)K)9: 87-(; A)

    ?-: >9 :&) loop() K):&7;# E) 8>(( *)) '9 )Q'K?() 7N :&>* (':)" >9 ' (':)" *)79#

    f7 '&)'; '9; "-9 :&>* *)3)"'( :>K)* :&)9 >**-) :&) SELECT M-)". '5'>9# S7- *&7-(; 978 *)) 79) "78

    N7" )'K) :&) *C)::& 3'">'A()*#

    Complex Insert

    O&) K7*: N")M-)9: -*) 7N :&) 97# O&>* * 95#

    O7 >9*)": ;':' :&': >* 5)9)"':); V7" ")';WF 79) K-*: A->(; :&) M-)". *:">95 A)N7") >**->95 :&) M-)".#

    E) ;7 :&>* -*>95 :&) sprintf()K):&7;# O&) N7((78>95 )Q'K?() *>K-(':)* ")';>95 ' *)9*7"# O&)

    M-)". >* *:>(( >9*>;) :&) setup() K):&7; '* 8) 79(. 8'9: :7 ;7 :&>* 79(( *:7") :&) ")*-(:* 7N '9 >9:)5)" '9; N(7': 3'(-) ")';#E) 8>(( '(*7 C))? :&) :)Q: *:">95 :7 ('A)( :&) 7A*)"3':>79 a >9 :&>* K-(':); *)9*7" 97;)# H>9

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    14/27

      value float,

    recorded timestamp

    ); 

    O&) N7((78>95 >* 95 -*); A. :&) sprintf() K):&7; :7 N7"K :&) *:">95# O&>*

    87"C* A. *-A*:>:-:>95 3'(-)* N"7K 3'">'A()* N7" :&) *?)'( 95 '9; :&-* 8>(( A) '((795* .7- K-*: A->(;F :&) K7") K)K7". .7- '")

    (>C)(. :7 :& .7-" 3'">'A()*#

    O&) N7((78>95 >* :&) N7"K': *:">95 N7" :&>* )Q'K?()#

    INSERT INTO test_arduino.hello_sensor (message, sensor_num, value) VALUES

    ('%s',%d,%s)

    d7:>"*:F ' K)**'5)F >* @-*: ' *:">95 8) ?'**# O&) *)* :&)

    *)9*7" 9-KA)" V'9; >9:)5)"W# O&) ('*: >* ' N(7':>95L?7>9: 9-KA)"# E&>() 8) -*) ' %s :7 *>59>N. '

    *:">95 '9; ' %d :7 *>59>N. :&) >9:)5)" N7" *-A*:>:-:>79F 8) &'3) '97:&)" *:">95 %s N7" :&) N(7':>95L?7>9:

    3'(-)# O&>* >* A)9 sprintf()# O&-*F 8) K-*: -*) :&) dtostrf()3

     K):&7; '* >((-*:"':); >9 :&) ??): A)(78#

    dtostrf(50.125, 1, 1, temperature);

    sprintf(query, INSERT_DATA, "test sensor", 24, temperature);

    my_conn.cmd_query(query);

    6)") 8) '") 95 '9; *:7">95 >: ' 3'">'A() 9'K);

    :)K?)"':-")F 8&>: K)**. :7 ;)'( 8>: O&)

    577; 9)8* >* :&>* select * from test_arduino.hello_sensor;

    +-----+-------------+------------+-------+---------------------+

    | num | message | sensor_num | value | recorded |

    +-----+-------------+------------+-------+---------------------+

    | 1 | test sensor | 24 | 50.1 | 2015-07-27 15:12:38 |

    +-----+-------------+------------+-------+---------------------+

    1 row in set (0.00 sec)

    O&) 3'">'A()* 8) 9)); N7" :&>* *C):99 A7(;#

    5"16",# D) :-894&E B,1&%6 7C&60>

    /**

    * Example: Complex Insert Example: Hello, MySQL!

    *

    * This code module demonstrates how to create a simple

    * database-enabled sketch with inserting data.

    */

    ] http://www.atmel.com/webdoc/AVRLibcReferenceManual/index.html VH)'"

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    15/27

    #include "SPI.h"

    #include "Ethernet.h"

    #include "sha1.h"

    #include "mysql.h"

    /* Setup for Ethernet Library */

    byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

    IPAddress server_addr(10, 0, 1, 10);

    /* Setup for the Connector/Arduino */

    Connector my_conn; // The Connector/Arduino reference

    char user[] = "bob";

    char password[] = "secret";

    char INSERT_DATA[] =

    "INSERT INTO test_arduino.hello_sensor (message, sensor_num, value) VALUES

    ('%s',%d,%s)";

    char query[128];

    char temperature[10];

    void setup() {

    Ethernet.begin(mac_addr);

    Serial.begin(115200);

    while (!Serial);

    delay(1000);

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)){

    Serial.println("Connected!");

    dtostrf(50.125, 1, 1, temperature);

    sprintf(query, INSERT_DATA, "test sensor", 24, temperature);

     my_conn.cmd_query(query);

    Serial.println("Data inserted.");

    } else {

    Serial.println("Connection failed.");

    }

    }

    void loop() {

    }

    S7- < a '9; :&': 87-(; ?"7A'A(. A) ' 577; >;)' a @-*: K'C) *-") .7-

    '(8'.* ")()'*) :&) K)K7". 'N:)" .7-B") ;79) 7:&)"8>*) .7- 8>(( "-9 7-: 7N K)K7". M->( '9; >9*:)'; 8>(( 73)"N(78 :&) K)K7". 8&>: )'*>)"F

    '9; >: >*F A-: >: ")M->")* ' A>: K7") 87"C :7 K'C) -*) 7N :&) ;':' "):-"9);#

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    16/27

    Simple Select

    H7K):>K)* >: >* 9)95 :&) ")*-(:* 7N '97:&)" =";->97 ?"7@)(( (>C)(. A) -*); >9 *7K) N7"K 7N 79#

    O&>* )Q'K?() *&78* ' *>K?() SELECT M-)". :&': "):">)3)* 79) "78 N"7K :&) ;':'A'*) '9; *:7")* >: >9' 3'">'A() N7" -*) >9 :&) *C):C) :&) 7:&)" )Q'K?()*F UB3) K';) :&>* '* *>K?() '* ?7**>A() A.

    ?('95 :&) 9 :&) setup() K):&7;#

    +)N7") 8) A)5>9F (): -* ;)" 8&': >* &'??)9>95 &)")# \>"*:F 8) '") >**->95 ' SELECT *:':)K)9:

    :7 :&) ;':'A'*)F 8&>(( "):-"9 79) 7" K7") "78* V;)?)9;>95 79 :&) M-)".W# +-: A)N7") :&':F :&)

    ;':'A'*) 8>(( "):-"9 ' (>*: 7N "*: ")'; :&) 95 8>:& :&) M-)".#

    SELECT population FROM world.city WHERE name = 'New York';

    O&>* M-)". >* >**-); '5'>9*: :&) 87"(; *'K?() ;':'A'*)# S7- * ;':'A'*) N"7K :&)N7((78>95 (>9C Vhttp://dev.mysql.com/doc/index-other.html W# O7 "-9 :&>* *C):(( 9)); :7 ;789(7'; :&) N>()F -9_>? >:F '9; N7((78 :&) >9*:"-79* 79 :&) 8)A*>:) :7 >9*:'(( >:# Z99*:'(( :&) 87"(; ;':'A'*)F .7- (( *)) :&) N7((78>95

    ")*-(:*#

    mysql> SELECT population FROM world.city WHERE name = 'New York';

    +------------+

    | population |

    +------------+

    | 8008278 |

    +------------+

    1 row in set (0.01 sec)

    d7:>95 >* :&) **-) :&) M-)". :&)9 ")'; :&) * >* ' *?)'( N-979 >9 :&) (>A"'".# UN .7-

    8'9: :7 ")'; :&)

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    17/27

    d)Q:F 8) ")'; :&) "78* 79) ': ' :>K)# H>9*# E&>() 8) 79(. *)) :&) 79)

    "78 >9 :&) ")*-(:F :&)") >* '9 '* 8&. 8) *?)N>); :&) 79) 9 :&) M-)". a :7 *'3) *?'95 K7")# S7- *&7-(; ';7?: :&>* K>*)". ?"'9 :&)

    "78# O&>* >* (-") :7 ;7 :&>* 8>(( ")*-(: >9 .7-" *C):K>('"(.F :&)") >* ' :

    .7-"*)(N :7 )9*-") .7- 5): :&) *'K) 3'(-) N"7K :&) ;':'A'*)# Z99F :&) 9)8 (>9)* 7N

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    18/27

      Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)){

    Serial.println("Connected!");

     my_conn.cmd_query(QUERY_POP);

     my_conn.get_columns();

    row_values *row = NULL;

    do {

    row = my_conn.get_next_row();

    // We use the first value returned in the row - population of NYC!

    if (row != NULL) {

    head_count = atol(row->values[0]);

    }

     my_conn.free_row_buffer();

    } while (row != NULL);

     my_conn.free_columns_buffer();

    Serial.print("NYC pop = ");

    Serial.println(head_count);

    } else {

    Serial.println("Connection failed.");

    }

    }

    void loop() {

    }

    O&) 9)Q: )Q'K?() 9)* :&) 9)); :7 ?'** >9 3'">'A()* :7 :&) SELECT M-)". :7 "):">)3) ;':' A'*);

    79 ;.9'K>< >9N7"K':>79# 

    Complex Select

    O&>* )Q'K?() *&78* &78 :7 -*) ' SELECT M-)". 8>:& ' E6XTX * :& :&) -*) 7N '9 '"A>:"'". 9-KA)"# 678)3)"F .7- 95 N"7K -*)" >9?-:F ' *)9*7"F '97:&)" =";->97F 79* >9 .7-"

    *C):)* 8>:& ' *?)N><

    ?7?-(':>79 V>#)#F 5")':)" :&'9 ' *?)N>< 3'(-) ?"73>;);W# O&) M-)". 8) 8'9: :7 -*) >* :&) N7((78>95#

    SELECT name, population FROM world.city

    WHERE population > 9000000

    ORDER BY population DESC;

    O&)") >* ' (7: 57>95 79 &)")R d7:>5':) ' K-(:>?() "78 ")*-(: *): '* 8)(( '* *)) &78 :7

    ?">9: :&) *?('.

    :&) 3'(-)* 8>:& :&) ?)":>9)9: 9 A7(;#

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    19/27

    5"16",# G) :-894&E 7&4&06 7C&60>

    /**

    * Example: Complex Select Example: Hello, MySQL!

    *

    * This code module demonstrates how to create a simple

    * database-enabled sketch with selecting data.

    */

    #include "SPI.h"

    #include "Ethernet.h"

    #include "sha1.h"

    #include "mysql.h"

    /* Setup for Ethernet Library */

    byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

    IPAddress server_addr(10, 0, 1, 10);

    /* Setup for the Connector/Arduino */

    Connector my_conn; // The Connector/Arduino reference

    char user[] = "bob";

    char password[] = "secret";

    const char QUERY_POP[] = "SELECT name, population FROM world.city WHERE

     population > %lu ORDER BY population DESC;";

    char query[128];

    void setup() {

    Ethernet.begin(mac_addr);

    Serial.begin(115200);

    while (!Serial);

    delay(1000);

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)){

    Serial.println("Connected!");

    sprintf(query, QUERY_POP, 9000000);

     my_conn.cmd_query(query);

    Serial.println(query);

    column_names *cols = my_conn.get_columns();

    for (int f = 0; f < cols->num_fields; f++) {

    Serial.print(cols->fields[f]->name);

    if (f < cols->num_fields-1)

    Serial.print(',');

    }

    Serial.println();

    row_values *row = NULL;

     while (row = my_conn.get_next_row()) {

    for (int f = 0; f < cols->num_fields; f++) {

    Serial.print(row->values[f]);

    if (f < cols->num_fields-1)

    Serial.print(',');

    }

     my_conn.free_row_buffer();

    Serial.println();

    }

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    20/27

      my_conn.free_columns_buffer();

    } else {

    Serial.println("Connection failed.");

    }

    }

    void loop() {

    d7:>* ;)K79*:"':)* :&': :&)") >* K7") :&'9 79) 8'. :7

    8">:) :&) 95 N7" )""7"*#

    d78 :&': 8)B3) *))9 *7K) )Q'K?()* 7N *C):* >* ';3>: >* *-55)*:); 9)* :&'9 :&7*) *&789 'A73)F .7- *&7-(; ")'; :&>* *)79 N7" >93)9 N7" 8">:>95 *F :&). 8">:)

    &-9;");* 7N (>9)* 7N : :7 () V*7K):>K)* 97: *7 K-:# U9 :&>* _) '(( '*?)" *7(-:>79 *&7-(; A) :)*:); >9 ' *:)?L8>*) N'*&>79#

    \7" )Q'K?()F 8">:) :&) *C):9>K'(>*: *:)?* 9));); :7 ;)K79*:"':) V:)*:W )'K?() K-(':); 3'(-)*#

    J>C)8>*)F 87"C>95 8>:& :&) *)9*7"* 7" 7:&)" ;)3>9 >*7(':>79 *7 :&': .7- 79 *&7-(; *7K):&>95 57 8"795#

    UN .7- ';7?: :&>* ?&>(7*7?&.F .7-" *C):(( A) )'*>)" :7 8">:) '9; .7- 8>(( &'3) N'" K7") *-'A()# U9;));F :&)") >* 97:&>95 >9 :&) *?)N>'A() 8>:& *7K) '

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    21/27

    E&)9 (7** 79 :&) )(; :7 ;"7? >:* 95 ;)K79*:"':)* :&>* N .7- &'3) ' ?"7@)N .7- '") K79>:7">95 *7K):&>95 '9; ?)"N7"K>95 79*>: >* ?7**>A() .7-" &'";8'") (-")*#

    O7 73)":-':>79*F .7- 95 :&) N7((78>95 :& K)K7". 7" :&) X:&)"9): *&>)(; 7" ")(':);F >: 87"C*#

    void soft_reset() {

    asm volatile("jmp 0");

    }

    void loop() {

    delay(1000);

    if (my_conn.is_connected()) {

    // do something

    num_fails = 0;

    } else {

    my_conn.disconnect();

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_addr, 3306, user, password)) {

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    22/27

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    23/27

    &)(? 7" 3>;)9;*

    8&)9 .7- 3':>79 N7" 8">:>95

    :&>* ;79N7"K':>79 'A7-: :&) '(# O&) N7((78>95 *)79 9N7"K':>79 'A7-: :&) :-':>79 8&)") .7-" *C):* ?"7N. :&) 9):87"C# O". 95 79#/#  k)">N. .7-" -*)" '95 :&)

    95 79#

    ]#  %&)(( 95 )'( .7- )997# UB3) *))9 (-") 8&)") >: : N'>(*#

    Frequently Asked QuestionsO&) N7((78>95 '") ' (>*: 7N M-)*:>79* :&': &'3) A))9 '*C); 9-K)"7-* :>K)* 79 :&) N7"-K*# O&).

    ';;")** ' (7: 7N :N'((* '9; )Q?('>9 ' N)8 9)8 :)M-)* 97: ;>** (>*: A)N7") K'C>95 9)8 >9M->">)* 79 :&) N7"-K*# O&) N7((78>95 '") (>*:); >9 97 ?'":>:& :&)

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    24/27

    :; '95 7-: 7N K)K7". 7"

    ;"7??>95 :&) 9):87"C# %&): >* A)* >* ?7**>A() >N .7- ? >: >9 K-(:>?() (7)*W#

    %@6 =())3#= +,6738(- (--,-' 3# )*( JK5L 83/-"-3('> ?*")@' 2-,#=1

    UN .7- -*); '9 7(;)" 3)"*>79 7N :&)

    +) *-") :7 sprintf() '9; dtostrf() :7 N7"K': .7-" M-)". 8>:& 3'">'A()*# O&) 'A() *-A*:>:-:>79#

    ?*") 3' )*( NNOP 3# )*( (Q"678( +,.(1

    U: >* :&) ?7": 79 8&>* (>*:)9>95# S7- * :&) ;)N'-(: *)::>95#

    :; M&(-3(' "-(#@) 2,-)* -*>95 :&) K.*M( )9: A)N7") '::)K?:>95 :7 "-9 .7-" *C):95 ;':'F >: ;7)* 97: 9)); :&) )Q:"' ::)9 >9:7 .7-" *C):: >* K7*: (>C)(. .7-"

    =";->97 >* 97:

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    25/27

    7" :&) -*)" ;7)* 97: &'3) ?)"K>**>79* :7 C)(. *9 '97:&)" N7(;)"# +) *-") >: >* >9*:'((); : ")M->")* -*>95 :&) ;9* (>A"'". '* N7((78*#

    #include

    …char hostname[] = "www.google.com”; // change to your server’s hostname/URL

    IPAddress server_ip;

    DNSClient dns;

    dns.begin(Ethernet.dnsServerIP());

    dns.getHostByName(hostname, server_ip);

    Serial.println(server_ip)

    Serial.println("Connecting...");

    if (my_conn.mysql_connect(server_ip, 3306, user, password)) {

    !"# % &'( 6,-( )*"# ,#( M&(-;1

    S)*F @-*: K'C) *-") .7- &'3) )97-5& K)K7". N7" :&) *:">95*#

    % =() T5!U9VE9WWXW> ?*")@' )*")1

    O&>* )""7" 7") ")*-(: *):# S7- :7" K':95 >9< UY V:". !6%YW

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    26/27

    •  :&) 9):87"C *9m: 3>'A() 7" A)&>9; ' *8>:'(* ;7 97: 87"C

    S7-" A)*: ;>'597*:>< >* :7 -*) ' *):& :&) *'K) * '9; >N :&': 87"C*F .7- C978 .7-" X:&)"9): *&>)(; >* 87"C>95# S7- N. :&) *&>)(; 87"C*F 57 A''(* '9; ?)"K>**>79* '") * ' N>")8'(( A(795 >995 :95 :&) &7*:9'K) *&789# O&) 7-:?-: 8>(( *&78 :&) UY ';;")**#

    \,(' )*( +,##(+),- 2,-< 23)* ]TWJ 6,.&8('1

    d7# Z9(. :&) =";->97 X:&)"9): 7" E>\> *&>)(;*#

    K,2 ., % -(+,-. )*( .")( "#. )36( ,B 6; (0(#)1

    [*) ' :>K)*:'K? 9 .7-" :'A()# O&>* 8>(( A) -?;':); 8>:& :&) K) '9; ;':) 8&)9 :&)

    "78 >* >9*)":);#

    K,2 ., % &'( TWX]:9: B,- '),-3#= ')-3#='1

    U995 >9 :&)*) *:">95* N7" M-)">)*# H)) b N7"

    K7") ;):'>(*#

  • 8/17/2019 MySQL Connector Arduino Reference Manual-1.0.4ga

    27/27

    #include

    const PROGMEM char query[] = "SELECT name, population FROM world.city";

    Limitationsf>3)9 :&) :'"5): ?(':N7"K a ' *K'(( K>K>:':>79*

    :7 -*>95 ' A"'". 79 :&) =";->97 ?(':N7"K# O&) N>"*: :&>95 .7- *&7-(; C978 'A7-: :&)

    <

    K)K7". :7 C))? K)K7". -*) :7 ' K>9>K-KF &78 K-95 : K7") :&'9 :&) K'Q>K-K :&) *>_) 7N :&) (795)*: M-)". *:">95 >9 ';;>:>79 :7 :&) *-K 7N '(( 7N

    .7-" *:">95*# UN .7- '") M-)".>95 :&) *)"3)" N7" ;':'F :&) 3) *>_) 7N ' "78 7N ;':' "):-"9);#

    O&)") '") 7:&)" (>K>:':>79* :7 ;)" A-: K7*: 97:'A() >* K)K7". -*'5)# UN .7- '") -*>95 :&) (':)*:

    =";->97 !-) :&>* K'. 97: A) '9 >**-)# +-: :&)") '") 7:&)" ;)"':>79*# O&) N7((78>95 (>*:* :&)

    C9789 (>K>:':>79* 7N :&) %799)97#

    •  I-)". *:">95* V:&) HIJ *:':)K)9:*W K-*: N>: >9:7 K)K7".# O&>* >* A)(;>95 ;':' ?'* *-55)*:); (795 *:">95* A)

    *:7"); >9 ?"75"'K K)K7". -*>95 YTZfGXG V*)) K) '9; 79) N>)(;L':L'L:>K)#

    •  O&) 9); ()95:& 7N ' "78 >9 ' ")*-(: *): K-*: N>: >9:7 K)K7".# O&) )(;* K-*: A) ()** :&'9 '3'>('A() K)K7".#

    • 

    H)"3)" )""7" ")*?79*)* '") ?"7KK);>':)(. 8>:& :&) )""7" 9:#

    For More InformationO&)") >* ' N7"-K *):-? :7 '9*8)" M-)*:>79* 'A7-: :&) 95 >: Vhttp://forums.mysql.com/list.php?175W#

    S7- K'. '(*7 ")*?79; :7 K. A(75* Vhttp://drcharlesbell.blogspot.com/WF A-: C))? >9

    K>9; *7K) 7N :&)*) )9:">)* '") 5)::>95 M->:) (795 '9; K'9. ")?)': :&) *'K) M-)*:>79* 73)" '9; 73)"#

    H7 A)N7") '*C>95 .7-" M-)*:>79F A) *-") .7-B3) ")'; :&>* ;79 >:* )9:>"):. V)*?)'((. :&) \=IWA)N7") *-AK>::>95 ' 9)8 M-)*:>79# %&'979

    '(")';. )Q>*:*#

    U 8>(( '"):*# O&-*F

    ;7 97: )Q?)