Мазмуну:

Arduino сенсорунун маалыматтарын иштетүүнү колдонуп MYsqlге сактаңыз: 6 кадам
Arduino сенсорунун маалыматтарын иштетүүнү колдонуп MYsqlге сактаңыз: 6 кадам

Video: Arduino сенсорунун маалыматтарын иштетүүнү колдонуп MYsqlге сактаңыз: 6 кадам

Video: Arduino сенсорунун маалыматтарын иштетүүнү колдонуп MYsqlге сактаңыз: 6 кадам
Video: Arduino менен VL53L0X 6 пин лазер модулу менен аралыкты өлчөө 2024, Ноябрь
Anonim
Ардуино сенсорунун маалыматтарын иштетүүнү колдонуп MYsqlге сактаңыз
Ардуино сенсорунун маалыматтарын иштетүүнү колдонуп MYsqlге сактаңыз

Чынын айтсам, Arduino маалыматтарын MySQLге түз сактоо кыйын, ошондуктан Arduino IDEге көз карандылыкта мен Arduino IDEге окшош, бирок ар кандай колдонулушу бар Processing IDE колдонгом жана аны javaда коддой алам.

Эскертүү: кодду иштетип жатканда Arduino сериялык мониторун иштетпеңиз, анткени порт конфликти пайда болот, анткени экөө тең бир портту колдонушу керек

Сизге керек:

  1. Arduino Uno/Mega же клон
  2. Wamp сервер
  3. IDE 2.2.1 иштетилүүдө (андан чоңун колдонбоңуз)
  4. Иштетүү үчүн BezierSQLib-0.2.0 китепканасы (Төмөндөгү шилтемени жүктөп алуу)
  5. сенсор (мен жарык менен температураны өлчөө үчүн LDR жана LM35ти колдондум)

1 -кадам: Arduino орнотуу

Arduino орнотулууда
Arduino орнотулууда

Төмөндөгү жөнөкөй демо кодду жөнөтүүчү катары иштей турган arduinoго жазыңыз., void setup () {Serial.begin (9600); }

боштук цикл ()

{int i = 0, j = 0; i = analogRead (A0); j = analogRead (A1); Serial.print (i); Serial.print (","); Serial.println (i); }

2 -кадам: MySQLти орнотуу

MySQL орнотуу
MySQL орнотуу
  1. MySQL үчүн Wamp серверин орнотуп, маалыматты сактоо үчүн конфигурациялаңыз
  2. Wamp серверин иштетүү
  3. MySQL консолун ачыңыз
  4. маалымат базасын тандоо
  5. Андан кийин маалыматыңыз үчүн стол түзүңүз

стол маалыматтарын түзүү (sno int (4) auto_increment негизги ачкычы, LDR int (4), TEMP int (4));

таблицанын чоо -жайын көрсөтүү үчүн desc_table_name колдонуңуз

түшүрүү маалыматтары;

Мунун баары ДБ үчүн, эми биз иштетүүгө өтө алабыз …

3 -кадам: IDE иштетүүнү орнотуу

IDE иштетилүүдө
IDE иштетилүүдө
  1. Processing IDE 2.2.1ди жүктөп алып, орнотуңуз
  2. Жогорудагы ZIPти MyDocuments/Processing/Librariesке бөлүп алыңыз
  3. Эми IDE иштетүүнү ачыңыз жана китепкананын жогорудагы сүрөттөгүдөй туура же туура эмес орнотулганын текшериңиз
  4. Андан кийин иштетүү үчүн төмөнкү кодду көчүрүп алып, өзүңүздүн атыңызды бериңиз

/* ARDUINO MYSQL ТҮЗӨТҮҮ МЕНЕН Ардуинодон келген сериялык билдирүүлөрдү окуп, аны MySQLге жазыңыз. Автор: J. V. JohnsonSelva Сентябрь 2016 */

import de.bezier.data.sql.*; // MySQL китепканасын импорттоо

импортту иштетүү.сериал.*; // Сериялык китепкананы импорттоо

MySQL msql; // MySQL объектисин түзүү

String a; int end = 10; // 10 саны linefeed үчүн ASCII болуп саналат (serial.println аягы), кийинчерээк муну жеке билдирүүлөрдү үзүү үчүн издейбиз String serial; // "сериялык" деп аталган жаңы сапты жарыялоо. Сап - символдордун ырааттуулугу (маалыматтын түрү "char" катары белгилүү) Сериялык порт; // Сериялык порт, бул Serial классынын жаңы мисалы (объект)

жараксыз орнотуу () {

String user = "root"; String pass = ""; String маалымат базасы = "iot_database"; msql = жаңы MySQL (бул, "localhost", маалымат базасы, колдонуучу, өтмөк); порт = жаңы Сериал (бул, Serial.list () [0], 9600); // портту жана берүү ылдамдыгын дайындоо менен объектти инициализациялоо (Arduino менен дал келиши керек) port.clear (); // функциясы сериялык китепканадан, биринчи окууну ыргытып жиберет, эгерде биз Arduino serial = port.readStringUntil (аягында) сабынын ортосунда окуй баштасак; // функциясы сапты сериялык порттон println ге чейин окуп, андан кийин саптын өзгөрмөсүнө сапты дайындайт ('serial' деп аталат) serial = null; // башында сап нөлгө айланат (бош)}

жараксыз тартуу ()

{while (port.available ()> 0) {// сериялык порттон келген маалыматтар бар болсо, аны окуп, аны сериал = port.readStringUntil (аягы) сактаңыз; } if (serial! = null) {// сап бош болбосо, төмөнкүлөрдү басып чыгарыңыз // Эскертүү: бир гана өзгөрмөнү жөнөтүүдө төмөндө колдонулган бөлүнүү функциясы кереги жок. Бирок, // Arduinoдогу бир нече киргизүүдөн окуу учурунда билдирүүлөрдү талдоо (бөлүү) үчүн пайдалуу. Төмөндө Arduino эскизинин мисал коду a = split (serial, ','); // баалуулуктарды өзүнчө уячаларга сактай турган жаңы массив ('a' деп аталат) (Arduino программаңызда үтүр менен ажыратылган) println (a [0]); // print LDR value println (a [1]); // басып чыгаруу LM35 функциясы (); }}

боштук функциясы ()

{if (msql.connect ()) {msql.query ("маалыматтарга киргизүү (LDR, Temp) баалуулуктары ("+a [0]+","+a [1]+")"); } башка {// туташуу ишке ашкан жок! } msql.close (); // Аткарылгандан кийин MySQL туташуусун жабуу керек}

4 -кадам: Программаны аткаруу

Программаны аткаруу
Программаны аткаруу

Программаны иштетүү баскычын чыкылдатуу менен иштетүү, калкып чыкма терезени жаппоо, аткарууну токтотот жана MySQLде сакталган маалыматтарды көрүү үчүн төмөнкү сурам …

маалыматтан * тандоо;

Киргизилген маалыматтардын санын көрүү үчүн төмөнкү сурамды колдонуңуз.

маалыматтан эсептөөнү (*) тандоо;

5 -кадам: Жыйынтык

Окутуу куралымды окуганыңыз үчүн сизге рахмат айткым келет. Эгер сиз муну пайдалуу деп тапсаңыз жана жактырууну (сүйүктүү) калтырсаңыз же менден бир нерсе сурасаңыз, мен ыраазы болом, анткени ал мага бул көрсөтмөлөрдү кылууга түрткү берет. билишиңиз керек болгон суроолорду берүүдөн тартынбаңыз …

Бактылуу коддоо Arduino…

Сунушталууда: