برد هوش مصنوعی Sipeed سیم کارت GSM - GPRS

دریافت صدا از کاربر و ارسال پیامک متنی معادل صدا با Maixduino و SIM800L

voice-recognition-with-sipeed-m1-maixduino-and-text-sms-sim800l-digispark
نوشته شده توسط معین صابری

برد Maixduino یکی از بردهای فوق العاده قدرتمند در زمینه هوش مصنوعی به شمار می رود. این برد قادر به اجرای الگوریتم های پردازش صوت و تصویر با قابلیت طبقه بندی اشیاست. این برد بر روی خود از پردازنده قدرتمند K210 جهت اجرای الگوریتم های هوش مصنوعی بهره می برد. به کمک این برد و بدون نیاز به هیچ پردازنده اضافی، می تواند به اجرای شبکه های عصبی بر روی آن بپردازید. پیشتر در سلسله آموزشی نحوه راه اندازی و کار با این برد جادویی را شرح داده ایم. این سلسله آموزش با کلیک بر روی این لینک قابل دسترسی است. در آموزش دریافت صوت و ارسال پیامک به دریافت صدا از کاربر می پردازیم. چنانچه این صدا با صداهای از پیش ذخیره شده در حافظه برد یکسان بود، عبارت متنی معادل آن را به کاربر پیامک خواهیم نمود. در ادامه این آموزش با مرجع تخصصی برد هوش مصنوعی Sipeed به زبان فارسی و مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.

 


ساز و کار سیستم دریافت صوت و ارسال پیامک


پیش از آنکه وارد کدها و شماتیک مدار شویم، بهتر است به صورت خلاصه به عملکرد پروژه بپردازیم. در این پروژه برد Maixduio منتظر دریافت صدای کاربر می شود. پس از دریافت این صدا، با صداهایی که از پیش در حافظه آن قررا گرفته، مقایسه ای را انجام می دهد. پس از انجام مقایسه، چنانچه صدای دریافت شده با الگوهای صوتی از پیش ذخیره شده یکسان باشد، عبارت متنی معادل صدا را به شماره از پیش تعیین شده پیامک خواهد نمود.

ساز و کار سیستم دریافت صوت و ارسال پیامک - دیجی اسپارک

 

جهت ارسال پیام متنی معادل صوت تشخیص داده شده، از سه الگوی از پیش تعریف شده توسط Maixduino استفاده می کنیم. در حقیقت درون حافظه برد هوش مصنوعی Maixduino الگوی صوتی سه کلمه زیر قرار گرفته است.

  • GREEN
  • RED
  • BLUE

در این آموزش چنانچه برد هوشن مصنوعی Maixduino به کمک پردازنده K210 هر یک از این عبارات را تشخیص دهد، با ارسال فرمان به ماژول SIM800L، متن معادل صوت دریافت شده را به شماره از پیش تعریف شده ارسال خواهد نمود. در قسمت بعد به پردازنده K210 و خصوصیات برد Maixduino بیشتر می پردازیم.

 


برد هوش مصنوعی Maixduino


اگر قرار باشد یکی از فناوری های روز دنیا را نام ببریم، به طور قطع می توانیم به هوش مصنوعی اشاره کنیم. از طرف دیگر با رشد روز افزون دستگاه های متصل به اینترنت، شبکه اینترنت اشیا به طور کامل در حال در برگیری محیط پیرامون ماست. در کنار این، از ترکیب تو مفهوم IOT و AI، مفهوم جدیدی به نام AIOT شکل می گیرد. مفهومی که برد Maixduino با قابلیت پردازش صوت و تصویر در کنار اتصال به اینترنت، در خود جای داده است.

برد هوش مصنوعی Maixduino - دیجی اسپارک

 

