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

اينترنت اشياء ساختمان

برای درک اينترنت اشياء ساختمان باید تعریفی از یک ساختمان هوشمند را داشته باشیم، ساختمان هوشمند ساختمانی است شامل محیطی فعال و مقرون به صرفه، بوسیله تجمیع کردن عناصر اصلی یعنی سیستم ها، ساختار، سرویس ها و مدیریت و ایجاد رابطه ای یکپارچه میان آنها که می تواند به صورت مستمر نسبت به وضعیت های متغیر محیط عکس العمل نشان داده و خود را با آنها وفق دهد و همچنین به ساکنین ساختمان این اجازه را می دهد که از منابع موجود به صورت موثرتری استفاده نموده، امنیت و آرامش آنها را افزایش دهد
با توجه به تعریف صورت پذیرفته، فرآیند و تجهیزاتی که منجر به ایجاد یک ساختمان هوشمند میگردد را اينترنت اشياء ساختمان مینامیم
یک سیستم مدیریت ساختمان BMS که به عبارتی دیگر به عنوان سیستم اتوماسیون ساختمان BAS نیز شناخته می شود، یک سیستم مبتنی بر کامپیوتر است که وظایفی نظیر کنترل و نظارت بر تجهیزات مکانیکی و الکتریکی ساختمان مانند تهویه، روشنایی، سیستم های قدرت، سیستم های آتش نشانی و سیستم های امنیتی را بر عهده دارد.
BMS شامل نرم افزار و سخت افزار است، برنامه نرم افزاری معمولا به شیوه سلسله مراتبی پیکر بندی شده که می تواند با استفاده از پروتکل های بازی مانند Lonworks ،Modbus وBacnet به صورت اختصاصی مورد استفاده قرار می گیرد.
سیستم های BMS یک جز حیاتی برای مدیریت تقاضای انرژی می باشد.
لیستی از سیستم هایی که می توانند توسط BMS نظارت و کنترل شوند، در زیر نشان داده شده است.
- کنترل روشنایی (نور)
- کنترل قدرت الکتریکی
- گرمایش، تهویه، تهویه مطبوع (HVAC)
- کنترل دسترسی
- سیستم اعلام حریق
- بالابرها، آسانسورها وغیره
- مانیتورینگ هشدارها
- اتوماسیون امنیتی
سیستم هوشمند مدیریت ساختمان (IBMS) برای مدیریت تکنولوژی در ساختمان های مدرن مورد استفاده قرار می گیرد.
سیستم های مدیریت ساختمان با استفاده از اینترنت و زیر ساخت های مرتبط با IT برا ایجاد IBMS پیشرفت می کنند. تمام سیستم های مدیریتی که در یک ساختمان نصب شده اند از طریق یک شبکه اینترنت تحت پروتکل TCP/IP در IBMS ادغام می شوند.
درIBMS یک اینترفیس ارائه می شود که از طریق آن تمام زیر سیستم ها کنترل می گردند. در یک سیستم مدیریت هوشمند ساختمان تمام اجزا به صورت هوشمند مدیریت شده و نیاز به ارسال فرامین توسط اپراتور نمی باشد و تنها اپراتور نظاره گر انجام آنها بوده و از حاصل عملکرد آنها آگاهی پیدا می کند و در نهایت از آنها گزارش گیری می نماید و این امر موجب حصول موارد زیر می گردد:
- کاهش مصرف انرژی و آلایندگی ساختمان ها
- نگهداری مناسب زیر ساخت های ساختمان
- انجام کلیه امور مطابق با مقررات
- کاهش هزینه های عملیاتی
- کاهش نیاز به بازرسی و سرکشی های دوره ای
- کاهش خطاها و خرابی ها
- بهبود ایمنی ساختمان
خانه هوشمند یا اينترنت اشياء فناوری واژهای است که امروز نمیتوانیم از آن فرار کنیم، بنابراین ما نیز ممکن است آن را در آغوش بگیریم. اما اصطلاحات گاه گیج کننده ای در این میان وجود دارد.
تفاوت بین هزینه ها و صرفه جویی در مصرف انرژی در دستگاه ها و تکنولوژی ای که زندگی روزمره را آسان تر و لذت بخش تر می کند چیست؟
اگر که بسیاری از سیستمهای موجود در خانه شما برای آنچه شما می خواهید و یا زمانی که شما لازم دارید که انجام پذیرد میتوانند برنامهریزی شوند، مانند ترموستات یا آبیاری فضای سبز، آیا آنها هوشمند هستند؟ و آیا مهم است؟
از لحاظ انطباق فضای زندگی شما با دنیای جدید، مهم است.
اگر شما در حال تغییر و تحول خانه خود و اضافه کردن قابلیت های مدرن روز هستید، باید به دانش کار در مورد آنچه که به عنوان اتوماسیون خانگی و تکنولوژی خانه هوشمند مطرح می گردد توجه شود. آنها در نگاه اول میتوانند مشابه باشند ولی با بررسی جزئیات متوجه می شویم که ساختار خانه هوشمند با اتوماسیون خانگی کاملا متفاوت است.
اتوماسیون خانگی امکان کنترل تمام ادوات فرمان پذیر را به صورت محلی از طریق پنل های لمسی و یا شبکه وای فای از طریق گوشی های هوشمند و تبلت و یا از طریق اینترنت به صورت از راه دور از هر نقطه از جهان برای شما فراهم می نماید.
ارسال فرمانهای گروهی، زمانبندی و برنامه ریزی روشن و خاموش شدن چراغ ها، آبیاری و بسیاری از سناریوهای مختلف از جمله عملکردهای اتوماسیون خانگی می باشد.
چه چیزهایی می تواند بخشی از یک سیستم اتوماسیون خانگی باشد؟ درحالت ایده آل، هرچیزی که می تواند به یک شبکه متصل شود، میتواند به صورت خودکار و از راه دور کنترل گردد. به طور کلی می توان موارد زیر را از جمله فعالیت های یک سیستم اتوماسیون خانگی برشمرد که به صورت اتوماتیک و یا از طریق فرمان کاربر انجام می پذیرد:
- کنترل روشنایی
- کنترل دما و رطوبت، دود، گاز و آتش
- سیستم های اضطراری و امنیتی
- کنترل صوت و تصویر
- کنترل میزان مصرف انرژی
خانه هوشمند
زمانی که فضای سبز شما نیاز به آبیاری داشته باشد و خود سیستم این مهم را متوجه گردد و با توجه به المان های محیطی مختلف اقدام به آبیاری نماید، این سیستم هوشمند است، زمانی که نور محیط داخلی ساختمان بر اساس شرایط محیطی تامین گردد، این سیستم هوشمند است، زمانی که دمای محیط ساختمان متناسب با شرایط دمایی فضای بیرون و دمای مورد نیاز محیط داخلی تامین گردد، این سیستم هوشمند است و بسیاری از کارکرد های مختلف که می تواند تفاوت بین یک خانه هوشمند و یک اتوماسیون خانگی را مشخص نماید.

