# Wio Terminal [Seeed Studios को Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) एक Arduino-संगत माइक्रोकन्ट्रोलर हो, जसमा WiFi र केही सेन्सर तथा एक्ट्युएटरहरू निर्मित छन्। साथै, [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) नामक हार्डवेयर इकोसिस्टम प्रयोग गरेर थप सेन्सर र एक्ट्युएटरहरू जोड्न सकिन्छ। ![Seeed Studios को Wio Terminal](../../../../../translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.ne.png) ## सेटअप Wio Terminal प्रयोग गर्नको लागि तपाईंले आफ्नो कम्प्युटरमा केही निःशुल्क सफ्टवेयर स्थापना गर्नुपर्नेछ। साथै, WiFi मा जडान गर्नुअघि Wio Terminal को फर्मवेयर अपडेट गर्नुपर्नेछ। ### कार्य - सेटअप आवश्यक सफ्टवेयर स्थापना गर्नुहोस् र फर्मवेयर अपडेट गर्नुहोस्। 1. Visual Studio Code (VS Code) स्थापना गर्नुहोस्। यो सम्पादक तपाईंले C/C++ मा आफ्नो उपकरणको कोड लेख्न प्रयोग गर्नुहुनेछ। VS Code स्थापना गर्ने निर्देशिका [VS Code दस्तावेज](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) मा हेर्नुहोस्। > 💁 Arduino विकासको लागि अर्को लोकप्रिय IDE [Arduino IDE](https://www.arduino.cc/en/software) हो। यदि तपाईं यस उपकरणसँग पहिले नै परिचित हुनुहुन्छ भने, तपाईं यसलाई VS Code र PlatformIO को सट्टा प्रयोग गर्न सक्नुहुन्छ। तर, पाठहरूले VS Code प्रयोग गर्ने आधारमा निर्देशन दिनेछन्। 1. VS Code PlatformIO एक्सटेन्सन स्थापना गर्नुहोस्। यो VS Code को लागि एक एक्सटेन्सन हो जसले C/C++ मा माइक्रोकन्ट्रोलर प्रोग्रामिङलाई समर्थन गर्दछ। यो एक्सटेन्सन VS Code मा कसरी स्थापना गर्ने भन्ने निर्देशिका [PlatformIO एक्सटेन्सन दस्तावेज](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=platformio.platformio-ide) मा हेर्नुहोस्। यो एक्सटेन्सनले Microsoft C/C++ एक्सटेन्सनमा निर्भर गर्दछ, जुन PlatformIO स्थापना गर्दा स्वतः स्थापना हुन्छ। 1. आफ्नो Wio Terminal कम्प्युटरमा जडान गर्नुहोस्। Wio Terminal को तल्लो भागमा USB-C पोर्ट छ, जसलाई कम्प्युटरको USB पोर्टमा जडान गर्नुपर्छ। Wio Terminal सँग USB-C देखि USB-A केबल आउँछ। तर, यदि तपाईंको कम्प्युटरमा मात्र USB-C पोर्टहरू छन् भने, तपाईंलाई USB-C केबल वा USB-A देखि USB-C एडाप्टर चाहिन्छ। 1. [Wio Terminal Wiki WiFi Overview दस्तावेज](https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/) मा दिइएका निर्देशनहरू पालना गरेर आफ्नो Wio Terminal सेटअप गर्नुहोस् र फर्मवेयर अपडेट गर्नुहोस्। ## हेलो वर्ल्ड नयाँ प्रोग्रामिङ भाषा वा प्रविधि सुरु गर्दा परम्परागत रूपमा 'Hello World' एप्लिकेसन बनाइन्छ - एउटा सानो एप्लिकेसन जसले `"Hello World"` जस्तो पाठ आउटपुट गर्छ ताकि सबै उपकरणहरू सही रूपमा कन्फिगर भएको प्रमाणित होस्। Wio Terminal को लागि Hello World एपले सुनिश्चित गर्छ कि तपाईंले Visual Studio Code सही रूपमा PlatformIO सहित स्थापना गर्नुभएको छ र माइक्रोकन्ट्रोलर विकासको लागि सेटअप गर्नुभएको छ। ### PlatformIO प्रोजेक्ट बनाउनुहोस् पहिलो चरण PlatformIO प्रयोग गरेर Wio Terminal को लागि कन्फिगर गरिएको नयाँ प्रोजेक्ट बनाउनु हो। #### कार्य - PlatformIO प्रोजेक्ट बनाउनुहोस् PlatformIO प्रोजेक्ट बनाउनुहोस्। 1. Wio Terminal कम्प्युटरमा जडान गर्नुहोस्। 1. VS Code सुरु गर्नुहोस्। 1. PlatformIO आइकन साइड मेनु बारमा हुनेछ: ![Platform IO मेनु विकल्प](../../../../../translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.ne.png) यो मेनु आइटम चयन गर्नुहोस्, त्यसपछि *PIO Home -> Open* चयन गर्नुहोस्। ![Platform IO ओपन विकल्प](../../../../../translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.ne.png) 1. स्वागत स्क्रीनबाट **+ New Project** बटन चयन गर्नुहोस्। ![नयाँ प्रोजेक्ट बटन](../../../../../translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.ne.png) 1. *Project Wizard* मा प्रोजेक्ट कन्फिगर गर्नुहोस्: 1. आफ्नो प्रोजेक्टको नाम `nightlight` राख्नुहोस्। 1. *Board* ड्रपडाउनबाट `WIO` टाइप गरेर बोर्डहरू फिल्टर गर्नुहोस्, र *Seeeduino Wio Terminal* चयन गर्नुहोस्। 1. *Framework* लाई *Arduino* नै राख्नुहोस्। 1. *Use default location* चेकबक्स चेक गरिएको छोड्नुहोस्, वा अनचेक गरेर आफ्नो प्रोजेक्टको स्थान चयन गर्नुहोस्। 1. **Finish** बटन चयन गर्नुहोस्। ![पूरा भएको प्रोजेक्ट विजार्ड](../../../../../translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.ne.png) PlatformIO ले Wio Terminal को लागि कोड कम्पाइल गर्न आवश्यक कम्पोनेन्टहरू डाउनलोड गर्नेछ र तपाईंको प्रोजेक्ट बनाउनेछ। यसमा केही मिनेट लाग्न सक्छ। ### PlatformIO प्रोजेक्ट अन्वेषण गर्नुहोस् VS Code एक्सप्लोररले PlatformIO विजार्डले बनाएका विभिन्न फाइलहरू र फोल्डरहरू देखाउनेछ। #### फोल्डरहरू * `.pio` - यो फोल्डरमा PlatformIO द्वारा आवश्यक अस्थायी डेटा हुन्छ, जस्तै लाइब्रेरीहरू वा कम्पाइल गरिएको कोड। यदि मेटाइयो भने यो स्वतः पुनः बनाइन्छ, र तपाईंले यो GitHub जस्ता साइटहरूमा आफ्नो प्रोजेक्ट साझा गर्दा स्रोत कोड नियन्त्रणमा थप्न आवश्यक छैन। * `.vscode` - यो फोल्डरमा PlatformIO र VS Code द्वारा प्रयोग गरिएको कन्फिगरेसन हुन्छ। यदि मेटाइयो भने यो स्वतः पुनः बनाइन्छ, र तपाईंले यो GitHub जस्ता साइटहरूमा आफ्नो प्रोजेक्ट साझा गर्दा स्रोत कोड नियन्त्रणमा थप्न आवश्यक छैन। * `include` - यो फोल्डरमा अतिरिक्त हेडर फाइलहरू हुन्छन्, जब तपाईं आफ्नो कोडमा थप लाइब्रेरीहरू थप्नुहुन्छ। तपाईंले यी पाठहरूमा यो फोल्डर प्रयोग गर्नुहुने छैन। * `lib` - यो फोल्डरमा बाह्य लाइब्रेरीहरू हुन्छन्, जसलाई तपाईं आफ्नो कोडबाट कल गर्न सक्नुहुन्छ। तपाईंले यी पाठहरूमा यो फोल्डर प्रयोग गर्नुहुने छैन। * `src` - यो फोल्डरमा तपाईंको एप्लिकेसनको मुख्य स्रोत कोड हुन्छ। सुरुमा, यसमा एउटा मात्र फाइल हुनेछ - `main.cpp`। * `test` - यो फोल्डरमा तपाईंको कोडका युनिट टेस्टहरू राख्न सकिन्छ। #### फाइलहरू * `main.cpp` - `src` फोल्डरमा रहेको यो फाइल तपाईंको एप्लिकेसनको प्रवेश बिन्दु हो। यो फाइल खोल्नुहोस्, र यसमा निम्न कोड हुनेछ: ```cpp #include void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: } ``` जब उपकरण सुरु हुन्छ, Arduino फ्रेमवर्कले `setup` फङ्सनलाई एकपटक चलाउँछ, त्यसपछि `loop` फङ्सनलाई उपकरण बन्द नभएसम्म बारम्बार चलाउँछ। * `.gitignore` - यो फाइलमा Git स्रोत कोड नियन्त्रणमा थप्न नपर्ने फाइलहरू र फोल्डरहरूको सूची हुन्छ, जस्तै GitHub मा अपलोड गर्दा। * `platformio.ini` - यो फाइलमा तपाईंको उपकरण र एपको कन्फिगरेसन हुन्छ। यो फाइल खोल्नुहोस्, र यसमा निम्न कोड हुनेछ: ```ini [env:seeed_wio_terminal] platform = atmelsam board = seeed_wio_terminal framework = arduino ``` `[env:seeed_wio_terminal]` सेक्सनमा Wio Terminal को कन्फिगरेसन हुन्छ। तपाईंको कोडलाई विभिन्न बोर्डहरूको लागि कम्पाइल गर्नका लागि तपाईंले धेरै `env` सेक्सनहरू राख्न सक्नुहुन्छ। अन्य मानहरू प्रोजेक्ट विजार्डको कन्फिगरेसनसँग मेल खान्छन्: * `platform = atmelsam` Wio Terminal ले प्रयोग गर्ने हार्डवेयरलाई परिभाषित गर्छ (ATSAMD51-आधारित माइक्रोकन्ट्रोलर) * `board = seeed_wio_terminal` माइक्रोकन्ट्रोलर बोर्डको प्रकारलाई परिभाषित गर्छ (Wio Terminal) * `framework = arduino` यो प्रोजेक्ट Arduino फ्रेमवर्क प्रयोग गरिरहेको छ भन्ने परिभाषित गर्छ। ### हेलो वर्ल्ड एप लेख्नुहोस् अब तपाईं हेलो वर्ल्ड एप लेख्न तयार हुनुहुन्छ। #### कार्य - हेलो वर्ल्ड एप लेख्नुहोस् हेलो वर्ल्ड एप लेख्नुहोस्। 1. VS Code मा `main.cpp` फाइल खोल्नुहोस्। 1. कोडलाई निम्नसँग मिलाउनुहोस्: ```cpp #include void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); } void loop() { Serial.println("Hello World"); delay(5000); } ``` `setup` फङ्सनले सिरियल पोर्टसँग जडान सुरु गर्छ - यस अवस्थामा, USB पोर्ट जसले Wio Terminal लाई तपाईंको कम्प्युटरसँग जडान गर्छ। `9600` पैरामिटर [baud rate](https://wikipedia.org/wiki/Symbol_rate) (सिम्बोल दर) हो, वा सिरियल पोर्टमा प्रति सेकेन्ड बिट्समा डेटा पठाउने गति। यो सेटिङले प्रति सेकेन्ड 9,600 बिट्स (0 र 1) डेटा पठाउँछ। त्यसपछि यो सिरियल पोर्ट तयार हुने प्रतीक्षा गर्छ। `loop` फङ्सनले सिरियल पोर्टमा `Hello World!` लाइन पठाउँछ, जसले `Hello World!` को अक्षरहरू नयाँ लाइन क्यारेक्टरसहित पठाउँछ। त्यसपछि यो 5,000 मिलिसेकेन्ड वा 5 सेकेन्डको लागि सुत्छ। `loop` समाप्त भएपछि, यो फेरि चल्छ, र यसरी उपकरण अन रहँदासम्म बारम्बार चल्छ। 1. आफ्नो Wio Terminal लाई अपलोड मोडमा राख्नुहोस्। तपाईंले उपकरणमा नयाँ कोड अपलोड गर्दा हरेक पटक यो गर्नुपर्नेछ: 1. पावर स्विचलाई दुई पटक छिटो तल तान्नुहोस् - यो प्रत्येक पटक अन स्थितिमा फर्किन्छ। 1. USB पोर्टको दायाँपट्टि रहेको नीलो स्टाटस LED जाँच गर्नुहोस्। यो पल्सिङ हुनु पर्नेछ। [![Wio Terminal लाई अपलोड मोडमा कसरी राख्ने](https://img.youtube.com/vi/LeKU_7zLRrQ/0.jpg)](https://youtu.be/LeKU_7zLRrQ) माथिको छवि क्लिक गरेर यसलाई कसरी गर्ने भन्ने भिडियो हेर्नुहोस्। 1. कोडलाई Wio Terminal मा अपलोड गर्नुहोस्। 1. VS Code कमाण्ड प्यालेट खोल्नुहोस्। 1. `PlatformIO Upload` टाइप गरेर अपलोड विकल्प खोज्नुहोस्, र *PlatformIO: Upload* चयन गर्नुहोस्। ![PlatformIO अपलोड विकल्प कमाण्ड प्यालेटमा](../../../../../translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.ne.png) PlatformIO ले आवश्यक परेमा कोडलाई अपलोड गर्नु अघि स्वतः कम्पाइल गर्नेछ। 1. कोड कम्पाइल गरिनेछ र Wio Terminal मा अपलोड गरिनेछ। > 💁 यदि तपाईं macOS प्रयोग गर्दै हुनुहुन्छ भने, *DISK NOT EJECTED PROPERLY* को सूचना देखा पर्नेछ। यो Wio Terminal फ्ल्यासिङ प्रक्रियाको भागको रूपमा ड्राइभको रूपमा माउन्ट हुन्छ, र कम्पाइल गरिएको कोड उपकरणमा लेख्दा डिस्कनेक्ट हुन्छ। तपाईंले यो सूचनालाई बेवास्ता गर्न सक्नुहुन्छ। ⚠️ यदि अपलोड पोर्ट उपलब्ध नभएको त्रुटि देखिन्छ भने, पहिले सुनिश्चित गर्नुहोस् कि तपाईंले Wio Terminal लाई आफ्नो कम्प्युटरसँग जडान गर्नुभएको छ, र स्क्रिनको बायाँपट्टि रहेको स्विच प्रयोग गरेर अन गर्नुभएको छ, र अपलोड मोडमा सेट गर्नुभएको छ। तल्लो भागमा हरियो बत्ती अन हुनु पर्नेछ, र नीलो बत्ती पल्सिङ हुनु पर्नेछ। यदि त्रुटि अझै देखिन्छ भने, पावर स्विचलाई फेरि दुई पटक छिटो तल तान्नुहोस् र Wio Terminal लाई अपलोड मोडमा जबरजस्ती राख्नुहोस् र अपलोड पुन: प्रयास गर्नुहोस्। PlatformIO मा एक सिरियल मोनिटर छ जसले Wio Terminal बाट USB केबलमार्फत पठाइएको डेटा निगरानी गर्न सक्छ। यसले `Serial.println("Hello World");` कमाण्डले पठाएको डेटा निगरानी गर्न अनुमति दिन्छ। 1. VS Code कमाण्ड प्यालेट खोल्नुहोस्। 1. `PlatformIO Serial` टाइप गरेर सिरियल मोनिटर विकल्प खोज्नुहोस्, र *PlatformIO: Serial Monitor* चयन गर्नुहोस्। ![PlatformIO सिरियल मोनिटर विकल्प कमाण्ड प्यालेटमा](../../../../../translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.ne.png) नयाँ टर्मिनल खुल्नेछ, र सिरियल पोर्टबाट पठाइएको डेटा यस टर्मिनलमा स्ट्रिम गरिनेछ: ```output > Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Hello World Hello World ``` `Hello World` हरेक 5 सेकेन्डमा सिरियल मोनिटरमा प्रिन्ट हुनेछ। > 💁 तपाईं यो कोड [code/wio-terminal](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/wio-terminal) फोल्डरमा पाउन सक्नुहुन्छ। 😀 तपाईंको 'Hello World' प्रोग्राम सफल भयो! --- **अस्वीकरण**: यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी यथार्थताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।