මදක් රැදෙන්න…

Controll Relay With Wi-Fi Nodemcu 8266 Board

අද ලිපියෙන් අපි කතාකරන්නේ Nodemcu ESP8266 Wi-Fi Embedded Board එක යොදාගනිමින් කොහොමද ඕනෑම තැනක සිට ඔබේ නිවසේ හෝ කාර්යාලයේ ඇති විදුලි උපාර්ණ හෝ බල්බ වැනි දෙයක් පාලනය කරන්නේ කියන එක ගැන.

ඇත්තටම මොකක්ද මේ NodeMCU ES8266 කියන්නේ ?

ඇත්තටම Nodemcu  පුවරුවත් Arduino වගේම ඉතා පහසුවෙන් අපගේ නිර්මාණ වලට  භාවිතාකරන්න පුළුවන් Flash Memory සමඟින් සහ විශේෂයෙන්ම esp8266 චිප් එක සමඟින් Wi-Fi ජාලයකට සම්බන්ධ කිරීමේ හැකියාව (wifi capability) සමඟින් එන IOT  (Internet Of Things) අධ්‍යයනයට මුලපිරීමට වඩාත් සුදුසු රු.800 කට වඩා අඩු මුදලකට ලංකාවේ මිලදීගන්න පුළුවන් වැඩක් ගන්න පුළුවන් බෝර්ඩ් එකක්.
                     ESP-12E කියන මොඩියුල් එක යොදාගනිමින් නිර්මාණය කර තිබෙන Nodemcu පුවරුවෙහි esp8266 චිප් එක 80MHz – 160MHz  සංඛ්‍යාතය පරායාසයක වෙනස් කල හැකි Tensilica Xtensa 32-bit LX106 RISC microprocessor එකෙන් සමන්විතයි.ඒ වගේම 128KB මතක ධාරිතාවයකින් සහ 4MB  (program and data storage) දත්ත ගබඩා කරගැනීමේ ධාරිතාවයකින් සමන්විත වෙන්ව. ඒ වගේම nodemcu board ප්‍රධාන වශයෙන් වර්ග කිහිපයක් වෙළඳපල තුල දකින්නට පුළුවන්.ඒ අතරින් වැඩි වශයෙන් පහත වර්ග දෙක භාවිත වෙන්ව.

මෙම වර්ග දෙකේම Pinout එකම විදිහට තාම පිහිටලා තිබෙන්නේ.ප්‍රධානම වශයෙන් වෙනස්කම් දෙකක් මේ දෙක අතර තිබෙනවා.එකක් තමයි USB interface එක. අංක 01 වර්ගයේ තිබෙන්නේ CP2102 කියන Chip එක .මේකට ගොඩක් වෙලාවට PC එකට Drivers දන්න අවශ්‍යය වෙන්නේ නැහැ.ඒ වගේම පහසුවෙන් Breadboard එකට සම්බන්ධ කරන්නට පුළුවන්.අංක 02 වර්ගයේ USB Interface Chip එක විදිහට තිබෙන්නේ CH340 Chip එක. ඉතින් මේකට අනිවාර්යයෙන්ම CH340/341 Drivers පරිගණකයට ස්ථාපිත කරගන්න ඕන.ඒ වගේම මෙවර්ගය ප්‍රමාණයෙන් අංක 01 වර්ගයට සාපේක්ෂව තරමක් විශාලයි.ඉතින් එක නිසා Breadboard එකට සාමන්‍යය විදිහට සම්බන්ධ කරන්නනම් බැහැ.

මෙම Nodemcu Board පිළිබඳව තවත් විස්තර පහතින් බලාගන්න පුළුවන්.

විශේෂාංග /FEATURES

Wireless 802.11 b / g / n standards;
Support STA / AP / STA + AP three operating modes;
Built-in TCP / IP protocol stack to support multiple TCP Client connection (5 MAX);
D0 ~ D8, SD1 ~ SD3: used as GPIO, PWM, IIC, etc. Port Drive 15mA;
AD0: 1 channel ADC;
Power input: 4.5V ~ 9V (10VMAX), USB-powered, providing USB debugging interface;
Current job: keep sending: ≈70mA (200mA MAX), Standby:
Transfer rate: 110-460800bps;
Support UART / GPIO data communication interface;
Remote firmware upgrade (OTA);
Smart Link supports intelligent networking capabilities;
Operating temperature: -40 ℃ ~ + 125 ℃;
Drive Type: Dual high-power H-bridge driver
Module Weight: about 7g
Board Name: NodeMCU 1.0 (ESP-12E Module)
USB-to-UART bridge chip: CP2102

Pinout

Nodemcu පුවරුවේ Analog pin 1 ක් සහ Digital pins 9 ක් තියෙනවා. ඉහත රූපසටහන මඟින් ඒ ගැන අදහසක් ගන්න පුළුවන් කොහොමද Pinout එක පිහිට තිබෙන්නේ කියල.

             හරි මන් හිතනවා දැන් Nodemcu Boards ගැන හොද අවබෝධයක් ඔයාට ලැබෙන්න ඇති කියල.  එහෙනම් ඔන්න දැන් තමයි හැමෝම විස්තර කියව කියව ඉන්නේ නැතිව අවබෝධයක් ගන්නේ නැතුව නිකම්ම හදල බලන්න අස කොටස.හැබැයි අපි ඕනෑම Hardware Part එකක් එක්ක වැඩ කරද්දී ඒ ගැන මුලික අවබෝධය ලබාගන්න එක ඒ එක්ක වැඩකරන්න ගොඩක් පහසු වෙන්ව.
           දැන් අපි බලමු එහෙනම් කොහොමද  Nodemcu එකක් යොදාගනිමින් දුරස්ථව ඔයාගේ ගෙදර විදුලි උපකරණ, වතුර මෝටරය,විදුලි පහන් වැනි ඕනෑම දෙයක් පාලනය කරන්නේ කියල.

ඉතින් අපි මේ ක්‍රියාකාරකමේ දී කරන්න යන්නේ අන්තර්ජාල සම්බන්ධතාවය (Internet) හරහා Relay 4ක් අපට අවශ්‍යය ආකාරයට  ON/OFF  කිරීම තුලින් අපට අවශ්‍යය විදුලි උපකරණ පාලනය කිරීම.ඉතින් එක අපේ  Mobile Phone/Tablets  හෝ Web Browser එක මඟින් අපේ නිර්මාණයට අවශ්‍යය දේ කරන්න විධානය දෙන්න පුළුවන්.මෙහි දී අපි යොදාගන්නේ IOT වලටම ගොඩක් සාර්ථකව සංවර්ධනය කරලා තිබෙන “ Blynk “ කියන Mobile Application එක.මේ Application එක Android වගේම IOS වලටත් නිර්මාණය කරලා තිබෙනවා.ඉතින් මුලින්ම පහත පියවර වලට අනුව මේ Application එක ඔයාගේ Phone එකට බාගත කරගෙන සකසා ගන්න.

01.Download and Install Blynk App – https://play.google.com/store/apps/details?id=cc.blynk&hl=en 

02. ඊට පස්සේ  Blynk Application එක Open කරගෙන  Account එකක් හදාගන්න.Account එක හද්දගත්තට පස්සේ ඔයාගේ Email එකට මේල් එකක් එනවා එකේ තියෙනව Author Code කියල එකක්.එක තමා අපිට අවැදගත්.එක ඕන ඇයි කියල අවසානෙට තේරුම්ගන්න පුළුවන් වෙයි.

03. Account එක හදාගත්තට පස්සේ මේවගේ දකින්න පුළුවන්.

දැන් පලවෙනියටම තියන New Project ගිහිල්ල Project Name කියන තැන ඔයාලට කැමති නමක් දෙන්න.ඉන් පසු CHOOSE DEVICE කියන තැන Nodemcu කියල Select කරන්න.මොකද අපි මෙහි දී යොදාගන්නේ Nodemcu එකක් නිසා.ඉහත අපි කතාකල ආකාරයට Wi-Fi මඟින් අන්තර්ජාලයට සම්බන්ධ කරන නිසා CONNECTION TYPE කියන තැන wifi කියල select කරගන්න.

දැන් Create කියන එක Click කරලා මේ පහල තියන පිටුවට යන්න.අපි මේකෙන් රිලේ 4ක් පාලනය කරන නිසා මුලින්ම අපේ Relay 4 ON/OFF කරගන්න Buttons 4 ක් හදා ගන්න ඕන.ඒකට ඔයාල ඉස්සල්ලම මේ පිටුවේ උඩම දකුණු පත්තෙ ඉදල දෙවනියට තියන + ලකුණ ඔබල Button 4ක් මේකට දාගන්ඩ ඕනි මේ පහල තියන විදිහට.