آموزشهایی در خصوص ارتباط برد های آردوینو (nodemcu) با تلگرام در وب سایت ها منتشر شده است که متأسفانه با فیلترینگ این مسنجر عملا کار را سخت کرده و نمیتوان به سادگی به ربات تلگرام متصل شد. کتابخانه اصلی که قبلا استفاده میشد UniversalTelegramBot.h بود، که با فیلتر شدن تلگرام دیگه داخل ایران نمیشه ازش استفاده کرد.
ولی خوشبختانه ما روش هایی پیدا کردیم، که بی دردسر کاربران علاقه مند به اينترنت اشياء با آردینو میتوانند مثل گذشته، با ربات تلگرامی ارتباط برقرار کنند و اطلاعات مورد نیازشان از ارسال و دریافت کنند، یا حتی وسایل برقی را از راه دور کنترل کنند!!!

تفاوت زبانهای برنامه نویسی C / ++C / C# چیست؟
زبانهای برنامهنویسی C، ++C و C# هر کدام ویژگیهای خاص خود را دارند: زبان C که در سال ۱۹۷۲ توسط دنیس ریچی طراحی شد، سریع و کمحجم بوده و برای کارهای نزدیک به سختافزار مناسب است؛ ++C که یک زبان شیءگرا با قابلیتهایی مانند کلاسها و اشارهگرهاست، در پروژههای پیچیده کاربرد دارد؛ و C# که در سال ۲۰۰۲ توسط مایکروسافت ارائه شد، زبانی مدرن با مدیریت خودکار حافظه و مناسب برای پروژههای چندپلتفرمی است. انتخاب زبان برای یادگیری به سطح مهارت و هدف فرد بستگی دارد: مبتدیان بهتر است با C شروع کنند، آشناها با ++C، و علاقهمندان به NET و نرمافزارهای تحت وب با C#.