برد Maixduino که ظاهری شبیه به آردوینو UNO دارد، به کمک دستورات آردوینو و پایتون برنامه نویسی می شود. این برد از یک پردازنده ۶۴ بیتی نسل پنجم RISC بهره می برد. این پردازنده دارای واحد FPU جهت محاسبات اعشاری و KPU به منظور واحد یادگیری ماشین است. جهت اطلاعات بیشتر در رابطه با این برد، مطالعه قسمت اول سلسله اموزش این برد را با کلیک بر روی این لینک، پیشنهاد می شود. در این آموزش با توجه به واحد پردازش صوت، آنطور که پیشتر گفتیم، صدا از کاربر دریافت شده و با مقایسه الگوهای صوتی از پیش تعریف شده، در صورت یافتن صدای مورد نظر متن معادل آن به کمک ماژول SIM800L پیامک می شود.

 


ماژول SIM800L


پس از بررسی برد Maixduino، نوبت به ماژول SIM800L می رسد. همانطور که پیشتر گفته شد، در این پروژه با دریافت صدا و مقایسه صدای ورودی با الگوهای صوتی، در صورت یافت صدا در حافظه، به شماره از پیش تعیین شده کاربر پیام متنی ارسال می گردد. جهت ارسال پیامک به کاربر از ماژول سیم کارت SIM800L استفاده می کنیم. ماژول SIM800L یک ماژول فوق العاده کاربردی جهت برقراری تماس تلفنی، پیامک، اتصال به اینترنت و….. است.

ماژول SIM800L در پروژه هوش مصنوعی maixduino - دیجی اسپارک

 

جهت راه اندازی و کار با ماژول SIM800L سلسله آموزشی در دیجی اسپارک منتشر شده است. این سلسله آموزش از صفر تا ۱۰۰ در رابطه با نحوه راه اندازی، پیامک، تماس، اینترنت و…  صحبت کرده ایم. این سلسله آموزش با کلیک بر روی این لینک قابل دسترسی است.

توجه: از آنجاییکه بازه تغذیه ماژول SIM800L بین ۳٫۴ الی ۴٫۴ است، ما جهت راه اندازی آن در این آموزش از یک باتری لیتیم پلیمری با ظرفیت ۱۵۰۰ میلی آمپر اسمی استفاده کرده ایم.

 


شماتیک و اتصالات دریافت صوت و ارسال پیامک


پس از بررسی ماژول های به کار رفته در پروژه، نوبت به شماتیک و اتصالات می رسد. در ابتدا به تصویر زیر که فرم کلی اتصالات را نمایش می دهد، توجه کنید.

شماتیک و اتصالات پروژه هوش مصنوعی با Sim800L - دیجی اسپارک

 

پس از بررسی شمای کلی اتصالات، نحوه سیم کشی را به شکل زیر اجرا می کنیم.

  • اتصال کابل مثبت باتری به پایه VCC ماژول SIM800L
  • اتصال کابل منفی باتری به پایه GND ماژول SIM800L
  • اتصال پایه شماره ۲ برد Maixduino به صورت سری با یک مقاومت یک کیلو اهمی به پایه TX ماژول SIM800L
  • اتصال پایه شماره ۳ برد Maixduino به پایه RX ماژول SIM800L
  • اتصال پایه GND ماژول SIM800L به یکی از پایه های GND برد Maixduino

توجه: تغذیه برد Maixduino از طریق کابل USB تامین می گردد.

پس از برقراری اتصالات نوبت به کدهای پروژه می رسد. قسمت بعدی را به این موضوع اختصاص می دهیم.

 


کدهای پروژه دریافت صوت و ارسال پیامک


در قسمت پیش به برقراری اتصالات و سیم کشی های مدار پرداختیم. در این قسمت کدهای پروژه را مشاهده می کنید. توجه داشته باشید که کدهای این پروژه به دو قسمت تقسیم می گردد. یک قسمت مربوط به سورس کد و قسمت دیگر فایل هدر مربوط به الگوهای صوتی است. همچنین برای آپلود این کدها می بایست هسته Maixduino را پیشتر روی نرم افزار آردوینو نصب کرده باشید. در صوتیکه هسته نرم افزاری را نصب نکرده اید، با کلیک بر روی این لینک آموزش آن را مطالعه کنید. در ابتدا کدهای زیر را که مربوط به پروژه است مشاهده می کنید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

