WebElektronika

Az IoT alkalmazásokhoz szükséges felhő elkészítése

person access_time 2016.09.08.
A különböző érzékelők rendszeresen küldenek adatokat a felhőbe, amelyek eltárolásra (és feldolgozásra) kerülnek. De mi ez a felhő? Használhatjuk akár a Microsoft Azure megoldását, de most mi egy saját felhőt valósítunk meg. Megnézzük ebben a cikkben azt, hogy hogyan hozunk létre egy adatbázist, illetve ezután készítünk egy olyan programot, amely fogadja és eltárolja a TCP protokoll segítségével továbbított adatokat.


Elkészítjük most az adatbázisunkat, amelyekben az egyik táblában fogjuk eltárolni azokat az értékeket, amelyek TCP kapcsolaton keresztül érkeznek. De mit tároljunk el? Most nem érzékelők adatait tároljuk el, hanem egy másik VPS-nek a szabad memóriáját fogjuk adott időpontokban eltárolni, majd mejeleníteni. Tehát a VPS-ünk "modellez" egy érzékelőt, amely egy mikrovezérlő csatlakozik, és ez a mikrovezérlő UART-on keresztül egy erre alkalmas eszközzel kommunikál a felhőnkkel. 

Készítsük el ebben cikkben az adatbázisunkat. Nem localhost-ban fogjuk működtetni, hanem egy VPS-t fogunk erre a célra felhasználni. Megjegyezzük továbbá azt is, hogy noha az SQL Management Studio-t használjuk fel arra, hogy design nézetben hozzunk létre adatbázist, ez megtehető akár SQL parancs segítségével is.

Indítsuk el a távoli asztal elérhetőséget biztosító programot és jelentkezzünk be a VPS-ünkre (1. ábra).

kep
1. ábra   Bejelentkezés a VPS-re
 

Ezután indítsuk el az SQL Management Studio-t és jelentkezzünk be a VPS-re telepített MSSQL szerverre (2. ábra). Ha SQL Express-t telepítettük, akkor az elérési útvonala a szervernek így is megadható : ".\sqlexpress".

kep
2. ábra   Bejelentkezés az SQL szerverre
 

Kattintsunk jobb egérgombbal a "Databases" menüre és hozzunk létre egy új adatbázist, amelynek a neve legyen "felho" (3. ábra).

kep
3. ábra   Adatbázis létrehozása
 

Adjuk meg az új adatbázisunknak a "felho" nevet (4. ábra).

kep
4. ábra   Az új adatbázisunk elnevezése
 

Hozzunk létre a "felho" adatbázisban egy adattáblát (5. ábra). Ehhez kattintanunk kell az egér jobb gombjával a "Tables" menüpontra.

kep
5. ábra   Új tábla létrehozása a "felho" adatbázisban
 

A most létrehozott táblában (még nem mentettük el) hozzunk létre három oszlopot. Az első oszlop neve "Id", ez lesz a kulcsmező, a típusa "int". Az "Ertek" oszlopban fogjuk eltárolni a TCP protokoll segítségével érkező adatokat. Ennek a típusa is "int". Fontos még az érkezés dátuma, ezt a harmadik oszlopban fogjuk eltárolni. Egyik oszlop sem lehet "null" (6. ábra).

kep
6. ábra   A tábla létrehozása
 

A 7. ábrán láthatjuk azt, hogy az "Id" hogyan lehet kulcsmező.

kep
7. ábra   Az "Id" oszlop kulcsmező lesz
 

Az "Id" értékét egyesével fogjuk növelni. Ezt vagy majd a C# nyelv segítségével oldjuk meg, akkor erre figyelnünk kell a programunk írása során, vagy úgy hozzuk létre a táblánkat, hogy "Id" értéke a beíráskor egyesével növekedjék. Mi ezt az utóbbi megoldást alkalmazzuk (8. ábra).

kep
8. ábra   Az "Id" automatikus növekedésének megadása
 

Mentsük most el az adattáblánkat, és el is készültünk az adatbázissal, illetve a benne lévő adattáblával. Hangsúlyozzuk, ezt a műveletet akár egy SQL parancs kiadásával is megoldhattuk volna.....

Most készítsük el azt a "felhasználót", amelynek nevében az adatbázisunkhoz hozzáférhetünk. Kattitsunk az egér jobb gombjával a "Login" menüpontra és adjunk hozzá egy Login-t (9. ábra).

kep
9. ábra   Új felhasználó jogosultság elkészítése
 

A "felhasználó" neve legyen "webelektronika". Adjunk meg ehhez egy jelszót (10. ábra). Ennek az ablaknak az alján adjuk meg az ehhez a "felhasználó"-hoz tartozó default adatbázist ("felho").

kep
10. ábra   Felhasználónév, jelszó és default adatbázis megadása
 

Végül adjuk meg a "felho" adatbázishoz a tulajdonost, illetve az írás/olvasás jogot (11. ábra).

kep
11.   A jogosultságok beálítása
 

Az adatbázisunk elkészült.
A sorozatunk következő részében elkészítjük ezt az adatbázist SQL script-ek segítségével is, majd ezután azt a Console alkalmazást valósítjuk meg, amely fogadni fogja a TCP csomagokat, illetve a kapott adatokat eltárolja az adatbázisban.