فهرست مطالب:
- تدارکات
- مرحله 1: واحد سخت افزار
- مرحله 2: مدار
- مرحله 3: درباره Firebase
- مرحله 4: پایگاه داده بیدرنگ
- مرحله 5: تنظیم عملکردهای Firebase
- مرحله 6: کد
- مرحله 7: مرحله اختیاری (ساخت محوطه)
- مرحله 8: در عمل…
- مرحله 9: حرکت بیشتر…
تصویری: Mappifier - نقشه برداری + سیستم اعلان: 9 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
رانندگی در شب بسیار سرگرم کننده است. اما اغلب ، به نظر می رسد یک کابوس است ، به شکل حیواناتی که از جاده عبور می کنند (به ویژه آن گربه ها و سگ های ولگرد ، که منتظر شما هستند تا در نزدیکی آنها رانندگی کنید تا بتوانند عبور کنند !!). بنابراین من فکر کردم چیزی را تهیه کنم که هنگام نزدیک شدن به این مکان های آسیب پذیر به شما هشدار دهد ، تا بتوانید با دقت بیشتری رانندگی کنید.
این سیستم دارای دو بخش است: جمع آوری داده ها و بازیابی اطلاعات. بخش اول داده های مکان را می گیرد ، یعنی مکانهایی که احتمال عبور حیوانات در آنها بیشتر است. این داده ها باید به صورت دستی اضافه شوند و بر روی نقشه به روز شوند. قسمت دوم مکان فعلی ما را می گیرد و سپس آن را با داده های جمع آوری شده مقایسه می کند و اعلان ها یا هشدارهای مناسب ارائه می شود.
تدارکات
سخت افزار مورد استفاده
برد توسعه وای فای ESP8266
ماژول GPS Ublox NEO-6M
LED ها
دکمه فشار لحظه ای
نرم افزار مورد استفاده
آردوینو IDE
هر گونه ویرایشگر جاوا اسکریپت
Firebase (برای ذخیره و بازیابی اطلاعات)
مرحله 1: واحد سخت افزار
سخت افزار به دو صورت (حالت) مورد نیاز است: 1) ذخیره محل در پایگاه داده: این بخش عمده ای از فرایند جمع آوری اطلاعات است. مکان بازیابی شده توسط ماژول GPS از طریق یک تابلوی توسعه ESP8266 WiFi به پایگاه داده Firebase ارسال می شود.
2) در هنگام ناوبری اعلان ها را ارائه دهید: در طول ناوبری ، مکان فعلی بازیابی شده و به پایگاه داده ارسال می شود. با هر بار به روزرسانی مکان ، فاصله بین مکان فعلی و آن مکانها (که در حین جمع آوری داده ذخیره شده بودند) محاسبه می شود و توسط ماژول ESP8266 بازیابی می شود و سپس با توجه به نزدیک بودن کاربر از مکانهای ذخیره شده به کاربر هشدار می دهد.
من سه LED را برای اطلاع از تغییر حالت ها و همچنین به روز رسانی موفقیت آمیز پایگاه داده و یک چراغ هشدار برای اطلاع از نزدیکی کاربر به محل ذخیره شده اضافه کردم.
دکمه فشار برای ذخیره مکان تنها با یک کلیک (در حالت ذخیره/جمع آوری داده) و همچنین برای تغییر بین این حالت ها استفاده می شود.
تغذیه
در ابتدا از باتری لیپو 3.7 ولت 300 میلی آمپر ساعتی استفاده شد ، اما مشکلاتی را به همراه داشت. مشکل اصلی بازنشانی ESP8266 بود (ممکن است به دلیل جهش های فعلی باشد). همچنین باتری زیاد دوام نمی آورد. بالاخره یک پاوربانک به کمک من آمد.
مرحله 2: مدار
مرحله 3: درباره Firebase
Firebase یک پلت فرم توسعه برنامه های تلفن همراه و وب است که متعلق به Google است. این ویژگی های زیادی دارد ، اما در اینجا من فقط از دو مورد از آنها استفاده می کنم ، پایگاه داده Realtime و عملکردهای ابر.
برای شروع به کار در Firebase ،
1. ابتدا به صفحه وب firebase بروید.
2. اکنون به کنسول بروید و روی ایجاد یک پروژه جدید کلیک کنید.
3. برای ایجاد پروژه باید نام پروژه را به همراه سایر جزئیات ارائه دهید.
4. پس از ایجاد پروژه ، روی گزینه پایگاه داده از پنجره کناری کلیک کنید تا یک پایگاه داده جدید ایجاد شود.
5. همین کار را برای توابع انجام دهید.
اینها مراحل کلی برای ایجاد یک پروژه هستند ، firebase به خوبی مستند شده است و بسیاری از مجموعه های ویدیویی YouTube برای مبتدیان وجود دارد ، لطفاً برای درک بیشتر از آنها استفاده کنید.
مرحله 4: پایگاه داده بیدرنگ
پس از ایجاد پایگاه داده ، مرحله بعدی این است که ببینید چگونه داده های موجود در پایگاه داده ذخیره می شوند و چگونه می توان به آنها دسترسی پیدا کرد. برای نوشتن یا خواندن به/از پایگاه داده ، باید قوانین پایگاه داده را پیکربندی کنید. برای توسعه ، می توانیم از یک قانون باز استفاده کنیم تا هرکسی که دارای مرجع پایگاه داده است بتواند بخواند/بنویسد اما هنگام پیکربندی قوانین مراقب باشید. پایگاه داده داده ها را در قالب JSON ذخیره می کند و با همه دستگاه هایی که به پایگاه داده. شما می توانید گره های فرزند را با استفاده از علامت "+" اضافه کنید ، اما گره ها همچنین می توانند به صورت برنامه نویسی ایجاد شوند. همه داده هایی که در پایگاه داده در حالت "ذخیره" بارگذاری می کنیم (محل ذخیره شده جمع آوری شده) در اینجا به عنوان گره جداگانه ذخیره می شود ، در حالی که داده ها در حالت "اعلان" (بازیابی داده ها هنگام ناوبری) هر بار به روز می شوند (تصویر را بررسی کنید).
مرحله 5: تنظیم عملکردهای Firebase
ما برای محاسبه نزدیک بودن مکان فعلی به مکانهای ذخیره شده به چیزی نیاز داریم و عملکردهای ایجاد شده در پایگاه داده کار ما را انجام می دهد. توابع در جاوا اسکریپت نوشته شده اند و باید روی پایگاه آتش مستقر شوند.
شما باید node.js را بر روی رایانه خود نصب کرده باشید.
1) اکنون رابط خط فرمان firebase را با استفاده از دستور "npm install -g firebase -tools" در خط فرمان خود بارگیری کنید
2) اکنون باید با استفاده از دستور "ورود به سیستم firebase" به Firebase وارد شوید (اگر قبلاً وارد سیستم نشده اید باید رمز ورود خود را به gmail بدهید)
3) پس از این به فهرست پروژه خود بروید و عملکرد را با دستور "firebase init" آغاز کنید. برای شروع عملکردهای firebase برای پروژه خود باید گزینه 'functions' را انتخاب کنید.
4) حالا باید به پوشه 'functions' در فهرست پروژه خود بروید و فایل 'index.js' را پیدا کنید.
5) فایل را با ویرایشگر متن ویرایش کنید و فایل را ویرایش کنید/فایل را با mappifier_function.txt جایگزین کنید. (این به طور موثر عملکرد ما خواهد بود)
6) در نهایت عملکرد خود را با استفاده از "استقرار firebase" در خط فرمان مستقر کنید.
می توانید بررسی کنید که آیا عملکرد زیر منوی عملکرد روی کنسول firebase شما مستقر شده است یا خیر
مرحله 6: کد
برای ESP8266:
این برد با استفاده از اطلاعات کاربری به WiFi و Firebase متصل می شود و منتظر فشار یک دکمه فشاری است. با توجه به مدت زمان فشار دادن دکمه ، حالت های مختلف آغاز می شود. در حالت جمع آوری داده ها (اجازه دهید این حالت "ذخیره" را صدا کنیم) ، هر بار فشار دکمه منجر به ارسال موقعیت فعلی به پایگاه داده می شود در حالی که در حالت بازیابی اطلاعات ("حالت اطلاع رسانی") ، مکان فعلی به پایگاه داده ارسال می شود. و فاصله به صورت خودکار از پایگاه داده بازیابی می شود. LED ها را برای هشدارها (نزدیکی به محل مشخص شده) و اعلانات (مانند رفع GPS ، اتصال WiFi ، نوشتن پایگاه داده موفق ، تغییر حالت و غیره) اضافه کردم.
برای عملکرد Firebase:
این تابع برای نوشتن به گره "مکان فعلی" در پایگاه داده بررسی می کند و فاصله بین مکان های موجود در پایگاه داده و مکان فعلی را محاسبه می کند و سپس کوچکترین فاصله ای را پیدا می کند که سپس به گره "فاصله" در پایگاه داده نوشته می شود.
به خاطر داشته باشید که قبل از بارگذاری برنامه خود ، اعتبارنامه wifi و اعتبارنامه firebase خود را اضافه کنید. (لطفاً تصاویر را ببینید). همچنین ، اگر تازه وارد ESP8266 شده اید و کد آنها را در Arduino IDE وارد کرده اید ، به این موارد مراجعه کنید.
مرحله 7: مرحله اختیاری (ساخت محوطه)
برای اینکه قسمت سخت افزاری جمع و جور شود تا بتوان آن را نصب کرد ، یک محفظه کوچک برای قرار دادن آنها در داخل ایجاد کردم. چند سوراخ برای نصب LED ها و اتصال کابل USB ایجاد شده است. اما محوطه نهایی فراتر از انتظار من بود !! کاملاً در کف دست من قرار داشت و به راحتی بر روی دسته چرخه و روی فرمان قابل نصب بود.
مرحله 8: در عمل…
در اینجا یک ویدئوی کوچک وجود دارد که هر دو حالت (ذخیره و اعلان) را با LED های هشدار و اعلان نشان می دهد.
مرحله 9: حرکت بیشتر…
این سیستم می تواند برای اهداف مختلف مورد استفاده قرار گیرد ، به عنوان مثال ، با توجه به سناریوی موجود ، اگر می توانید مکان های گسترش بیماری را دریافت کرده و آن را در پایگاه داده ذخیره کنید ، هنگامی که به آن مکان ها نزدیک می شوید ، هشدارهایی توسط این سیستم ارائه می شود. اما من به طور جدی در فکر دریافت اطلاعات عبور حیوانات از سراسر جهان هستم تا رانندگان محتاط باشند و بسیاری از حیوانات را از تصادفات نجات دهند. من یک صفحه وب ساده ایجاد کرده ام (اما هنوز میزبانی نشده است) که دارای تمام داده های جمع آوری شده باشد. اینها داده هایی است که من در هنگام پیاده روی یا دوچرخه سواری جمع آوری کردم (هر زمان که گربه یا سگی را در کنار جاده می بینم زیرا بیشتر در معرض عبور هستند) اما برای پیاده سازی این موارد به داده های بسیار بیشتری نیاز داریم.
من نسبت به ایجاد صفحات وب (عمدتا جاوا اسکریپت) و سایر موارد بسیار جدید هستم و دوست دارم پیشنهادات و تخصص شما را داشته باشم:)
توصیه شده:
سیستم اتوماسیون خانگی WiFi بسیار کم مصرف: 6 مرحله (همراه با تصاویر)
سیستم اتوماسیون خانگی WiFi بسیار کم مصرف: در این پروژه ما نشان می دهیم که چگونه می توانید در چند مرحله یک سیستم اصلی اتوماسیون خانگی محلی ایجاد کنید. ما قصد داریم از Raspberry Pi استفاده کنیم که به عنوان یک دستگاه WiFi اصلی عمل می کند. در حالی که برای گره های پایانی ما قصد داریم از IOT Cricket برای ساخت یک باتری استفاده کنیم
ساخت سیستم فتوولتائیک 5V خود: 4 مرحله (همراه با تصاویر)
ساخت سیستم 5 ولت فوتوولتائیک خود: این دستگاه از یک مبدل باک به عنوان خروجی 5 ولت برای شارژ باتری (Li Po/Li-ion) استفاده می کند. و تقویت کننده مبدل برای باتری 3.7 ولت به خروجی USB 5 ولت برای دستگاههای مورد نیاز 5 ولت. مشابه سیستم اصلی که از باتری اسید سرب به عنوان شارژ ذخیره انرژی توسط e
سیستم مرتب سازی رنگ: سیستم مبتنی بر آردوینو با دو کمربند: 8 مرحله
سیستم مرتب سازی رنگ: سیستم مبتنی بر آردوینو با دو کمربند: حمل و/یا بسته بندی محصولات و اقلام در زمینه صنعتی با استفاده از خطوط ساخته شده با استفاده از تسمه نقاله انجام می شود. این کمربندها به جابجایی مورد از نقطه ای به نقطه دیگر با سرعت خاصی کمک می کند. برخی از وظایف پردازش یا شناسایی ممکن است
سیستم اعلام حریق با استفاده از آردوینو [در چند مرحله آسان]: 3 مرحله
سیستم اعلام حریق با استفاده از آردوینو [در چند مرحله آسان]: آیا به دنبال ساختن یک پروژه ساده و جالب با آردوینو هستید که در عین حال می تواند واقعاً مفید و به طور بالقوه نجات دهنده باشد؟ اگر بله ، برای یادگیری در مکان مناسب آمده اید چیزی جدید و ابتکاری در این پست می رویم
نحوه صحیح اتصال و راه اندازی سیستم قفسه مینی HiFi (سیستم صوتی): 8 مرحله (همراه با تصاویر)
نحوه صحیح اتصال و راه اندازی سیستم قفسه مینی HiFi (سیستم صوتی): من فردی هستم که از یادگیری مهندسی برق لذت می برم. من دبیرستانی در مدرسه رهبران زن جوان آن ریچاردز هستم. من این کار را برای کمک به هرکسی که می خواهد از موسیقی خود در Mini LG HiFi Shelf Syste Syste لذت ببرد ، کمک می کنم