پس از این مرحله از منوی Tools و سپس Boards، گزینه Maixduino را انتخاب کنید. بعد از این، مجددا از منوی Tools و گزینه Port، می بایست پورت متصل به پردازنده K210 را انتخاب کنید. معمولا از بین دو گزینه پورت، اولین گزینه مربوط به K210 است. پس از انتخاب پورت گزینه آپلود را انتخاب کرده تا برنامه آپلود شود. پس از آپلود برنامه، نوبت به اجرای پروژه می رسد. قسمت بعد مربوط به این موضوع است.

 


اجرای پروژه دریافت صوت و ارسال پیامک


پس از آپلود کدها نوبت به اجرای پروژه دریافت صوت و ارسال پیامک می رسد. در این پروژه چنانچه عبارت های زیر را برای برد بگوییم، معادل متن آن را به شماره از پیش تعیین شده پیامک می کند.

  • GREEN
  • BLUE
  • RED

برای اجرای پروژه، می بایست روال کار را در سریال مانیتور دنبال کنید. اجرای برنامه پس از اتصال ماژول سیم کارت به شبکه و نمایش عبارت connected to network از سر گرفته می شود. در این هنگام یکی از سه عبارت مشخص شده را بگویید. پس از چند لحظه به شماره از پیش تعیین شده پیامک ارسال خواهد شد.

پروژه دریافت صوت و ارسال پیامک با maixduino -دیجی اسپارک

 

توجه داشته باشید که ممکن است گاهی اوقات صدای تشخیص داده شده اشتباه باشد. به نظر می رسد که برای افزایش دقت می بایست الگوهای صوتی بیشتری را در حافظه قرار داد.

دریافت صوت و ارسال پیامک با sim800L - دیجی اسپارک

 


تحلیل کدهای پروژه


پس از اجرای پروژه، نوبت به تحلیل کدهای آن می رسد. توجه داشته باشید که درون کدهای پروژه به صورت خط به خطب کامنت(توضیح) درج شده که با مطالعه آن می توانید روال کلی کار را دریابید. اما در اینجا به صورت مختصر به بررسی کدها می پردازیم. به طور کلی، این پروژه توسط توابع زیر اجرا می شوند.

شرح تابع
شناساندن مدل های صوتی قرارگرفته در فایل به پردازنده addVoiceModel
انتظار برای اتصال ماژول SIM800L به شبکه check_connect
تشخیص صوت و مقایسه با الگوهای صوتی و تولید خروجی ععدی نسبت یه الگوی یافت شده recognize
ارسال پیامک متنی معادل صوت تشخیص داده شده به کاربر send_sms

 


لوازم مورد نیاز


Maixduino

Sim800l

باتری

 


جمع بندی


در این آموزش به طراحی و پیاده سازی سیستم تشخیص صوت و ارسال پیامک متنی معادل با صدای تشخیص داده شده پرداختیم. از آنجاییکه برای اجرای این پروژه نیاز به پردازنده قدرتمند جهت تشخیص صوت است، از برد Maixduino استفاده کردیم. برد Maixduino یک برد فوق العاده قدرتمند در زمینه پردازش صوت و تصویر به شمار می رود. در این آموزش به دریافت صدا از کاربر می پردازیم. چنانچه کلمه گفته شده توسط وی با الگوهای صوتی موجود در حافظه یکسان باشد، متن معادل کلمه را به کمک ماژول SIM800L به شماره از پیش تعریف شده پیامک می کنیم.

 

چنانچه هرگونه ابهامی در مطالب درج شده وجود دارد، می توانید با ثبت نظر در انتهای همین پست سوال خود را بپرسید. تاکنون در دیجی اسپارک ده ها هزار سوال و پاسخ ثبت شده است؛ پس نظرات بی جواب نمی مانند! همچنین اگر ایراد و یا اشکالی در مطالب درج شده وجود دارد، لطفا آن را با ثبت نظر، مطرح کنید. همچنین اگر مشکلی در کدها وجود داشته و یا اجرا نمی شوند، مورد را حتما در انتهای همین آموزش مطرح نمایید. نظرات شما برای ما بسیار ارزشمند هسنند!! 

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه