Arduino IDE භාවිතයෙන් ESP 01 සඳහා සරල වැඩසටහනක් ලිවීම ...

හැමෝම පසුගිය ලිපි කියවන්න ඇති කියල හිතනවා.අද අපි බලන්න යන්නේ අර්ඩුයිනෝ සොෆ්ට්වෙයාර් එකෙන් esp01 එකට සරල වැඩසටහනක් ලියන හැටි .
කලින් කිව්වා වගේ මම මේකට පාවිච්චි කරන්න ESP01 කියන මොඩියුල් එක. එකේ රුපයක් පහත මම අයෙත් දාන්නම්.
ESP01

පින් තියෙන විදිහ මම කලින් ලිපියක සඳහන් කළා දැන් බලමු මේක ප්‍රෝග්‍රෑම් කරන විදිහට මේක කන්නෙක්ට් කරගන්නේ කියල.කලින් කිව්වා වගේ අපිට ආර්ඩියුනෝ බෝර්ඩ් එක හරි UART එකක් හරි පාවිච්චි කරන්න පුළුවන්.
Connection Diagram ESP to UART
මේ තියෙන්නේ කනෙක්ෂන් හදාගන්න ඕන විදිහ .මේකෙදි ඔයාලට ක්‍රම දෙකක් අනුගමනය කරන්න පුළුවන් .ESP01 එකට වෙනම Power දීල අනෙක් පින් ටික අවශ්‍ය විදිහට UART එකත් එක්ක සම්භන්ද කරන එක නැත්තම් UART එකෙන්ම මොඩියුල් එකට කරන්ට් එක ගන්න එක .උඩ විදිහට තමයි ඔකේ වයර් සෙට් වෙන්න ඕන.ලොකුම ප්‍රශ්නේ ඔය මොඩියුල් එක බ්‍රෙඩ් බෝර්ඩ් එකට සෙට් වෙන්නේ නෑ.එක නිසා මම මගේම ගැජමැටික් එකක් හදා ගත්ත.
ඔය තියෙන්නේ පරණ ෆ්ලොපි ඩිස්ක් කේබල් එකක් අරන් මැද තියෙන රිබන් කේබල් එකෙන් කොටසක් අයින් කරලා කොට කරලා අයෙත් ක්ලිප් කරලා හදාගත්ත හෙඩර් එකක් .එක ලේසියෙන්ම කරන්න පුළුවන් .එකම දේ පරෙස්සමින්ක්ලිප් දෙක පන්න ගන්න ඕන ලොක් කඩා ගන්නේ නැතිව.

TOP

Botttom
මෙහෙම කරගන්න උනේ මෙහෙ හෙඩර්ස් ගන්න නැහැ  මම ඉන්නේ ලංකාවේ නෙවේ නිසා. අනික මෙහෙට ඊබේ එකෙන් එන්න ටික කාලයක් යනවා.
හරි දැන් එක හරි දැන් බලමු පින් ටික ගැන , ඔය බෝර්ඩ් එක කොම්පොනෙන්ට් තියෙන පැත්ත ඔයාලගේ මිහුන පැත්තට කරල අල්ල ගත්තම , පින් තියෙන පැත්ත යටට වෙන්න , පහල තියෙන පිළිවෙලට තමයි පින්ස් තියෙන්නේ 

1. Gnd       - Ground
2. GPIO 2  - Input / Output
3 .GPIO 0  - Input / Output
4. RX        - Serial Data Receiving
5. TX        - Serial Data Transmitting
6. CH_PD - Chip Enable
7. Reset    -  Reset
8. Vcc      - Power + 3.3v

හරි දැන් බලමු කොහොමද මේක UART එකට සම්භන්ද වෙන්නේ කියල . මෙතනදි අපි හිතමු UART එකෙන්ම පවර් ගන්නවා කියල .

ESP 01 Pin Number                                                         UART pin

1. Gnd       - Ground        ------------------------------------> GND
2. GPIO 2  - Input / Output
3 .GPIO 0  - Input / Output-----------------------------------> GND
4. RX        - Serial Data Receiving-------------------------->  Tx
5. TX        - Serial Data Transmitting----------------------->  Rx
6. CH_PD - Chip Enable -------------------------------------> +3.3v
7. Reset    -  Reset
8. Vcc      - Power + 3.3v-------------------------------------> +3.3v



UART එකත් එක්ක මෙහෙම සම්භන්ද කලාට අර්ඩුයිනෝ එකට සම්භන්ද කරද්දී ESP එකේ Tx  එකට අර්ඩුයිනෝ එකේ Tx එකටත් , ESP එකේ Rx එක අර්ඩුයිනෝ එකටත් සම්භන්ද කරන්න ඕන. නැත්තම් ෆ්ලැෂ් කරන්න බැහැ.
දැන් ඇටවුම හරි .ඊළඟට තියෙන්නේ Arduino IDE එක ESP01 එකට ප්‍රෝග්‍රෑම් ලියන්න පුළුවන් වෙන විදිහට කන්ෆිගර් කරගන්න එක .
පළවෙනියටම  කරන්න ඕන ඔයා අර්ඩුයිනෝ අයි.ඩී.ඊ එක ඉන්ස්ටෝල් කරගෙන නැත්තම් පහත ලින්ක් එකට ගිහින් ඩවුන්ලෝඩ් කරගෙන ඉන්ස්ටෝල් කරගන්නන එක .

                                        Click Here to Download Arduino IDE

ඊටපස්සේ කරන වැඩක් තියෙනවා.පහල රූපේ තියෙන විදිහට File --> Preferences ඕපන් කරගන්න



ඊටපස්සේ ඔතන තියෙන Additional Boards Manager URLs: කියන තැනට මෙන්න මේ URL එක කොපි කරලා පේස්ට් කරන්න
      http://arduino.esp8266.com/stable/package_esp8266com_index.json

ඊටපස්සේ OK කරන්න .   Tools-> Board ->Board Manager ඕපන් කරගන්න
එතකොට ඔයාලට පෙනේවි Board Packages ගොඩක් ලෝඩ් වෙනවා.මෙතැනින් අපිට දැනට ඕන වෙන්නේ
esp8266 by ESP8266 Community කියන පැකේජ එක.එක උඩ ක්ලික් කරලා ඉන්ස්ටෝල් ක්ලික් කල ගමන් ඒ අදාල  Package එක ඉන්ස්ටෝල් වේවි .



ඊටපස්සේ Ardiuno IDE එක ඕපන් කරලා බැලුවහම පහත තියෙන ඒවා එකතු වෙලා තියේවි .



හරි දැන් එකත් හරි .මෙතන තියෙන ඒවගෙන් එකියන්නේ පලවෙනි මෙනු එකේ තියෙන දේවල් වලින් අපිට වෙනස් කරන්න වෙන්නේ Port කියන එකයි Flash Size කියන දෙක .පොර්ට් එක හොයාගන්න පුළුවන් අපිට වින්ඩොව්ස් පරිගනකයක නම් ඩිවයිස් මැනේජර් යුටිලිටි එකෙන් . Flash Size එක ඔය තියෙන මොඩියුල් දෙකේ පාටින් අනුමාන කරන්න පුළුවන් , කලින් කිව්වා වගේ නිල් පාට එක 512 KB , කළු පාට එක 1MB , එක එවිදිහට සිලෙක්ට් කරගන්න .
 
ඔය වැඩටික ගානට ඉවරනම් දැන් පුළුවන් අපිට සාම්පල් කෝඩ් එකක් අරගෙන ෆ්ලෑෂ් කරලා බලන්න.

පහල තියෙන කෝඩ් එක ටයිප් කරල හරි , කොපි කරලා පේස්ට් කරලා , අප්ලෝඩ් කරලා බලන්න මොකද වෙන්නේ කියල .

Led Blink Code - ESP8266
void setup() {
  
pinMode(LED_BUILTIN, OUTPUT);          // Initialize the LED_BUILTIN pin as an output
}

// the loop function runs over and over again forever

void loop() {
  digitalWrite(LED_BUILTIN, LOW);          // Turn the LED on (Note that LOW is the voltage level
                                                                  // but actually the LED is on; this is because 
                                                                  // it is active low on the ESP-01)
  delay(1000);                                              // Wait for a second
  digitalWrite(LED_BUILTIN, HIGH);          // Turn the LED off by making the voltage HIGH
  delay(2000);                                              // Wait for two seconds
}

