इस प्रोजेक्ट के बारे में
MOGWAI NANO माइक्रोकंट्रोलर के लिए एक स्क्रिप्टिंग इंजन है, जो .NET nanoFramework पर बना है। इसे डेस्कटॉप MOGWAI इंजन का पोर्ट नहीं, बल्कि एम्बेडेड बाधाओं को ध्यान में रखकर बनाया गया सहायक रनटाइम बताया गया है। आप PC पर MOGWAI NANO Studio में MOGWAI कोड लिखते हैं, नेटवर्क पर डिवाइस खोजते हैं, और उस कोड को WiFi के जरिए हार्डवेयर पर दूर से चलाते हैं।
यह कैसे काम करता है: सिंटैक्टिक शुगर (if/then/else, while/do, for/do, forever do, टाइमर, आदि) के साथ लिखा गया कोड डेस्कटॉप पर canonical RPN में desugar किया जाता है, फिर डिवाइस पर भेजा जाता है। डिवाइस केवल इसी न्यूनतम रूप को चलाता है — एक टोकनाइज़र, एक स्टैक और एक प्रिमिटिव डिस्पैचर — जिससे फर्मवेयर छोटा रहता है। README बताता है कि canonical प्रिमिटिव निजी हैं और स्वतः जनरेट होते हैं, इन्हें हाथ से टाइप करने के लिए नहीं बनाया गया।
भाषा और हार्डवेयर विशेषताएँ:
- अंकगणित, तुलना, नियंत्रण प्रवाह, उपयोगकर्ता-परिभाषित फ़ंक्शन, संदर्भ, skills और flags, संरचित त्रुटि प्रबंधन (trap/guard)
- GPIO, I2C, SPI, PWM, ADC, और एक समर्पित SSD1306 OLED डिस्प्ले ड्राइवर
- समानांतर निष्पादन के लिए Tasks, प्रत्येक अपने अलग native थ्रेड पर एक पृथक रनटाइम इंस्टेंस के साथ, जो इवेंट के जरिए पैरेंट से संवाद करता है
- दो कॉन्फ़िगर करने योग्य मोड (mogwai.frugalMode) वाला lazy-parsing निष्पादन मॉडल
- "units" नामक पुन: प्रयोज्य कोड लाइब्रेरी, फ्लैश पर संग्रहीत और माँग पर लोड होती हैं
- one-shot और आवर्ती टाइमर, नामित स्टॉपवॉच
- Events, जिनमें डेटा MOGRecord के जरिए पहुँचाया जाता है
- UDP discovery के साथ TCP संचार, और डिस्कनेक्शन का पता लगाना
- स्टैंडअलोन परिनियोजन के लिए स्थायी autorun
मेमोरी संबंधी विचारों पर विस्तार से चर्चा की गई है। एक साधारण ESP32 लगभग 40KB मुक्त RAM छोड़ता है, जो README के अनुसार सरल स्क्रिप्ट के लिए पर्याप्त है, लेकिन लंबे समय तक चलने या कई सबसिस्टम वाले कार्यभार में fragmentation और allocation विफलताओं की संभावना रहती है। PSRAM वाला बोर्ड, जैसे ESP32-S3, को मान्य संदर्भ प्लेटफ़ॉर्म के रूप में प्रस्तुत किया गया है और समग्र परियोजनाओं के लिए अनुशंसित किया गया है। Tasks पर लगभग 10KB प्रत्येक की लागत बताई गई है और ये व्यावहारिक रूप से केवल PSRAM के साथ ही संभव हैं। README नोट करता है कि PSRAM-सक्षम nanoFramework टारगेट वाला classic ESP32/WROVER तुलनीय रूप से काम करना चाहिए, लेकिन लेखकों ने इसका परीक्षण नहीं किया है।
समर्थित प्लेटफ़ॉर्म तालिका: ESP32 का परीक्षण छोटी एकल-उद्देश्य स्क्रिप्ट के लिए किया गया; PSRAM वाला ESP32-S3 परीक्षित और अनुशंसित; PSRAM वाला classic ESP32/WROVER अपरीक्षित; Raspberry Pi Pico W वर्तमान में समर्थित नहीं (ESP32-विशिष्ट पिन कॉन्फ़िगरेशन ने Pico बिल्ड तोड़ दिए, पुनर्गठन के बाद वापसी की योजना है); STM32 और TI को काम करने योग्य बताया गया है लेकिन अपरीक्षित।
MOGWAI NANO Studio एक Avalonia-आधारित डेस्कटॉप साथी है, जिसमें अपना कोड एडिटर, स्थानीय और डिवाइस आउटपुट के लिए अलग live console टैब, फ़ाइल प्रबंधन, और light/dark थीम हैं। 0.5 तक एक पुराना console-आधारित Studio था और 0.6 से इसे बनाए नहीं रखा गया है।
रिलीज़ में डिवाइस फर्मवेयर (MogwaiNano.bin) और प्रत्येक प्लेटफ़ॉर्म के लिए self-contained Studio आर्काइव (win-x64, linux-x64, linux-arm64, osx-x64, osx-arm64) संलग्न होते हैं। Quick start में nanoff के साथ फर्मवेयर फ्लैश करना, power-cycle करना, एप्लिकेशन deploy करना, wifi.json फ़ाइल के जरिए WiFi कॉन्फ़िगर करना, और LED ब्लिंक करने वाला पहला प्रोग्राम चलाना शामिल है। README विशिष्ट quirks दर्ज करता है: ESP32_REV3 पर स्पष्ट --address 0x1E0000 आवश्यक है और यह --update से अलग कमांड होना चाहिए; पहली फ्लैश पर --masserase की सलाह दी जाती है; ESP32-S3 फ्लैशिंग में कई मिनट लग सकते हैं।
दस्तावेज़ीकरण में getting started गाइड, device primitives संदर्भ, nano.* कमांड सेट के लिए Studio primitives संदर्भ, और ESP32 DeviceFunction मानों की lookup तालिका शामिल है। Roadmap में पूर्ण किए गए आइटम जैसे I2C, SSD1306, PWM/ADC, SPI (पूरी तरह MOGWAI NANO स्क्रिप्ट में लिखे MFRC522 RFID ड्राइवर के साथ मान्य), ESP32-S3/PSRAM मान्यता, tasks, units लाइब्रेरी सिस्टम, और Studio GUI सूचीबद्ध हैं; लंबित आइटमों में binary/bit manipulation समर्थन, STM32 और TI मान्यता, BLE, dynamic PE लोडिंग, और साझा core तथा प्रति-प्लेटफ़ॉर्म भागों में पुनर्गठन शामिल हैं।
परियोजना Apache 2.0 के अंतर्गत लाइसेंस प्राप्त है। यह सहायता के लिए nanoFramework योगदानकर्ता Laurent Ellerbach को श्रेय देती है, और डेस्कटॉप MOGWAI परियोजना तथा .NET nanoFramework के लिंक देती है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.