ESP 01 ,Wifi සමග සම්බන්ද කිරීම සහ වෙබ් බ්රව්සරයෙන් LED එකක් ON/OFF කිරීම .....
පහුගිය ලිපිවලින් යාලුවෝ හැමෝම දෙයක් ඉගෙන ගන්න ඇති කියල විශ්වාස කරනවා.
අද අපි බලන්නේ මේක කොහොමද WiFi එක්ක සම්භන්ද කරන්නේ කියල.මේක අමාරු වැඩක් නෙවෙයි මේකට අවශ්ය කරන මුලික දේවල් Arduino IDE එකේම තියෙනව.හරියට ESP8266 Libraries ටික ගෙන තියෙනවනම් .එකත් එක්ක අවශ්යකරන මුලික කේත එහමත් නැත්තම් Codes ඔක්කොම වගේ එකේ තියෙනවා එතනින් පටන් අරගෙන අපිට ඒකම වෙනස් කරලා අපේ වැඩේ කරගන්න පුළුවන්.හැබැයි එකමදේ එකෙන් වෙනදේ තේරුම් ගන්න ඕන .නැත්තම් එතන ඉගෙනීමක් කියල දෙයක් නැහැ.මුල ඉඳල දෙයක් තනියම කරන්න ගියොත් අමාරුවේ.
හරි දැන් බලමු අපි වැඩේ කරන්නේ කොහොමද කියල.අයෙත් මතක් කරන්න තියෙන්නේ Arduino Board එක පාවිච්චි කරල ESP 01 ෆ්ලෑෂ් කරන කට්ටිය මතක තියාගන්න ඕන ESP එකේ Rx සහ Tx දෙපැත්ත මාරු කරලා තමයි
Arduino Board එකට සම්භන්ද කරන්න ඕන. නැත්තම් කෝඩ් එක අප්ලෝඩ් කරන්න ගියහම ESP Comm Error කියල Error Messages පෙන්වාවි .
ඔක්කොම හරිනම් දැන් Arduino IDE එක ඕපන් කරලා පහල පෙන්වල තියෙන පාත් එකට ගිහින් WifiWebserver
කියන Example එක ඕපන් කරගන්න.ඒවගේම කියන්න තියෙන දේ තමයි මේක මගේ කොඩින් එකක් නෙවේ esp8266 community එකේ Libraries එක්ක එන Sample Codes වලින් එකක්.
Path: File -> Examples -> ESP8266Wifi -> WifiWebServer |
හරි එක ක්ලික් කලහම කෝඩින් එකක් ඕපන් වෙයි .පහල තියෙන විදිහේ .
MyWifi සහ පාස්වර්ඩ් එක 12345 නම් කොඩින් එකේ මුල්ප කොටස හත විදිහට තමයි පෙන්වන්නේ
#include <ESP8266WiFi.h>
const char* ssid = "MyWifi";
const char* password = "12345";
// Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80);
....................................................
මතක තියාගන්න ඕන වැදගත්ම දේ , මෙතැනදී අපි ටයිප් කරන පාස්වර්ඩ් එක , මාස්ක් වෙන්නේ වත් එන්ක්රිප්ට් වෙන්නේ වත් නැහැ .එකියන්නේ පාස්වර්ඩ් එක පත්තරේ දැම්ම හා සමානයි කොඩින් එකේ තිබ්බොත් ඕන කෙනෙකුට එතනින් අරන් SSID එකයි Password එකයි දාල වයි ෆයි පාවිච්චි කරන්න පුළුවන්.එක නිසා ටෙස්ටින් කලාට පස්සේ පාස්වර්ඩ් එක වෙනස් කරගන්න එක තමා නුවනට හුරුම වැඩේ.
හරි දැන් කරන්න තියෙන්නේ කෝඩ් එක අප්ලෝඩ් කරන එක. එකියන්නේ upload Button එක ක්ලික් කරන එක විතරයි .
ඕක අප්ලෝඩ් වෙද්දී වෙන දේවල් ටික පහල මගේ වීඩියෝ එකෙන් බලාගන්න.
Uploading sample code to ESP 01 Using Arduino Board
වීඩියෝ එක නම් ගොඩක් පැහැදිලි නැතුව ඇති එත් වෙන දේ ගැන අදහසක් ගන්න මේක ප්රමාණවත් වේවි කියල හිතනවා.හරි මේ හැම දේම මේ විදිහට උනොත්.එත් සමහර වෙලාවට පහත පෙන්වල තියෙනවා වගේ මේවගේ Errors එන්න පුළුවන් .එන්න පුළුවන්
1.Arduino IDE එකේ මොඩියුල් එක අනුව සෙටින්ග්ස් වෙනස් කරලා කන්ෆිගර් කරලා නැත්තම්
2. Arduino Board එකට හරියට Tx Rx පින් සම්බන්ද කරලා නැත්තම්, මම කලින් මතක් කල විදිහට .
3. එක කෝඩ් එකක් අප්ලෝඩ් කරලා චිප් එක පවර් රිස්ටාර්ට් නොකර තවත් කෝඩ් එකක් අප්ලෝඩ් කරන්න හැදුවොත්
4.GPIO 0 පින් එක GND නොකර කෝඩ් එක අප්ලෝඩ් කරන්න උත්සහ කලොත්
5. ෆ්ලෑෂ් කරන වෙලාවේදී පවර් මදි උනොත්
මේ හා සමාන Error Massage එන්න පුළුවන් .
හරි දැන් බලමු අප්ලෝඩ් කරපු කෝඩ් එකෙන් වෙන්නේ මොනවාද කියල .
දැන් Aduino Board එක usb එකෙන් ගලවල , esp එකෙ 3.3v කනෙක්ෂන් එක අයින් කරල
අයෙත් ප්ලග් කරලා .Arduino IDE එකේ Serial Monitor එක ඕපන් කරල එකේ යට තියෙන Drop Down List දෙකෙන් පලවෙනි එක Both NL & CR කියලත් දෙවැනි එකේ ස්පීඩ් එක 115200 ත් සිලෙක්ට් කරල.ඊට පස්සේ ESP 01 ට පවර් දෙන්න .
එතකොට ඔයාලගේ වයිෆයි එකේ නම සහ පාස්වර්ඩ් හරිනම් පහත විදිහට එක වයිෆයි වලට කනෙක්ට් වෙලා වයිෆයි නම සහ එවලාවේ esp 01 එකට වෙන් කල අයි පී ඇඩ්රස් එකත් පෙන්වාවී .තව එක එක සිම්බල්ස් වගයක් පෙන්වාවී එක ගණන් ගන්න එපා .
මෙතැන එවෙලාවේ වෙන්කළ අයිපී එක කියල කිව්වේ , මේක ඇත්තටම Dynamic IP එකක් එකියන්නේ මේක තාවකාලික අයිපී එකක්.තාව කාලික අයිපී එකක් නෙට්වර්ක් ඩිවයිස් එකකට වෙන්වෙලා තියෙන උපරිම කාලයක් තියෙනවා එකට අපි කියනවා ලීස් ටයිම් lease Time එක කියල . ලීස්ටයිම් එක ඉවරවෙලා අයෙත් කනෙක්ට් උනහම ඔය අයිපී එක වෙනස් වෙනවා.
මේක ගැන වැඩිපුර දැනගන්න ඕන නම් මගේ http://networkingsl.blogspot.com බ්ලොග් එකට යන්න .
හරි දැන් මේ අප්ලෝඩ් කරපු සාම්පල් එකෙන් වෙන්නේ මොකක්ද කියල බලමු .
ඇත්තටම මේකෙන් වෙන්නේ.ESP එකේ GPIO 02 එක ON /OFF කරන එක .
මේකට LED එකක් කනෙක්ට් කරලා වෙබ් බ්රව්සරයෙන් මේ LED බල්බ් එක on/off කරන එක තමයි මේකෙන් කරන්නේ.
LED එක කනෙක්ට් කරන්නනේ මෙහෙමයි .මුලින්ම RED හරි GREEN හරි LED එකේ + Pin එක ESP එකේ GPIO 02 පින් එකට 47 OHM රෙසිස්ටරයක් හරහා කනෙක්ට් කරන්න LED එකේ - Pin එක GND වලටත් කනෙක්ට් කරන්න.
දැන් වෙබ් බ්රව්සරයට පහත විදිහට අර අපිට ලැබුණු අයිපී එක ඇතුලත් කරලා පහත විදිහට ඇඩ්රස් බාර් එකේ ටයිප් කරලා එන්ටර් කලහම LED එක on වෙන්න ඕන .
http://192.168.1.4/gpio/1
ඒවගේම වෙබ් බ්රව්සරයේ පහත විදිහට මැසේජ් එකක් පෙන්වන්නත් ඕන.
ඒවගේම http://192.168.1.4/gpio/0 කියල ටයිප් කරල එන්ටර් කලහම , එහෙමත් නැත්තම් අර ඔන් කරන්න ටයිප් කරපු එකේම අන්තිමට 0 දාල එන්ටර් කලහම LED එක off වේවි .ඒවගේම පහත මැසේජ් එක පෙන්වාවි .
හරි LED එක කනෙක්ට් කරලා එක වැඩකරන එකේ වීඩියෝ එක මම ඊළඟ ලිපියේ ඇතුලත් කරන්නම් දැනට ඔයාල මේක අත්හදා බලන්න.කොඩින් එක වැඩකරන හැටි මම ඊළඟ ලිපියෙන් විස්තර කරන්නම් . මේක ගැන තියෙන ප්රශ්න කමෙන්ට් කරන්න .මම ඒවා විසඳගන්න උදව්කරන්නම් .
එහෙනම් තවත් ලිපියකින් හමුවෙමු . ජයවේවා!!!
ela..
ReplyDeletecode upload dan unata ip aka pennannahane mokada aa?
ReplyDelete
ReplyDeleteets Jan 8 2013,rst cause:4, boot mode:(3,7)
wdt reset
load 0x4010f000, len 1264, room 16
tail 0
chksum 0x0f
csum 0x0f
~ld
meka watenawa sirial monetor akee mokakda awla?
Mokakda module eka ESP 01 da?, Power kohomada denne? external Power da naththam UART hari Arduino eken da?
ReplyDeleteniyamai digatama wade karagenna yanna
ReplyDeleteElakiri
ReplyDeleteස්තුතියි දිගට යමු. ජයවේවා
ReplyDeleteArduino: 1.8.13 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
ReplyDeleteExecutable segment sizes:
IROM : 245376 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 27324 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1260 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 756 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 25024 ) - zeroed variables (global, static) in RAM/HEAP
Sketch uses 274716 bytes (28%) of program storage space. Maximum is 958448 bytes.
Global variables use 27040 bytes (33%) of dynamic memory, leaving 54880 bytes for local variables. Maximum is 81920 bytes.
esptool.py v2.8
Serial port COM3
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
File "C:\Users\Dilshan Chamara\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4/tools/upload.py", line 65, in
esptool.main(cmdline)
File "C:/Users/Dilshan Chamara/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 2890, in main
esp.connect(args.before)
File "C:/Users/Dilshan Chamara/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 483, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
_
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
ME ERROR EKA ENNE AI