හරි එහෙනම් මේක ටෙස්ට් කරල බලල තියෙන ප්‍රශ්න කමෙන්ට් කරන්න.එහෙනම් ඊළඟ ලිපියෙන් Wifi එක්ක වැඩකරන විදිහ විස්තර කරන්නම් .
මේ සම්භන්දයෙන් මාව දිරිමත් කරන හැමෝටම ස්තුතියි !.
ඊළඟ ලිපියෙන් හමුවෙමු .ජයවේවා !!!




4 comments:

ESP8266 Wifi Module හඳුන්වා දීම....

ESP8266 Wifi Module
පසුගිය ලිපියෙන් IOT ගැන කෙටි හැඳින්වීමක් කළා ඔබට මතක ඇති.අද අපි කතා කරන්න යන්නේ IOT වල වැඩකටයුතු කරගෙන යන්න අපි පලවෙනි පියවර තියන්න පටන් ගන්න පුංචි ESP8266 Serial Wireless Transceiver Module එක ගැන. ]
                                                                 ESP8266 කියල කියන්නේ චිප් එකක් එහෙමත් නැත්තම් හැමෝම දන්නා භාෂාවෙන් කිව්වොත් අයි.සී එකක්.ඒක පාදක කරගෙන නිර්මාණය කරපු මොඩියුල් ගණනාවක්  තියෙනවා .එහම එක ආකාරයක් තමයි ඔය ඉහත රුපයෙන් පෙන්වල තියෙන්නේ.එකේ නම තමයි ESP01.පහතින් තියෙනවා සාමාන්‍යයෙන් බහුලව භාවිතාවන ආකාර කීපයක්.

                  මේගැන වැඩි විස්තර ඔයාලට දැනගන්න පුළුවන් මෙන්න මේ ලින්ක් එකට ගියොත් http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family.ඉහතින් තියෙන රුපයේ තියෙන්නේ ESP 12 වෙනකන් විතරක් උනාට තවත් අලුතින් එකතු වුනු තවත් මොඩියුල් කිහිපයක් තියෙනවා දැනට. ඒ ESP 12-E/Q ,ESP 13 , ESP 14 , ESP-WROOM2 සහ WT8266-S1 , වැඩි විස්තර සඳහා ඉහත ලින්ක් එක බලන්න.මේ එක එකක් හදල තියෙන්නේ භාවිතය(Usage) කාර්යක්ෂමතාව(Efficiency) සහ මතකය (Memory Capacity) අනුව.එහෙත් අපේ වැඩවලට ESP 01 එක හොඳටම ප්‍රමාණවත්  වේවි.


ESP 01 Versions
                             ඉහත රුපයෙන් පෙන්වල තියෙන්නේ ඔය ESP 01 කියන එකේම සංස්කරණ දෙකක් මම නම් ගත්තේ ඔය කළු පාට එක එකියන්නේ  ෆ්ලෑෂ්මෙමරි වැඩි එක.ෆ්ලෑෂ් මෙමරි වැඩියෙන් තියෙන එක වාසිය අපිට ටිකක් වැඩි පුර වැඩගන්න පුළුවන්.ඔය රතු පාටෙන් කොටු කරල පෙන්වල තියෙන්නේ Flash Memory Chip එක අනෙක මම මේක ගෙන්න ගත්තේ ebay.com එකෙන් මොකද මම ඉන්නේ ලංකාවෙන් පිටත නිසා.මේක මට මතක හැටියට US $ 2.1 එකියන්නේ ලංකාවේ මුදලින් Rs.350 විතර.මම මේක ඔරිජිනල් ද නැද්ද කියල බලන්න නම් ගියේ නැහැ.ගෙනාව වැඩට බැස්ස.
                                                                     හරි දැන් එක පොඩ්ඩකට පැත්තකින් තියල අපි මේක ගැන තවත්පොඩ්ඩක් හොයල බලමු.දැන් බලන්න තියෙන්නේ Pin Arrangement නැත්තම් Pin Outs ,  එකියන්නේ පින් මොනවාද , කොහොමඳ තියෙන්නේ , ඒවගෙන් මොනවාද වෙන්නේ කියන එක.

ESP 01 Pin Out and Descriptions


Real ESP01 Pin Out

