Tartalomjegyzék:

Mentse az Arduino érzékelő adatait a MYsql -be a feldolgozás segítségével: 6 lépés
Mentse az Arduino érzékelő adatait a MYsql -be a feldolgozás segítségével: 6 lépés

Videó: Mentse az Arduino érzékelő adatait a MYsql -be a feldolgozás segítségével: 6 lépés

Videó: Mentse az Arduino érzékelő adatait a MYsql -be a feldolgozás segítségével: 6 lépés
Videó: CS50 2013 - Week 9 2024, Július
Anonim
Mentse az Arduino érzékelő adatait a MYsql -be a feldolgozás segítségével
Mentse az Arduino érzékelő adatait a MYsql -be a feldolgozás segítségével

Őszintén szólva nehéz az Arduino adatokat közvetlenül a MySQL -be tárolni, így az Arduino IDE függőségében az Arduino IDE -hez hasonló Processing IDE -t használtam, de sokféle felhasználással, és kódolhatod a Java -ban.

Megjegyzés: ne futtassa az Arduino soros monitort a feldolgozási kód futtatása közben, mert portütközés lép fel, mivel mindkettőnek ugyanazt a portot kell használnia

Szükséged van:

  1. Arduino Uno/Mega vagy klón
  2. Wamp szerver
  3. Az IDE 2.2.1 feldolgozása (ne használjon ennél nagyobbat)
  4. BezierSQLib-0.2.0 könyvtár feldolgozásra (letöltési link alább)
  5. érzékelő (LDR -t és LM35 -öt használtam a fény és a hőmérséklet mérésére)

1. lépés: Az Arduino beállítása

Az Arduino beállítása
Az Arduino beállítása

Írja le az alábbi egyszerű demókódot arduino -ra, amely feladóként fog működni.

void setup () {Serial.begin (9600); }

üres hurok ()

{int i = 0, j = 0; i = analóg olvasmány (A0); j = analóg olvasmány (A1); Sorozatnyomat (i); Serial.print (","); Sorozat.println (i); }

2. lépés: A MySQL beállítása

A MySQL beállítása
A MySQL beállítása
  1. Telepítse a Wamp szervert a MySQL -hez, és állítsa be az adatok tárolására
  2. Futtassa a wamp szervert
  3. nyissa meg a MySQL konzolt
  4. válasszon adatbázist
  5. Ezután hozza létre a táblázatot az adatokhoz

táblázatadatok létrehozása (sno int (4) elsődleges kulcs auto_increment, LDR int (4), TEMP int (4));

használja a desc your_table_name parancsot a táblázat részleteinek megjelenítéséhez

desc adatok;

A DB -nek ennyi, most áttérhetünk a feldolgozásra …

3. lépés: A feldolgozó IDE beállítása

A feldolgozó IDE beállítása
A feldolgozó IDE beállítása
  1. Töltse le és telepítse a feldolgozó IDE -t 2.2.1
  2. Bontsa ki a fenti ZIP -t a MyDocuments/Processing/Libraries mappába
  3. Most nyissa meg a feldolgozó IDE -t, és ellenőrizze, hogy a könyvtár helyesen van -e telepítve, vagy nem, mint a fenti képen
  4. Ezután másolja az alábbi kódot a feldolgozásra, és nevezze el sajátnak

/* ARDUINO TO MYSQL A FELDOLGOZÁSON keresztül Olvassa el az Arduino soros üzeneteit, majd írja be a MySQL -be. Szerző: J. V. Johnson JohnsonSelva 2016. szeptember */

import de.bezier.data.sql.*; // importálja a MySQL könyvtárat

import feldolgozás.sorozat.*; // importálja a soros könyvtárat

MySQL msql; // MySQL objektum létrehozása

Karakterlánc a; int end = 10; // a 10 -es szám ASCII a linefeed számára (a sorozat vége.println), később ezt keressük az egyes üzenetek szétbontására String serial; // deklarálja az új "sorozat" nevű karakterláncot. A karakterlánc karaktersorozat (az adattípus "char" néven ismert) Soros port; // A soros port, ez a soros osztály új példánya (egy objektum)

void setup () {

Karakterlánc felhasználó = "root"; String pass = ""; Karakterlánc -adatbázis = "iot_database"; msql = új MySQL (ez, "localhost", adatbázis, felhasználó, bérlet); port = új soros (ez, soros.lista () [0], 9600); // az objektum inicializálása port és átviteli sebesség hozzárendelésével (meg kell egyeznie az Arduinoéval) port.clear (); // függvény a soros könyvtárból, amely kidobja az első olvasást, arra az esetre, ha az Arduino karakterláncának közepén kezdenénk olvasni serial = port.readStringUntil (end); // függvény, amely beolvassa a karakterláncot a soros portból a println -ig, majd hozzárendeli a karakterláncot a karakterlánc -változónkhoz ("soros") serial = null; // kezdetben a karakterlánc null lesz (üres)}

érvénytelen sorsolás ()

{while (port.available ()> 0) {// amíg vannak adatok a soros portról, olvassa el és tárolja serial = port.readStringUntil (end); } if (soros! = null) {// ha a karakterlánc nem üres, nyomtassa ki a következőt // Megjegyzés: az alább használt felosztási függvény nem szükséges, ha csak egyetlen változót küld. Hasznos azonban az üzenetek elemzésekor (szétválasztásakor), amikor // több bemenetről olvasnak Arduino -ban. Az alábbiakban példakódot találunk egy Arduino vázlathoz a = split (soros, ','); // egy új tömb ("a"), amely az értékeket külön cellákba tárolja (az Arduino programban megadott vesszővel elválasztva) println (a [0]); // LDR érték nyomtatása println (a [1]); // print LM35 value function (); }}

üres függvény ()

{if (msql.connect ()) {msql.query ("insert into data (LDR, Temp) values ("+a [0]+","+a [1]+")"); } else {// a kapcsolat nem sikerült! } msql.close (); // Be kell zárni a MySQL kapcsolatot végrehajtás után}

4. lépés: A program végrehajtása

A Program végrehajtása
A Program végrehajtása

Futtassa a programot a Futtatás gombra kattintva ne zárja be az előugró ablak bezárását, leállítja a végrehajtást, és a lekérdezés alatt megtekintheti a MySQL -ben tárolt adatokat …

válasszon * az adatok közül;

A beszúrt adatok számának megtekintéséhez használja az alábbi lekérdezést.

válassza ki a számot (*) az adatokból;

5. lépés: Következtetés

Szeretném megköszönni, hogy elolvasta az oktatóanyagomat. Megköszönném, ha hasznosnak találná, és dobna egy lájkot (kedvencet), vagy bármit kérdezne tőlem, mert ez motivál bennem ezeknek az oktatható feladatoknak a végrehajtására. bátran tegyen fel kérdéseket, amelyeket tudnia kell…

Boldog kódolást Arduino…

Ajánlott: