هوشمند سازی یا اينترنت اشياء چیست؟
اغلب مردم تصور می کنند که اينترنت اشياء و اتوماتیک کردن و از کنترل دستی خارج نمودن ادوات، تجهیزات و مصرف کننده های ساختمانی تنها جنبه راحتی دارد ولی در کل، اهداف بسیار فراتر و والاتری را دنبال می کند.
دانشمندان و محققان در زمینه اتوماسیون نه تنها به رفاه، آسایش، زیبایی و مدرن بودن فکر می کنند بلکه علاوه بر اینها به شبکه ها، حسگرها و پردازشگرهایی جهت رسیدن به اهداف ایمنی و بهینه سازی مصرف انرژی، گزارش گیری و اهداف مدیریتی جهت ساختمان های اداری ، صنعتی و مسکونی نیز می اندیشند.
در واقع هدف از اينترنت اشياء، جلوگیری از آسیب هایی است که در اثر خطاهای فردی و انسانی رخ می دهد
اينترنت اشياء ساختمان
برای درک اينترنت اشياء ساختمان باید تعریفی از یک ساختمان هوشمند را داشته باشیم، ساختمان هوشمند ساختمانی است شامل محیطی فعال و مقرون به صرفه، بوسیله تجمیع کردن عناصر اصلی یعنی سیستم ها، ساختار، سرویس ها و مدیریت و ایجاد رابطه ای یکپارچه میان آنها که می تواند به صورت مستمر نسبت به وضعیت های متغیر محیط عکس العمل نشان داده و خود را با آنها وفق دهد و همچنین به ساکنین ساختمان این اجازه را می دهد که از منابع موجود به صورت موثرتری استفاده نموده، امنیت و آرامش آنها را افزایش دهد
با توجه به تعریف صورت پذیرفته، فرآیند و تجهیزاتی که منجر به ایجاد یک ساختمان هوشمند میگردد را اينترنت اشياء ساختمان مینامیم
یک سیستم مدیریت ساختمان BMS که به عبارتی دیگر به عنوان سیستم اتوماسیون ساختمان BAS نیز شناخته می شود، یک سیستم مبتنی بر کامپیوتر است که وظایفی نظیر کنترل و نظارت بر تجهیزات مکانیکی و الکتریکی ساختمان مانند تهویه، روشنایی، سیستم های قدرت، سیستم های آتش نشانی و سیستم های امنیتی را بر عهده دارد.
BMS شامل نرم افزار و سخت افزار است، برنامه نرم افزاری معمولا به شیوه سلسله مراتبی پیکر بندی شده که می تواند با استفاده از پروتکل های بازی مانند Lonworks ،Modbus وBacnet به صورت اختصاصی مورد استفاده قرار می گیرد.
سیستم های BMS یک جز حیاتی برای مدیریت تقاضای انرژی می باشد.
لیستی از سیستم هایی که می توانند توسط BMS نظارت و کنترل شوند، در زیر نشان داده شده است.
- کنترل روشنایی (نور)
- کنترل قدرت الکتریکی
- گرمایش، تهویه، تهویه مطبوع (HVAC)
- کنترل دسترسی
- سیستم اعلام حریق
- بالابرها، آسانسورها وغیره
- مانیتورینگ هشدارها
- اتوماسیون امنیتی
سیستم هوشمند مدیریت ساختمان (IBMS) برای مدیریت تکنولوژی در ساختمان های مدرن مورد استفاده قرار می گیرد.
سیستم های مدیریت ساختمان با استفاده از اینترنت و زیر ساخت های مرتبط با IT برا ایجاد IBMS پیشرفت می کنند. تمام سیستم های مدیریتی که در یک ساختمان نصب شده اند از طریق یک شبکه اینترنت تحت پروتکل TCP/IP در IBMS ادغام می شوند.
درIBMS یک اینترفیس ارائه می شود که از طریق آن تمام زیر سیستم ها کنترل می گردند. در یک سیستم مدیریت هوشمند ساختمان تمام اجزا به صورت هوشمند مدیریت شده و نیاز به ارسال فرامین توسط اپراتور نمی باشد و تنها اپراتور نظاره گر انجام آنها بوده و از حاصل عملکرد آنها آگاهی پیدا می کند و در نهایت از آنها گزارش گیری می نماید و این امر موجب حصول موارد زیر می گردد:
- کاهش مصرف انرژی و آلایندگی ساختمان ها
- نگهداری مناسب زیر ساخت های ساختمان
- انجام کلیه امور مطابق با مقررات
- کاهش هزینه های عملیاتی
- کاهش نیاز به بازرسی و سرکشی های دوره ای
- کاهش خطاها و خرابی ها
- بهبود ایمنی ساختمان
خانه هوشمند یا اينترنت اشياء فناوری واژهای است که امروز نمیتوانیم از آن فرار کنیم، بنابراین ما نیز ممکن است آن را در آغوش بگیریم. اما اصطلاحات گاه گیج کننده ای در این میان وجود دارد.
تفاوت بین هزینه ها و صرفه جویی در مصرف انرژی در دستگاه ها و تکنولوژی ای که زندگی روزمره را آسان تر و لذت بخش تر می کند چیست؟
اگر که بسیاری از سیستمهای موجود در خانه شما برای آنچه شما می خواهید و یا زمانی که شما لازم دارید که انجام پذیرد میتوانند برنامهریزی شوند، مانند ترموستات یا آبیاری فضای سبز، آیا آنها هوشمند هستند؟ و آیا مهم است؟
از لحاظ انطباق فضای زندگی شما با دنیای جدید، مهم است.
اگر شما در حال تغییر و تحول خانه خود و اضافه کردن قابلیت های مدرن روز هستید، باید به دانش کار در مورد آنچه که به عنوان اتوماسیون خانگی و تکنولوژی خانه هوشمند مطرح می گردد توجه شود. آنها در نگاه اول میتوانند مشابه باشند ولی با بررسی جزئیات متوجه می شویم که ساختار خانه هوشمند با اتوماسیون خانگی کاملا متفاوت است.
اتوماسیون خانگی امکان کنترل تمام ادوات فرمان پذیر را به صورت محلی از طریق پنل های لمسی و یا شبکه وای فای از طریق گوشی های هوشمند و تبلت و یا از طریق اینترنت به صورت از راه دور از هر نقطه از جهان برای شما فراهم می نماید.
ارسال فرمانهای گروهی، زمانبندی و برنامه ریزی روشن و خاموش شدن چراغ ها، آبیاری و بسیاری از سناریوهای مختلف از جمله عملکردهای اتوماسیون خانگی می باشد.
چه چیزهایی می تواند بخشی از یک سیستم اتوماسیون خانگی باشد؟ درحالت ایده آل، هرچیزی که می تواند به یک شبکه متصل شود، میتواند به صورت خودکار و از راه دور کنترل گردد. به طور کلی می توان موارد زیر را از جمله فعالیت های یک سیستم اتوماسیون خانگی برشمرد که به صورت اتوماتیک و یا از طریق فرمان کاربر انجام می پذیرد:
- کنترل روشنایی
- کنترل دما و رطوبت، دود، گاز و آتش
- سیستم های اضطراری و امنیتی
- کنترل صوت و تصویر
- کنترل میزان مصرف انرژی
خانه هوشمند
زمانی که فضای سبز شما نیاز به آبیاری داشته باشد و خود سیستم این مهم را متوجه گردد و با توجه به المان های محیطی مختلف اقدام به آبیاری نماید، این سیستم هوشمند است، زمانی که نور محیط داخلی ساختمان بر اساس شرایط محیطی تامین گردد، این سیستم هوشمند است، زمانی که دمای محیط ساختمان متناسب با شرایط دمایی فضای بیرون و دمای مورد نیاز محیط داخلی تامین گردد، این سیستم هوشمند است و بسیاری از کارکرد های مختلف که می تواند تفاوت بین یک خانه هوشمند و یک اتوماسیون خانگی را مشخص نماید.
آموزشهایی در خصوص ارتباط برد های آردوینو (nodemcu) با تلگرام در وب سایت ها منتشر شده است که متأسفانه با فیلترینگ این مسنجر عملا کار را سخت کرده و نمیتوان به سادگی به ربات تلگرام متصل شد. کتابخانه اصلی که قبلا استفاده میشد UniversalTelegramBot.h بود، که با فیلتر شدن تلگرام دیگه داخل ایران نمیشه ازش استفاده کرد.
ولی خوشبختانه ما روش هایی پیدا کردیم، که بی دردسر کاربران علاقه مند به اينترنت اشياء با آردینو میتوانند مثل گذشته، با ربات تلگرامی ارتباط برقرار کنند و اطلاعات مورد نیازشان از ارسال و دریافت کنند، یا حتی وسایل برقی را از راه دور کنترل کنند!!!
آموزش متغییر ها آردوینو – متغییر union (دارای اعضا)
در برنامهنویسی گاهی نیاز به سرهم کردن تعدادی متغییر کوچک دارید تا در نهایت یک متغییر بزرگ ایجاد کنید و در میان انواع روش ها، استفاده از متغییر نوع union جایگاهی ویژه دارد. با استفاده از این متغییر میتوان انواع دادهها را با آدرس یکسان تولید کرد. مثلا در آردوینو میتوانید یک متغییر 4 بایتی را با یک متغییر 32 بیتی در آدرس یکسان داشته باشید. در ادامه، با کاربرد این متغییر آشنا خواهید شد.
آموزش متغییر ها آردوینو – توابع مبدل رشته (String)
در برنامهنویسی به طیف گستردهای از توابع String دسترسی دارید و در میان آنها، توابع مبدل جایگاهی ویژه دارند. با استفاده از این توابع میتوان انواع دادهها را به رشته (String) و بالعکس آن، تبدیل کرد. مثلا در آردوینو میتوانید مقادیر سنسورها را بخوانید، آنها را به رشته تبدیل کرده و سپس نمایش دهید. در ادامه، با این توابع آشنا خواهید شد.
آموزش متغییر ها آردوینو – توابع کاوشگر رشته (String)
کاراکترها، اجزای تشکیل دهنده رشته هستند و در برنامهنویسی مکرر با کاراکترها و در نتیجه رشتهها (Strings) سروکار خواهید داشت. از رشتهها برای ذخیره و پردازش متن، اعداد و سایر دادهها استفاده میشود. یک برنامهنویس حرفهای باید مهارت کار با توابع کلاس String به ویژه توابع کاوشگر که شامل جستجو و مقایسه هستند را داشته باشد، در ادامه این مطلب آموزشی، این توابع به صورت مفصل برسی شده است. لطفا با آیمکس همراه باشید.
آموزش متغییر ها آردوینو – توابع ویرایشگر رشته (String)
توابع ویرایشگر رشته به عنوان زیرمجموعه توابع String ، امکان کار با رشتههای متنی را فراهم کرده است. به کمک این ابزارهای قدرتمند میتوانید رشتههای متنی را ویرایش کنید، متنی به رشته اضافه یا از آن حذف کنید یا حتی کاراکتر های دلخواه از رشته را با کارکتر های دیگری جایگزین کنید و توابع پیشرفته تری که در این آموزش برسی خواهیم کرد. در ادامه این مطلب آموزشی، با انوابع این توابع ویرایشگر رشته آشنا خواهید شد.
آموزش متغییر ها آردوینو – String (رشته های کاراکتری)
رشته های کاراکتری و متنی را می توان به روش استفاده از نوع داده String نمایش داد. شیء String درست مثل متغییر، به یک مکان از حافظه اشاره دارد و دادهها را در آنجا ذخیره میکند. در ساختار شیء String هم داده و هم توابع قرار گرفته است. ایجاد شیء رشته مثل تعریف متغییر انجام می شود و سپس یک مقدار یا رشته به آن اختصاص داده میشود. در ادامه با شیء String، نوع داده رشته کاراکتری در آردوینو و نحوه استفاده از آن آشنا خواهید شد، لطفا با ما همراه باشید.
آموزش متغییر ها آردوینو – char (رشته های کاراکتری)
متغییر char یکی از پر کاربرد ترین انواع متغییرها در برنامه نویسی آردوینو است. این نوع داده، کارکتر ها و علامت های نگارشی را بر اساس کدگذاری ASCII به عنوان یک عدد ذخیره میکند. برای ذخیره مجموعه ای از کارکتر ها باید آرایه ای از char ایجاد کنید که به آن رشته نیز گفته می شود. رشته های کاراکتری و متنی را می توان به دو روش استفاده از نوع داده String و یا ساخت یک آرایه از نوع char و قرار دادن کاراکتر NULL (null-terminate) در انتهای آن نمایش داد. در این مقاله به برسی روش دوم می پردازیم.
وب سوکت ارسال و دریافت – ESP32 , ESP8266
ایجاد صفحات نمایش وب برای پردازندههای وای فای مانند ESP32 و ESP8266 در پروژههای مبتنی بر این پردازندهها جذاب است. برای نمایش اطلاعات real-time، صفحات برای بارگذاری مقادیر و تأخیرات در شبکه ممکن است با مشکلاتی مواجه شوند. در این موقعیت، استفاده از وبسوکت به عنوان پروتکل دوطرفه کاربردی است که امکان ارسال و دریافت دادهها را فراهم میکند. در این مقاله، راهاندازی وبسوکت در پروژههای وایفای مورد بررسی قرار میگیرد.
آموزش توابع آردوینو – محاسبات ریاضی و مثلثات
کتابخانه math.h امکان انجام انواع محاسبات ریاضی و مثلثات (با استفاده از توابع ریاضی در آردوینو) را در اختیار برنامه نویس قرار داده است. با نصب این کتابخانه به توابعی مثل محاسبه قدرمطلق، توانگیری، محدودسازی، تشخیص حداقل و حداکثر دو عدد، مربع یک عدد و… دسترسی خواهید داشت.
در این مطلب آموزشی، با همه توابع ریاضی و مثلثات در آردوینو آشنا خواهید شد، لطفا تا انتهای این مطلب آموزشی با ما همراه باشید.
آموزش متغییر ها آردوینو – enum (نوع شمارشی)
enum یکی از انواع داده است که امکان مشخص کردن مجموعهای از ثابتها با نامهای مختلف در زبان برنامهنویسی آردوینو (C++) را فراهم کرده است. زمانی که قصد داریم از بین مجموعه مقدارهای موجود، یک مقدار را انتخاب کنیم از Enum یا enumeration استفاده میکنیم. در این مطلب آموزشی خواهیم گفت که enum چیست؟ و چه کاربردی دارد. علاوه بر آن ابزار typedef برای متغییر enum در آردوینو (C++) مورد بررسی قرار گرفته است.
آموزش توابع آردوینو – توابع زمانی (تاخیر و تایمر)
در تمامی میکروکنترلر ها، واحد های زمانی (تایمر) وجود دارند که به کاربر امکان می دهند تا عملکردهای زمانبندی و توابع تاخیر را در برنامه های خود پیاده سازی کنند. توابع تاخیر به کاربر اجازه می دهند تا برنامه را برای مدت زمان مشخصی متوقف کنند و سپس ادامه دهند. این قابلیت بسیار مفید است زیرا به کاربر امکان می دهد تا عملکردهای خاص را در زمان مناسب اجرا کند. تایمر ها همچنین به کاربر اجازه می دهند تا عملکردهای خود را بر اساس یک بازه زمانی خاص تکرار کنند. به عنوان مثال، کاربر می تواند یک عملکرد را هر 1 ثانیه تکرار کند. این واحدهای زمانی بسیار قابل تنظیم هستند و به کاربر اجازه می دهند تا زمانبندی دقیق را برای برنامه های خود تعیین کنند. در این مقاله، به بررسی توابع تاخیر و تایمر در آردوینو پرداخته خواهد شد.
آموزش توابع آردوینو – ورودی خروجی پیشرفته
ابتدا آموزش ورودی و خروجی های دیجیتال را برسی کردیم. در این بخش توابع پیشرفته ای را برسی میکنیم که به کمک به کار گیری تایمر ها عملکرد های پیچیده مرتبط با پالس ها را برای شما انجام می دهد. برای ایجاد یک پالس مربعی مشخص و یا خواندن دوره زمانی یک پالس مربعی توابع این آموزش روند برنامه نویسی شما را تسهیل میکند. همچنین برای ارسال یا دریافت یک داده باینری به سادگی یک پروتکل ساده ایجاد کنید. (در آیسی های شیفت رجیستر کاربرد دارد)
انواع پروتکل های ارتباطی آردوینو (SPI, I2C, UART, Parallel)
همزمان با اختراع ترانزیستور و پیشرفتهای بعد از آن، متخصصان به دنبال روشهای سریع، کارآمد و یکسان برای ایجاد ارتباط بین دستگاهها بودهاند. با گذر زمان پروتکلهای ارتباطی ایجاد شدند که با توجه به اجزای متصل و پیچیدگی آنها در موارد مختلف مورد استفاده قرار میگیرند. به همین خاطر آشنایی با انواع پروتکل ارتباطی سریال در آردوینو ، شناخت عملکرد هرکدام از آنها و توانایی انجام کدنویسی ها ضرورت دارد.
در این مطلب آموزشی با 3 مورد از مهتمرین پروتکل های ارتباطی شامل UART، I2C و SPI آشنا خواهید شد. برخی از این پروتکل ها چند ده سال قدمت دارند و هنوز در انواع میکروکنترلر و دستگاه های مختلف مورد استفاده قرار میگیرند.