මේ පින්වල භාවිතය අනුව අපිට Data Input / Output සඳහා පාවිච්චි කරන්න පුළුවන් GPIO 0 , GPIO 2 , RXD සහ TXD. GND සහ VCC පාවිච්චි කරන්නේ මේකේ Power Supply වලට .වැදගත්ම දේ සහ මතක තබාගත යුතු දේ තමයි  මේ මොඩියුල් එක වැඩ කරන්නේ 3.3 V විභවය කින් .එකියන්නේ AAA බැටරි දෙකකින් උනත් මේක වැඩ , මම ඒ දේ අත්හදා බැලුවා.CH_PD (Chip Select) සහ RST පින්ස් මේ මොඩියුල් එක ප්‍රෝග්‍රෑම් කිරීමේදී උවමනා වෙනවා.
                                                                හරි මෙතෙක් වෙනකන් දේවල් පැහැදිලි වෙන්න ඇති කියල උපකල්පනය කරලා.දැන් අපි බලමු මේක ප්‍රෝග්‍රෑම් කරන්න ඕන දේවල් මොනවාද කියල.ඇත්තටම මම පළවෙනියටම මේක ප්‍රෝග්‍රෑම් කරන්න උත්ස්සහ කලේ PL2303HX පාවිච්චි කරලා හදල තිබුණු UART (Universal Asynchronous Receiver/Transmitter) , ඇත්තටම මේකෙන් කරන්නේ පරණ පරිගණක වල තිබුණු සිරියල් පොර්ට් එහෙමත් නැත්තම් COM Port ක්‍රියාකාරීත්වය , USB හරහා ලබාදීම.කවුරුහරි මේ එකක් අරන් USB පොර්ට් එකට ප්ලග් කරලා , වින්ඩෝස් පරිගනකයක නම් ඩිවයිස් මැනේජර් (Device Manager) ට ගිහින් ඒ  යටතේ තියෙන Ports කියන නෝඩ් එක දිග හරියහම බලාගන්න පුළුවන් COM කියල පොර්ට් එකක් හැදිලා තියෙනවා. (ඩිවයිස්  මැනේජර් ඕපන් කරගන්න ඕන නම් පළවෙනියටම වින්ඩෝස් කී එක සහ R එක වර ඔබන්න , එතකොට Run කොමාන්ඩ් බොක්ස් එක එවි එකේ devmgmt.msc කියල ටයිප් කරලා Enter කී එක ඔබන්න ).
                                                                                                 තවත් වැදගත් කාරණයක් තමයි ඔය කියපු PL2303HX කියන UART එක මගේ වැඩවලට හරිගියේ නැහැ.ඒ ගැන වැඩි දුර හොයල බලපුවහම තමයි දැනගත්තේ එක ව්‍යාජ අනුකරණයක් එහෙමත් නැත්තම් Fake එකක් කියල.මොකද එකට ඔරිජිනල් PL2303 ඩ්‍රයිවර්ස් දැම්මත් ගන්නේ නැහැ .ඩිවයිස් මැනේජර් ගිහින් බැලුවහම එකේ කහපාට එක්ස්ක්ලමේෂන් මාර්ක් එකක් තියෙනවා .එක නිසා ebay.com එකෙන් ගෙන්වා ගන්නවනම් මේක නොගන්න වග බලා ගන්න.මේ ගැන වැඩි විස්තර ඕන නම් මෙන්න මේ ලින්ක් එකට යන්න http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41.
                                                                                                                     එක නිසා මම මගේ Arduino UNO R3 බෝර්ඩ් එක එවෙනුවට පාවිච්චි කළා.UART Adaptor  එකක් ගන්නවනම් FT232 , CH340 හෝ CP2102 වගේ එකක් ගන්න එක හොඳයි කියලයි මගේ පෞද්ගලික මතය.සාමාන්‍යයෙන් UART adaptor ගොඩක් දුරට එක හා සමානයි .පහතින් පෙන්වල තියෙන්නේ FT232 අයිසී එක තියෙන UART එකක් සහ ඊටපහලින් CH340.මේක ESP 01 එකත් එක්ක සම්බන්ද කරලා ප්‍රෝග්‍රෑම් එකක් අප්ලෝඩ් කරන හැටි ඉදිරි ලිපියකින්  විස්තර කරන්නම් 
