Loading...
Arduino NodeMCU එකෙන් ගන්න Data Firebase එකට Upload කරමු

සුභ දවසක්. අද අපි කතා කරන්නේ Arduino NodeMCU එකෙන් ගන්න data/values කොහොමද Firebase එකට Upload කරන්නේ කියලා.

📰
ඔයා Arduino පිළිබඳ අපි මීට පෙර ගෙනාපු ලිපි කියෙව්වේ නැත්නම් මෙතනින් ඒවා ඔක්කෝම කියවන්න පුළුවන්.

Settings හදාගමු

මුලින්ම අපි wifi Network එකක් හරහා Internet එකට Connect වෙන්න ඕන. ඒ සදහා File තුල ඇති preferences එකට යන්න. දැන් එහි යට ඇති Additional Boards Manager URLs: තුලට මෙම ලින්ක් එක ඇතුලත් කරන්න.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

දැන් අදාල wifi සබදතාවයට අවශ්‍ය බෝඩ් එක තේරීම සදහා Tools menu එක තුල ඇති Board මත click කර Boards Manager click කරන්න. දැන් එහි search කලවිට දක්නට ඇති esp8266 board එක install කරගන්න.

දැන් Sketch menu එකෙහි Include Library තුල ඇති Manage Libraries Click කරන්න. දැන් එහි,

  1. FirebaseJson
  2. Firebase ESP8266 Client

search කර install කරගන්න.

Wifi Connect කිරීම

දැන් පලමුව wifi එකට සම්බන්ධ වෙමු. ඒ සදහා පහත ආකාරයට include සහ define එක සදහන් කරන්න.

include  <ESP8266WiFi.h>
define WIFI_SSID "Wifi_network_name" 
define WIFI_PASSWORD "PASSWORD"

දැන් setup තුල මෙසේ සටහන් කරන්න.

//wifi connection
WiFi.begin (WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println ("WiFi Connected!");

Wifi එකට connect වූවාදැයි දැනගැනීමට serial monitor එකේ wifi connected ලෙස සටහන් කරනු ලැබේ.

Firebase සෑදීම

දැන් firebase එක සාදා ගන්නා හැටි බලමු. මුලින්ම මේ ලෙස arduino එකෙහි firebase library එක include කරගන්න.

include <FirebaseArduino.h>

දැන් console.firebase.googel.com වෙත ගොස් අලුත් project එකක් සාදාගන්න. ඒ සදහා add new project වෙත යන්න. ඉන්පසු project name එක සදහන් කරන්න. ඉන්පසු continue කරන්න. ටික වේලාවකින් ඔබට අලුත් project එකක් සාදා ගැනීමට හැකියාව ඇත. දැන් ඒ project එක වෙත ගියපසු වම්පස ඇති Database click කරන්න. ඉන්පසු දිස්වෙන Create database වෙතට යන්න. ඉන්පසු දිස්වෙන popup screen එකෙහි Start in test mode ලෙස සදහන් කර next කරන්න. දැන් Done කළ පසු ඔබේ database එක බලා ගැනීමට හැකියාව ඇත. එහි උඩ Database යන වචනය ඉදිරියේ Realtime database යන්න select වී ඇත්දැයි හොදින් පරීක්ෂා කරන්න.

Firebase Host

දැන් මෙහි ඇති link එක copy කරගන්න. එය Arduino code එකෙහි මේ ලෙස define කරගන්න.

define FIREBASE_HOST "https://test-7cbea.firebaseio.com/"

දැන් firebase වලට ගොස් වම්පස ඉහල ඇති settings ලකුන click කර Project settings වෙත යන්න. දැන් එහි Service accounts තුල ඇති Database Secrets හි තිබෙන Code එක copy කරගන්න. දැන් එය Arduino code එකෙහි මේ ලෙස define කරගන්න.

Project Settings
Firebase Auth
define FIREBASE_AUTH "2rdZZgIr1LP9mcD1Ux8NIBzhGNOrChSi26JCbECr"

Firebase Connection සෑදීම

දැන් අපි Arduino code එක සහ firebase එක සම්බන්ධ කරගනිමු. ඒ සදහා Begin එක ඇතුලේ මේ විදියට firebase connection එක ලියන්න.

//Firebase connection start
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
//error handaling
if (Firebase.failed()) {
		Serial.print("setting failed:");
		Serial.println(Firebase.error());
}
else {
		Serial.println("firebase Connected");
}

Firebase එකට connect වූවාදැයි දැනගැනීමට serial monitor එකේ firebase Connected ලෙස සටහන් කරනු ලැබේ.

Firebase ලිවීම

දැන් loop තුල හෝ වෙන method එක තුල ඔබට අවශ්‍ය values යැවීමට පහත ආකාරය අනුගමනය කරන්න.

1. මුලින්ම Firebase හි ඇති node වෙන්කර හදුනා ගැනීම වැදගත් වේ. ඒ සදහා පහත රූප සැලකීමට ගන්න.

Firebase structure

මෙහි,
String වලට

Firebase.setString("ThisString", "wedakarayo");

Integer වලට

Firebase.setInt("ThisInteger",100);

Float වලට

Firebase.setFloat("ThisFloat", 20.5);

මේ ආකාරයට භාවිතා කරන්න.

මේ සියලු දේ ඇතුලත් කර අවසාන code එක පහත දැක්වේ

include  <ESP8266WiFi.h>
include <FirebaseArduino.h>
define WIFI_SSID "WiFi_Name"
define WIFI_PASSWORD "PASSWORD"
define FIREBASE_HOST "https://test-7cbea.firebaseio.com/"
define FIREBASE_AUTH "2rdZZgIr1LP9mcD1Ux8NIBzhGNOrChSi26JCbECr"
void setup(void) {
			Serial.begin(9600);
		//wifi connection
			WiFi.begin (WIFI_SSID, WIFI_PASSWORD);
			while (WiFi.status() != WL_CONNECTED) {
				delay(500);
				Serial.print(".");
			}
			Serial.println ("WiFi Connected!");
		//Firebase connection start
			Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
		//error handaling
			if (Firebase.failed()) {
			Serial.print("setting failed:");
			Serial.println(Firebase.error());
			}
			else {
					Serial.println("firebase Connected");
			}
}
void loop() {
			Firebase.setString("ThisString", "wedakarayo");
	Firebase.setInt("ThisInteger",100);
	Firebase.setFloat("ThisFloat", 20.5);
}

එහෙනම් තවත් මෙවැනි දැනුම ගේන post එකකින් හමුවෙමු. අදහස්, ගැටලු සහ අඩුපාඩු comment කරගෙන යන්නත් අමතක කරන්න එපා. සුබ දවසක්!

මෙවැනි වූ තාක්ෂණික කරුණු සහ නවතම තාක්ෂණික පුවත් ඉක්මනින් දැන ගැනීම සඳහා Android වැඩකාරයෝ අප සමඟම රැඳී සිටින්න.