آموزش توابع آردوینو – توابع پیکربندی سریال (Serial)
توابع پیکربندی سریال در آردوینو برای تنظیم و مدیریت ارتباطات سریال با دستگاههای جانبی استفاده میشوند. این توابع شامل بررسی آماده بودن پورت سریال برای ارتباط، آغاز ارتباط سریال با سرعت مشخص، خاتمه دادن تمامی ارتباطات سریال و آزاد کردن پورت سریال، و تنظیم مدت زمان انتظار برای دریافت دادههای سریال میباشند. این توابع امکان تعامل مؤثر و کارآمد با دستگاههای جانبی را فراهم کرده و به شما اجازه میدهند تا ارتباطات سریال خود را به صورت بهینه مدیریت کنید.

آموزش توابع آردوینو – توابع گیرنده سریال (Serial)
توابع گیرنده سریال در آردوینو برای خواندن و پردازش دادههای دریافتی از پورت سریال به کار میروند. این توابع میتوانند تعداد بایتهای موجود برای خواندن را بررسی کرده و بایت بعدی داده ورودی را خوانده و برگردانند. همچنین، این توابع قادر هستند دادهها را از بافر سریال بخوانند تا یک رشتهی خاص یا یک کاراکتر پایاندهنده پیدا شود و اگر هدف پیدا نشود، مقدار خاصی را برمیگردانند. برخی از این توابع برای خواندن دادههای عددی و تبدیل آنها به اعداد صحیح و اعشاری استفاده میشوند و کاراکترهای غیرعددی را نادیده میگیرند تا به اولین کاراکتر عددی برسند. توابع دیگری نیز هستند که یک بایت از ورودی سریال را بدون حذف کردن آن از بافر میخوانند و برمیگردانند. به طور کلی، توابع گیرنده سریال ابزارهایی قدرتمند برای پردازش و تحلیل دادههای دریافتی از ورودی سریال فراهم میکنند.

آموزش توابع آردوینو – توابع فرستنده سریال (Serial)
توابع فرستنده سریال در آردوینو ابزارهای قدرتمندی برای ارتباط و تبادل دادهها با دستگاههای جانبی هستند. این توابع امکان ارسال دادهها به شکلهای متنی و باینری را فراهم میکنند و به کاربران اجازه میدهند تا وضعیت بافر سریال را بررسی کنند. استفاده از این توابع در پروژههای آردوینو، برای مدیریت کارآمد دادهها و جلوگیری از اشغال بیش از حد بافر بسیار حائز اهمیت است. توابعی مانند بررسی میزان فضای خالی بافر، تخلیه دادههای ارسالنشده، و ارسال دادههای متنی و باینری، به شما کمک میکنند تا با دستگاههای جانبی مانند سنسورها، کامپیوترها و ماژولهای ارتباطی بهطور مؤثر ارتباط برقرار کنید. این توابع باعث افزایش خوانایی و ساختاردهی دادهها در سریال مانیتور میشوند که در دیباگ و تحلیل پروژهها بسیار مفید است. علاوه بر این، استفاده از توابع فرستنده سریال به شما اطمینان میدهد که تمامی دادهها به مقصد رسیدهاند و هیچ اطلاعاتی از دست نرفته است. بهطور کلی، این توابع جزء ابزارهای حیاتی برای هر پروژه آردوینو هستند که نیاز به ارتباط سریال دارد و به بهبود عملکرد و قابلیت اطمینان پروژهها کمک شایانی میکنند.

آموزش توابع آردوینو – Serial (پورت سریال)
در آردوینو، ارتباط سریال یکی از ابزارهای کلیدی برای تبادل دادهها بین میکروکنترلر و سایر دستگاهها است. توابع سریال امکان ارسال و دریافت دادهها را از طریق پورت سریال فراهم میکنند و به کاربران اجازه میدهند تا به راحتی با دستگاههای جانبی مانند کامپیوتر یا ماژولهای ارتباطی تعامل داشته باشند. این توابع برای ارسال پیامهای متنی، دریافت دستورات و حتی دیباگ کردن پروژهها بسیار کارآمد هستند. در این مقاله، با توابع سریال در آردوینو، نحوه استفاده از آنها و کاربردهای مختلف آنها آشنا خواهید شد. لطفاً با ما همراه باشید.

آموزش متغییر ها آردوینو – متغییر 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، صفحات برای بارگذاری مقادیر و تأخیرات در شبکه ممکن است با مشکلاتی مواجه شوند. در این موقعیت، استفاده از وبسوکت به عنوان پروتکل دوطرفه کاربردی است که امکان ارسال و دریافت دادهها را فراهم میکند. در این مقاله، راهاندازی وبسوکت در پروژههای وایفای مورد بررسی قرار میگیرد.