දැන් මේ එක Button එකක්  Click කරල ඊට අවශ්‍යය විස්තර ටික ඇතුලත් කරගන්න ඕන.

01. ඔයාට කැමති නමක් දාගන්න.
Example – Relay 01 / Light 01 / Water Pump Etc….

02.ඊට පස්සෙ Pin කියන තැන Click කරලා Digital කියල  select  කරල  D0 තෝරන්න

03.දැන් ඊට පහතින් තියෙන Button එක Push කියන තැනින් Switch කියන තැනට දාගන්න. (Push කියන තැන තිබුනොත් අපේ SWITCH  එක ඔබාගෙන ඉන්නකම් විතරයි Relay එක ON එකේ තියෙන්නේ .එකත් ඉතින් පස්සේ කරලා බලන්න)

ඉතින් ඔය පියවර ටිකම අනිත් Buttons 3 ටත් කරන්න. මතක ඇතිව ඉහත දෙවැනි පියවරේ දී අපි තෝරපු පින් එක පිළිවලින් Button 1 – D0 , Button 2 – D1 , Button 3 – D2 , Button 4 – D3 වෙන්න ඕන .
ඉතින් ඔය කීව ටික හරියට කලානම් පහල රූපයේ විදිහට පෙන්න ඕන. ඔය Buttons ඇදගෙන ගිහින් ඕන තැනකින් තියාගත්තට කමක් නෑ.ඒ වගේම ඔය Battons කැමති පාටක් එහෙම දාගන්නත් පුළුවන්.පොඩ්ඩක් අතපත ගාල බලන්න.

හරි දැන් උපාංග ටික නිවැරදිව අටවගන්නයි තියෙන්නේ.
අවශ්‍යය උපාංග

01.  1 x  Nodemcu ESP8266 CP2102 or CH340  Board with USB Cable
02.  1 x Relay Module 5v /4Channel  
03.  1 x 230VAC Light Bulbs or any 230Vac Consumer Electronics Equipment’s
04.  Male to Female Several Jumper Wires
05. 1 x Breadboard
06.  Wi-Fi Network Connection
07. 1 x 5VDC (1Ampere + ) Adapter

දැන් පහත ඇමුණුම් සටහනේ ආකාරයට උපාංග ටික නිවැරදිව අමුනාගන්න


පරිපථ ඇමුණුම් සටහන

හරි එහෙනම් දැන් ඔන්න මුලික වැඩ කොටස අවසානයි දැන් තියෙන්නේ NodeMCU එකට  Code එක දාගන්න එක.මුලින් කීව වගේ අපිට  Arduino IDE එක මඟින්ම NodeMCU Board එකත් Program කරන්න පුළුවන්.හැබැයි NodeMCU Board එක ඔයාගේ Arduino IDE එකේ Boards වල පෙන්නන්නනම් Board Manager ගිහින් NodeMCU ESP8266 අපේ IDE එකට Add කරගන්න ඕන, හරි එහෙනම් අපි දැන් ඒ ටික කරගෙන ඉමු.මේක කරන්නනම් ඔයාගේ Laptop එක හෝ Desctop එක Internet වලට සම්බන්ධ කරලා තියෙන්න ඕන.

01.ඔයාගේ Arduino IDE එකේ File > Preferance ගිහින් Additional Board Manager කියන තැනට මේ URL එක දීල OK කරන්න.

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

02.දැන් Arduino IDE එකේ Tools > Boards ගිහින් Search Box එකේ “ESP8266” කියල Search කරලා “ESP8266 Community” කියන එක Install කරගන්න.පහත රූපය බලන්න සරලව තේරුම් ගන්නට පුළුවන්.

03.Install වෙන්න පොඩි වෙලාවක් යයි. නිවැරදිව Install උනානම්  Tools>Boards ගියහම පහත රූපයේ විදිහට බලාගන්න පුළුවන්
(i) NodeMCU 0.9 (ESP-12 Module)
(ii)NodeMCU 1.0 (ESP-12 Module) කියන Boards දෙක ඔයාගේ IDE එකට අලුතෙන් එකතුවෙලා තියෙනව.

හරි දැන් අපි අපේ Code එකට එකතුකරගෙන තියෙන Library ටික අපේ Arduino IDE එකේ Library වලට එකතු කරගන්න ඕන.

