প্রকল্প সম্পর্কে

JarvisNano হলো ফার্মওয়্যার যা Waveshare ESP32-S3-Touch-AMOLED-1.75C কে একটি ছোট, সর্বদা-উপলব্ধ ডেস্ক সহকারীতে পরিণত করে। স্ট্যান্ডঅ্যালোন মোডে ESP32-S3 মাইক্রোফোন থেকে Gemini Live-এ স্ট্রিম করে, ES8311 স্পিকার পাথে নেটিভ 24 kHz-এ উত্তর প্লে করে এবং একটি একক কম্পোজিটর দিয়ে 466x466 রাউন্ড AMOLED চালায়; কোনো ফোন বা হাব প্রয়োজন নেই। একটি স্পষ্টভাবে পেয়ার করা ZeroChat ফোন পরিবর্তে প্রদর্শিত ছয়-সংখ্যার পেয়ারিং কোড দাবি করতে পারে, একটি প্রাইভেট Wi-Fi অপারেটর লিজ ধারণ করতে পারে, 16 kHz মাইক্রোফোন PCM গ্রহণ করতে পারে, নিজের ব্রেইন চালাতে পারে এবং ডিভাইস স্পিকারে 24 kHz স্পিচ PCM ফেরত দিতে পারে। 1.75C হলো পণ্য এবং একমাত্র সমর্থিত বিল্ড টার্গেট; মূল Waveshare 1.75 এবং Seeed XIAO ট্র্যাকগুলো হার্ডওয়্যার রেফারেন্স হিসেবে রাখা হয়েছে। ইন্টারঅ্যাকশন ভয়েস-ফার্স্ট: "Jarvis" বলুন বা PWR চাপুন, তারপর কথা বলুন, এবং উত্তরের উপর কথা বলে তা বাধা দেওয়া যায়। কেন্দ্রে সোয়াইপ করলে স্ক্রিনের একটি রিং ঘোরে (JARVIS, WATCH, WEATHER, STATUS, ACTIVITY, এবং সঙ্গী লাইভ থাকলে DESK), প্রতিটি সেটিংস পেজের বদলে একটি লাইভ রিডিং দেখায়। একটি খোলা শীটে ট্যাপ করলে Jarvis স্ক্রিনে যা দেখানো হচ্ছে তা বলে। STATUS ব্যাটারি, চার্জার, dBm সহ Wi-Fi বার, সেশন ও টুল ল্যাম্প, ঠিকানা, চিপ তাপমাত্রা, CPU গিয়ার, রেডিও মোড এবং আপটাইম রিপোর্ট করে। প্রাইভেসি শারীরিক: গ্লাস ধরে রাখা, ডিভাইস মুখ-নিচু করা, বা কেন্দ্রীয় নিয়ন্ত্রণ চাপলে মাইক মিউট হয়, যা একটি সোনালী রিং এবং একটি বন্ধ সোনালী স্লিট দ্বারা নির্দেশিত হয়। ব্যাটারিতে একা ছেড়ে দিলে ডিভাইস বিশ্রাম নেয়, ডিম করে এবং ডিপ-স্লিপে যায়, তোলা বা স্পর্শে জেগে ওঠে। হার্ডওয়্যারে রয়েছে ESP32-S3R8 ডুয়াল-কোর 240 MHz SoC, CO5300 QSPI AMOLED, CST9217 টাচ, ES7210 প্লাস ES8311 অডিও, Wake-on-Motion সহ QMI8658 IMU, AXP2101 PMIC, 8 MB অক্টাল PSRAM এবং 32 MB ফ্ল্যাশ যাতে দুটি 4 MB OTA স্লট রয়েছে। C রিভিশনে TCA9554, RTC বা মাইক্রোSD স্লট নেই; সময় SNTP-সমর্থিত। লাইভ সক্ষমতার মধ্যে রয়েছে WakeNet ওয়েক ওয়ার্ড, সার্ভার VAD এবং AEC সহ সরাসরি Gemini Live ডুপ্লেক্স সেশন; স্পিকারের পিছনে একটি অ্যাডাপ্টিভ জিটার বাফার; তিনটি সেশন ওয়াচডগ (কিপঅ্যালাইভ, নো-রিপ্লাই, আনউত্তরড-অটারেন্স); ওয়েব সার্চ ও সংবাদ, আবহাওয়া, উইকিপিডিয়া, দাম, বিনিময় হার, টাইম জোন, অনুবাদ, গবেষণা পত্র এবং ডিভাইস লেভেলের জন্য ভয়েস টুল, ডিভাইসে প্রয়োগ করা একটি রিড-অনলি অ্যালাউলিস্টের পিছনে; ঐচ্ছিক ZeroChat সঙ্গী মোড; ডিপ স্লিপে শেষ হওয়া একটি রেস্ট ল্যাডার; শারীরিক কর্তৃত্ব যা সিন্থেটিক ইনপুট ওভাররাইড করতে পারে না; এবং প্রিফ্লাইট, প্রবেশন ও রোলব্যাক সহ ডুয়াল-স্লট OTA। হোস্ট-পরীক্ষিত রেন্ডারিং রিং, শীট এবং HUD-এ 556টি চেক কভার করে। রিপোজিটরি main/ কে কম্পোজিশন রুট এবং HTTP রুট কর্তৃত্ব হিসেবে কেন্দ্র করে সংগঠিত, সাথে components/jr_core (বিশুদ্ধ সেশন ও রেস্ট-ল্যাডার স্টেট), jr_transport (Gemini ফ্রেমিং ও WebSocket), jr_audio, jr_display, jr_tools, jr_imu, jr_power এবং jr_net, প্লাস একটি বোর্ড ডেফিনিশন, বিল্ড/ফ্ল্যাশ/OTA/QA-এর জন্য স্ক্রিপ্ট এবং বিস্তৃত ডকুমেন্টেশন। বিল্ডগুলো scripts/build-v5.sh এবং scripts/flash-v5.sh এর মাধ্যমে espressif/idf:v5.5.4-এ পিন করা Docker ব্যবহার করে; একটি চলমান ডিভাইস USB-JTAG-এর বদলে scripts/jarvisctl.py ota দিয়ে Wi-Fi-এর মাধ্যমে আপডেট হয়। সিকিউরিটি নোট স্পষ্ট: সিক্রেটগুলো ডিভাইস NVS বা হোস্ট কীচেইনে থাকে, কিন্তু NVS আজ আনএনক্রিপ্টেড, তাই ফিজিক্যাল ফ্ল্যাশ অ্যাক্সেস Wi-Fi, Gemini এবং JarvisMCP ক্রেডেনশিয়াল প্রকাশ করে। টুলগুলো JarvisMCP-এ একটি লিগ্যাসি /act রুটের মাধ্যমে পৌঁছায় যার বিয়ারার সম্পূর্ণ গেটওয়ে কর্তৃত্ব বহন করে, তাই ডিভাইস একটি রিড-অনলি অ্যালাউলিস্ট প্রয়োগ করে; সার্ভার-সাইড ক্যাপাবিলিটি পলিসি সহ একটি টাইপড /device/v1/invoke রুট উদ্দেশ্যপ্রণোদিত কিন্তু প্রোভিশন করা হয়নি। রিলিজের আগে JR_DEV_OPEN_DIAGNOSTICS অবশ্যই 0 হতে হবে, এবং সাইনড ইমেজ, প্রমাণিত এনক্রিপ্টেড আপলোড এবং NVS/ফ্ল্যাশ এনক্রিপশন রিলিজ গেট হিসেবে রয়ে গেছে। প্রকল্পটি Apache-2.0।