FT232

CH340
මේකේ මුලික අත්හදා බැලීම් වලට UART එකක් , Bread Board එකක් LED කීපයක් , Jumper Wires female සහ Male වර්ග දෙකම , Wifi නම් ඉතින් ඕනමයි .එත් Wifi නැති යට අතිරේක වියදමක්  නැතුව Wifi ඇක්සස් පොයින්ට් එකක් හදා ගන්න හැටි මම කියල දෙන්නම් .Smart Phone එකක් තියෙන කෙනෙක්ට ඒක පාවිච්චි කරලා Wifi ඇක්සස් පොයින්ට් එකක් හදාගන්න පුළුවන් , Wifi Hotspot එනේබල් කරලා . ස්මාර්ට් ෆෝන් එකක් නැත්තම් , Wifi පහසුකම තියෙන Laptop එකක් හරි Desktop කම්පියුටර් එකක් තියෙනවනම් එකෙනුත් වැඩේ ගොඩ දාගන්න පුළුවන් ක්‍රමයක් තියෙනවා.එක මම මගේ අනෙක් බ්ලොග් එකේ එකියන්නේ http://networkingsl.blogspot.com කියන එකේ දාන්නම්.මීට අමතරව පොඩි පොඩි රෙසිස්ටර් කීපයක් ඕන වේවි .එකනම් ඕන වෙන්නේ කරන වැඩේ හැටියට.ඒවගේ Values මම වෙනම දෙන්නම් .
                     තවත් දෙයක් කියන්න ඕන මේකේ වැඩ කරගෙන යද්දී Network දැනුම , IP address වගේ දේවල් ටිකක් දැනගෙන තියෙන එක වැඩේ හොඳින් කරගෙන යන්න පහසුවක් වේවි .එකටත් ඔයාලට මගේ
Network බ්ලොග් එකෙන් දැනුම ලබාගන්න පුළුවන්.මොනවහරි තේරෙන්නේ නැති දෙයක් තියෙනවා නම් කමෙන්ට් කරන්න .මම උදව් කරන්නම් , දන්නේ නැත්තම් හොයල හරි දෙන්නම් .

IP Addressing (අයිපී  ඇඩ්රස් ගැන )

1. පලවෙනි කොටස 

2.දෙවන කොටස

3.තුන්වන කොටස 

4.හතරවන කොටස 

5.පස්වන කොටස 


Wifi (Wireless) (වයි ෆයි ගැන )
    
1.පලවන කොටස 

                                                               මීට අමතරව ESP 01 ප්‍රෝග්‍රෑම් කරන්න ගන්න සොෆ්ට්වෙයාර් 
සහ ටූල්ස් විදිහට අපිට පාවිච්චි කරන්න පුළුවන් Arduino IDE - Arduino Integrated Development Environment එක. ඔයාලට එක ඩවුන්ලෝඩ් කරගන්න පුළුවන් පහත තියෙන ලින්ක් එකෙන්.එක ඉන්ස්ටෝල් කර ගත්තයින් පස්සේ කරන්න දේවල් ටිකක් තියෙනවා ඒටික මම ඊළඟ ලිපියෙන් විස්තර කරන්නම්


ඉතින් වැඩේ පටන් ගන්න අවශ්‍ය මුලික දේවල් සහ අඩිතාලමට අදාල දේවල් සැහෙන ප්‍රමාණයක් කෙටියෙන් මේකේ දාන්න මම උත්සාහ කළා .එත් මොනවා හරි තේරෙන්නේ නැති කොටසක් හෝ මේකට ඇතුලත් වෙන්න ඕන තවත් දේවල් තියෙනවා කියල හිතෙනවා නම් කමෙන්ට් කරන්න .මම ඒවා ඇතුලත් කරන්නම් .
හැමදාමත් කියන දේ , මොනවහරි අඩු පාඩුවක්  වැරැද්දක් තියෙනවනම් එකත් කමෙන්ට කරන්න, එක මගේ ඉදිරි වැඩවලට උදව්වක් වේවි.

එහෙනම් තවත් ලිපියකින් හමුවෙමු !!!.
ජය වේවා !!!.





5 comments:

Copyright © 2013 Internet Of Things..