මෙතනින් ගිහින් Libraries දෙක Download කරගෙන  Arduino IDE එකේ Sketch > Include Library > Add .ZIP Library ගිහින් Download කරගත් Library  එකින් එක Arduino IDE එකට Include කරගන්න.

01 . ESP8266WiFi.h (ESP8266wifi-master)
02. BlynkSimpleEsp8266.h  (blynk-library-master)

හරි එහෙනම් දැන් සියල්ලම සූදානම් දැන් තියෙන්නේ අපේ Code එක NodeMCU එකට Upload කරන එක. පහත Code එක හොඳින් බලන්න.මතකද අපි මුලින් කතා කළා Blynk වල Account එක හදාගත්තාම අපිට Email එකක් එනවා කියල “ Author Tokenකියල” එකක් කියල.ඔන්න දැන් තමයි ඒක ඕන වෙලාව.ඉතින් එන්න ඒ Author Token එක මඟින් තමයි ඔයාගේ Device එක Blynk Cloud එකෙන් අදුනගන්නේ. එහෙනම් Code එකේ මෙන්න මේ කොටස් ටික ඔයාගේ අදාළ විස්තර අනුව වෙනස් කරගන්න ඕන.

01. char auth[] = “authtocken”; කියන කොටසේ “authtocken” එක වෙනුවට ඔයාට Blynk එකෙන් ලැබුන Author Token එක දෙන්න.

02.  char ssid[] = “ssid”; කියන කොටසේ “ssid”; වෙනුවට ඔයාගේ Wi-Fi Network එකේ නම දෙන්න.

03. char pass[] = “password”; කියන කොටසේ “password” එක වෙනුවට ඔයාගේ Wi-Fi Network එකේ Password එක දෙන්න.

දැන් ඔයාගේ NodeMCU Board එක ඔයාගේ Laptop හෝ Desktop පරිගණකයට සම්බන්ධ කරලා Arduino IDE එකේ Board eka NodeMCU 1.0 තෝරලා අදාළ පොර්ට් එක තෝරලා Code එක Upload කරගන්නයි තියෙන්නේ. ඉතින් ඔන්න ඔච්චර තමයි වැඩේ .දැන් පුළුවන් ඔයා හදාගත්තු Device එකේ Power Up කරලා Blynk App එකේ අර කලින් හදාගත්තු Buttons ටික ON/OFF කරලා බලන්න.අපි කතාකාල පියවර ටික හරියට කලානම් වැඩේ පත්තුවෙන්න ඕන.එහෙම වෙන්නේ නැත්නම් අපහු මුල් පියවර ටික හොදට බලන්න.
දැන් ඉතින් ඔයාට පුළුවන් ඔයාගේ හැකියාව එකතු කරලා තව Buttons ටිකක් වැඩියෙන් දාල Relays ටිකක් වැඩියෙන් දාල තව Buttons වලට අපිට ඕන වෙලාවට ON/OFF වෙන්න Timers දාන්න, Sensor එකක Value එකක් Blynk App එකෙන් බලන්න.Motion එකක් Alarm  එකක් වගේ දෙයක් App  එකට Notification එකක් විදිහට ගෙන්නගන්න . වගේ ගොඩක් දේවල් කරන්න.අනිවාර්යයෙන් ඔයාගේ දෙයක් මේකට එකතුකරගන්න බලන්න එකෙන් තාම ඔය යමක් හරියට ඉගනගත්ත වෙන්නේ.
  එහෙනම් ගොඩක් දිග පොස්ට් එකක් ඔන්න අවසන් කරන්නයි යන්නේ පොස්ට් එක දිග උනේ අවශ්‍යය දේ නිවැරදිව පැහැදිලිව කියල දෙන්න ඕන නිසා. තවත් නොතේරෙන තැනක් තිබුනොත් පහලින්  Comment එකක් දාන්න .එහෙම නැත්නම් අපේ  Duino Electronics ( @duino.lk) පේජ් එකට  Message එකක් දන්න.

එහෙනම් ඉතින් අයෙත් දවසක අලුත් පොස්ට් එකක් එක්ක හමුවෙමු.ඊලගට මොනවා ගැනද දැනගන්න ඕනේ කියල කීවොත් ඉල්ලුමට අනුව සැපයුම දෙන්න බලන්නම්.හදල බැලුවනම් යමක් ඉගනගත්තනම් අනිවා Comment  එකක් දාන්න අමතක කරන්න එපා.
ජයවේවා!

Leave a Comment

Your email address will not be published. Required fields are marked *