يحتوي هذا الريبو على تعليمات بناء لجهاز مستشعر ESP8266 متعدد الأغراض لمشاريع إنترنت الأشياء المنزلية.
المجلس V5 ، والسكان جزئيا. صورة تم إنشاؤها في كيكاد.
يلبي لوحة المستشعر معظم احتياجات أجهزة التوت. إنها تتناسب مع حاوية رخيصة ومتاحة على نطاق واسع (لا توجد طباعة ثلاثية الأبعاد مطلوبة) ، ويمكن تشغيلها إما عن طريق بطارية LI-ion (مراقبة الجهد والشحن والقطعة العكسية ودوائر الحماية المشمولة) أو USB ، مع مشاركة الطاقة المناسبة إذا تم توصيل USB والبطارية في وقت واحد. على جانب البرنامج ، احتفظت بأشياء عالية المستوى قدر الإمكان: Tasmota لمعظم سيناريوهات الاستخدام ؛ micropython عند الحاجة. يستخدم الاتصال بروتوكول MQTT عبر Wi-Fi ، أو Lora (أستخدم اللوحة كمستشعر Lora البعيد ، وكجسر Lora-MQTT).
تم تصميم اللوحة لأجهزة الاستشعار التالية ، وكذلك التحكم في المحرك/المضخة (لسقي النبات التلقائي). تظل دبابيس GPIO يمكن الوصول إليها بسهولة ، لذلك يمكن أيضًا استخدام هذا اللوحة كأساس للعديد من أجهزة الاستشعار الأخرى.
يأتي استخدام ESP8266 مع بعض القيود ، خاصة حول GPIO المتاح ، ومنفذ ADC واحد فقط. هذا يعني أنه لا تتوفر كل الوظائف المحتملة في نفس الوقت. نعم ، يمكن التغلب على هذه القيود إما باستخدام فاصل المنفذ ، أو عن طريق استخدام متحكم مختلف مثل ESP32 ؛ ومع ذلك ، كان جزء من المرح بالنسبة لي هو رؤية مقدار ما يمكنني فعله مع ESP8266 فقط ، والنتيجة النهائية تناسب جميع حالات الاستخدام الخاصة بي.
![]() | ![]() |
|---|---|
| V4 ، مع BME280 (درجة الحرارة والضغط والرطوبة) ، BH1750 (لوكس) ورطوبة (عبر قابس الصوت). مجهزة لمضخة الري (أسفل اليمين) ؛ غير متصل حاليا. | V5 ، مع أجهزة استشعار BME280 و MH-Z19C (CO 2 ) |
![]() |
|---|
| توصيل جديد من لوحات V5 |
يمكنك (يجب؟!) استخدام شيء آخر. لقد صممت هذا في البداية كوسيلة للتعرف على مستشعرات إنترنت الأشياء وتصميم الدائرة/التصنيع. لقد علقت بها لأنها توفر العديد من المزايا على لوحات الجرف:
يمكن تشغيل اللوحة إما مباشرة من USB ، أو من بطارية Li-ion. اللوحة V4 و usb micro-USB المستخدمة في وقت سابق ؛ يستخدم V5 USB-C. تم تصميم الانقطاع على يسار اللوحة لاستيعاب حالة 1-خلايا 18650-مثل هذا (رابط الشراء). موصل البطارية هو JST-PH (2 مم) ، ولكن إذا كنت تفضل ذلك ، فما عليك سوى حل الأسلاك مباشرة إلى الموصلات.
إذا تم توصيل كل من البطارية و USB في وقت واحد ، فإن دائرة مشاركة الطاقة تضمن أن USB فقط تعمل على تشغيل اللوحة. يتم استخدام البطارية بالاقتران مع نسخة من الوحدة النمطية القائمة على TP4056 المشتركة من 3 رقائق للشحن. هناك مفتاح متوفر إذا كنت لا تستخدم بطارية وتريد تجاوز هذه الدوائر (أو إذا كنت لا تريد شحن البطارية أثناء توصيل USB). تتضمن الوحدة الحماية للرسوم الزائدة ، والرسوم الزائدة ، والتيار الزائد والقصير. لاحظ أن حماية التيار الزائد وقصيرة الدائرة يتم تجاوزها لبقية اللوحة (وليس البطارية) عند توصيل USB ، وبالتالي تكون دائرة مشاركة الطاقة نشطة. لا تتضمن وحدة الشحن القياسية حماية للبطارية ، لذلك أضفت ذلك أيضًا.
تتوفر مراقبة جهد البطارية عند سد Jumper JP5 (الأمامي) أو JP6 (الخلف). هذا يربط محطة البطارية الإيجابية ، من خلال مقسم الجهد ، إلى دبوس ADC الوحيد من ESP. هذا الاتصال اختياري لأن مستشعر الرطوبة (وبالطبع مستشعرات أخرى) يحتاج أيضًا إلى الوصول إلى ADC. بسبب هذا ، من الواضح أنه لا يمكن مراقبة كل من جهد البطارية ومستشعر رطوبة التربة في نفس الوقت مع لوحة V5.
ملحوظات
هناك مجموعة مذهلة من ldo ics المحتملة للاختيار من بينها. لقد استقرت على XC6203P332PR بسبب إخراجها الحالي نسبيًا ، وجهد التسرب المنخفض. كان لدى Board V4 آثار أقدام لمنظمين بديلين ، كنت أخطط لاختبار الاستقرار ، لكن لم تكن هناك حاجة إليها وتم إزالتها في V5.
على الإصدار PCB 4 ، قمت بإقران اثنين من المكثفات tantalum 1μF مع XC6203 ، لكل ورقة البيانات. كان لدي مكثف فشل في اثنين من هذه المجالس بعد بضعة أسابيع من الاستخدام ، مما تسبب في دائرة قصيرة والكثير من الدخان (كانت اللوحات تعمل بنظام USB في ذلك الوقت). بعد قراءة قصص الرعب Tantalum عبر الإنترنت ، قررت تجربة تبديلها للسيراميك على V5 ، ولم تواجه أي مشاكل أخرى. اكتشفت لاحقًا أن الفشلين هما خطأي: لقد قمت بتركيب الأجزاء في الاتجاه المعاكس! أنا متأكد من أن هناك سببًا وجيهًا لوجود فرقة علامات القطبية على tantalums إلى الإيجابية ، بينما على المكثفات والألومنيوم التي تشير إلى السلبية ، لكنها تعثرت على هذا المبتدئ.
مريح ، XC6203P332PR متوافق أيضًا مع لوحات محول ESP-12F البيضاء. إنه أصغر من البصمة المقدمة ، ولكن لا يزال من الممكن أن يتم لحامها دون مشكلة. تأكد من إزالة المقاوم المركزي صفر أوم في مقدمة اللوحة في حالة استخدام منظم مثبت على اللوحة.
لقد تعلمت الطريقة الصعبة حول حساسية الضوضاء الكهربائية لـ ESP8266: على V3 من اللوحة ، سيتم إعادة تشغيله كلما تم تنشيط محرك الري. لقد تغلبت على هذا في V4 مع إعادة تحديد موضع المكون (تحريك المحرك إلى النهاية بعيدًا عن متحكم) ، إضافة مكثفات إضافية بجوار اتصال المحرك ، وزيادة عرض تتبع الطاقة مقابل آثار الإشارة ، وتقليل الحلقات على المستوى الأرضي ، وفصل مسار عودة المحرك الأرضي من بقية المكونات.
تم تصميم المجلس للحصول على ESP-12F. أميل إلى وميض الشريحة في لوحة مبرمج قبل لحامها ، فقط للتحقق من أنها تعمل.
عند تثبيته ، يمكن وميضه بالطريقة العادية عن طريق توصيل لوحة واجهة USB-Uart بالدبابيس المناسبة.
| دبوس# | ميناء | اتصال المجلس | المقاوم* |
|---|---|---|---|
| 1 | RST | إعادة ضبط زر | |
| 2 | ADC | ADC (الرطوبة أو البطارية) | |
| 3 | en | تمكين رقاقة | المشرف ، أو e-pu |
| 4 | IO16 | DeepSleep | |
| 5 | IO14 | i2c scl ، أو spi sck | |
| 6 | IO12 | الرطوبة VCC ، أو spi sdo-miso | |
| 7 | IO13 | I2C SDA ، أو SPI Mosi | |
| 8 | VCC | ||
| 15 | GND | ||
| 16 | IO15 | لورا NSS | E-PD |
| 17 | IO2 | onboard LED ، & spi ss | |
| 18 | IO0 | زر فلاش | E-pu |
| 19 | IO4 | مفتاح الوضع (GND: استخدم النوم) | E-pu |
| 20 | IO5 | مضخة المياه ، أو لورا ديو | E-PD |
| 21 | RXD | CO 2 TX | |
| 22 | TXD | CO 2 RX |
* المقاوم المرفق بالدبوس: I: داخلي ، E: خارجي ، PU: سحب ، PD: المنسدلة
يبدو أن هناك بعض المناقشات عبر الإنترنت حول الطريقة المثلى لتوصيل RST بـ GPIO16 من أجل استخدام وظيفة DeepSleep الخاصة بـ ESP8266. لقد أخطأت على جانب الحذر وأضفت ديودًا بين الاثنين.
يعد ESP8266 عرضة للبني إذا كان الجهد منخفضًا جدًا (يمكن العثور على تفسير جيد لهذه المشكلة هنا). بالتزامن مع الزيادة غير المتطابقة في الجهد من المنظم عند تطبيق الطاقة لأول مرة ، يمكن أن يؤدي ذلك إلى مشاكل في التمهيد. للحماية من هذا ، قمت بتضمين مشرف الجهد الاختياري (TPS3839G33DBZ) والذي سيعزف فقط دبوس القابل للرقاقة عالياً عندما يكون الجهد أعلى من العتبة المناسبة. ومع ذلك ، لم ألاحظ بعد أن تكون Brown Outs مشكلة ، لذلك أتخطى هذا المكون أحيانًا.
زوج من الأجهزة المجهزة لورا في حاوياتها
يعد الجمع بين ESP8266 مع وحدة Lora امتدادًا عندما يتعلق الأمر بـ GPIO المتاح. تم تصميم هذا اللوحة للعمل مع وحدات SX1276 Lora (رابط مثال) ، ويميل بشدة على التصميم من هنا ، مما يقلل من المنافذ المطلوبة عن طريق ربط ثلاثة من دبابيس وحدة Lora (DiO0 ، 1 و 2) إلى دبوس ESP8266 واحد عبر ثلاثة ثنائيات (ألعاب اللوحة D9 ، D10 و D11 على التوالي). يحتاج تكوين مشاركة DIO هذا إلى معالجة خاصة في البرامج. ومع ذلك ، بالنسبة للاتصالات البسيطة في Lora ، لا يلزم سوى DiO0 ، لذلك بالنسبة لوحات Lora الخاصة بي حتى الآن ، قمت بسد D9 ، وغادرت D10 و D11.
للاختبار ، يمكنك لحام هوائيات الأسلاك الحلزونية المشتركة مباشرة (غالبًا ما يتم تضمينها مع شراء وحدة نمطية) مباشرة إلى دبوس هوائي الوحدة النمطية. المدى سوف تمتص ، رغم ذلك. للحصول على نطاق أفضل ، قم بإرفاق هوائيات ذات الكسب العالي (أستخدم هوائيات 5DBI التي تم شراؤها هنا). أقوم بتضمين بصمة IPEX U.FL-R في AE1. بدلاً من ذلك ، تتلاءم الموصلات المثبتة على Edge بشكل جيد على حافة اللوحة على مساحة J5. يمكن أن تكون هذه السلكية على النحو التالي (هذا المثال يستخدم اللوحة V4 ، لكن الشيء نفسه سيعمل على V5): أعلى وأسفل.
ملحوظات
يتوفر ADC واحد على ESP8266 ، مع نطاق قياس من 0V إلى 1V. لقياس الفولتية العالية ، لذلك هناك حاجة إلى مقسم الجهد. على متن V5 ، يمكن استخدام ADC للأجهزة الطرفية المتصلة بمقبس الصوت ، أو لمراقبة جهد البطارية في حالة إغلاق JP11 أو JP5.
تواصل عبر مقبس الصوت عبر مقسم مع R1 = 470 kΩ (المكون R7) ، R2 = 200 kΩ (المكون R8). هذا يسمح لقياس الفولتية حتى 3.3 فولت (يتم تخفيض 3.3V إلى حوالي 0.985 فولت ؛ معايرة الإشارة لزيادة الدقة).
يضيف اتصال البطارية مقاومًا إضافيًا 330 kΩ (مكون R10) في سلسلة مع مكون R7 ، مما يؤدي إلى R1 = 800 ation. هذا يزيد من نطاق القياس يصل إلى 5 فولت.
اخترت استخدام مقبس صوتي من 4 ألقاب (نموذج PJ313E) لتوصيل مستشعرات الرطوبة بالوحة. في الوقت الحالي ، هناك ثلاثة من الأعمدة الأربعة فقط متصلة ؛ الرابع هو قطع الغيار مع العين إلى الوظائف المستقبلية. بدءًا من القاعدة إلى طرف قابس الصوت ، فإن الاتصالات الحالية هي:
| القطب | اتصال |
|---|---|
| 1 | GND |
| 2 | لا اتصال |
| 3 | 3.3V (من GPIO12 ، عبر JP3) |
| 4 | إلى ADC عبر مقسم الجهد 3.3V |
لقد واجهت مشكلة واحدة في المقبس الذي اخترته (أو ربما مزيج من المقبس والمقابس التي أستخدمها): بشكل افتراضي ، فإنه لا يفشل في الاتصال بجميع الأعمدة الأربعة. يمكن رؤية ذلك في الصورة العليا هنا ، حيث لا يتم انحراف أعمق دبوس الاتصال (القطب 4). لإصلاح المشكلة ، قمت بتقديم/رفعت الجزء الأمامي البلاستيكي البارز من المقبس (الصورة السفلية)
تتوفر مضخات المياه الصغيرة والأنابيب المرنة اللازمة على نطاق واسع. كما نوقش أعلاه ، فهي صاخبون كهربائيا. ولهذا السبب يكون موصل المضخة في الركن البعيد من اللوحة من ESP ، ويحمي خلف اثنين من المكثفات الخاصة به. عادةً ما يتم تشغيله بواسطة GPIO5 ، عبر MOSFET N-channel ، أو يمكن تشغيله يدويًا باستخدام الزر الاختياري SW5.
من أجل البساطة ، وبما أن المضخات الصغيرة يبدو أنها قادرة على العمل على نطاق جهد عريض للغاية ، يتم توفير المضخة بأي جهد يعمل حاليًا على اللوحة (المحددة من قبل حالة دائرة مشاركة الطاقة): إذا تم توصيل USB ، فسيكون 5V ناقص الجهد الأمامي عبر Diodes D2 و D8 ؛ إذا كانت البطارية تعمل بالبطارية ، فستكون جهد البطارية مطروحًا منها انخفاض D8. في الممارسة العملية ، لا تحدث فرقًا كبيرًا: سيتم ضخ المزيد من الماء خلال فترة معينة من استخدام البطارية على USB vs.
بالنسبة لاتصال لوحة المضخة ، هناك بصمة لمقبس DC-002. فكرت في استخدام مقبس USB ، لكنني قررت أن هذا مضللاً لأن جهد الإخراج ليس دائمًا 5 فولت الذي يتوقعه المرء من USB. على اللوحة الموضحة أعلاه ، تخطيت مقبس Power-Jack وقمت ببساطة بتوصيل مقبس رأس دبوس مزدوج بدلاً من ذلك.
لقد اخترت مربع المشروع هذا لأنه رخيص ، ومتاح على نطاق واسع ، وحجم الصحيح لثنائي الفينيل متعدد الكلور وبطارية 18650.
هناك حاجة إلى مسامير 8 مم M2.6 لتوصيل اللوحة بالمربع ، مثل هذه.
| ملكية | الوحدة النمطية | اتصال المجلس | ورقة البيانات | رابط الشراء* |
|---|---|---|---|---|
| درجة الحرارة والضغط والرطوبة | BME280 | مباشرة (2.54 ملم رؤوس) | وصلة | |
| لوكس | BH1750 | مباشرة (2.00 ملم رؤوس) | وصلة | aliexpress |
| ثاني أكسيد الكربون | MH-Z19C | مباشرة (2.54 ملم رؤوس) | وصلة | aliexpress |
| رُطُوبَة | "مستشعر رطوبة التربة بالسعة V1.2" | قابس الصوت | الرابط (الإصدار الأقدم) | aliexpress |
* لقد اشتريت من تلك الروابط في الماضي ، لكنهم لم يتم تزويدهم بأي ضمان. أنا أيضًا لا أخطط لتحديثها عندما تنتهي صلاحيتها حتماً.
هذه درجة حرارة مفيدة للغاية ورطوبة ومستشعر للضغط. مع نقطة جبل المستشعر الحالية ، فإنه يجلس جزئيًا خارج العلبة. أجد هذا مريحًا لأنني لا داعي للقلق بشأن تدفق الهواء داخل الصندوق. إذا كان الهندسة الحالية تسيء إليك ، أو كنت بحاجة إلى جهاز أكثر قوة حيث لن يخاطر المستشعر بالتلف ، ففكر في إعادة التصميم على نقطة الاتصال ، أو اختر مستشعرًا بديلًا مع قفص مدمج.
قد تجد أن المسامير ذات اللحام تعيق إغلاق غطاء العلبة بشكل صحيح. إذا كان هذا هو الحال ، فيمكنك تقليمها قبل اللحام ، كما فعلت هنا.
يمكن للمستشعر التواصل بواسطة I2C أو SPI ؛ يبدو أن معظم الناس يستخدمون I2C ، والتي تحتاج إلى إجراء أي تعديلات في اللوحة. إذا كنت تريد واجهة SPI ، أغلق جسور لحام في الخلف لتوصيل المسامير الإضافية. على متن V5 ، يقوم أحد هذه الاتصالات أيضًا بتشغيل مستشعر الرطوبة ، لذلك ستكون هناك حاجة إلى تعديلات إذا كنت ترغب في تشغيل كل من BME280 (مع واجهة SPI) ومستشعر الرطوبة في وقت واحد.
ملحوظات
هذا هو ثنائي ضوئي بسيط وموثوق به ، جنبا إلى جنب مع واجهة I2C. يمكنك شرائه في العديد من العوامل ، مع إصدار الكرة الخفيفة مريحة بشكل خاص لأغراضنا. قم بتقطيع الأجزاء البلاستيكية للموصل المدمج ، ويمكن الآن التوصيل مباشرة برأس دبوس 2 مم 2 مم ، كما هو مضمن على متن V5. يمكن برز الكرة الخفيفة من المستشعر وتثبيتها مباشرة في الجزء العلوي من العلبة.
ملحوظات
هذا هو أجمل أجهزة الاستشعار التي أستخدمها ، لكنني أعتقد أن الأمر يستحق كل هذا العناء مقابل بدائل VOC أرخص. يتواصل عبر حافلة UART (SO ESP8266 DINS RX و TX). لذلك تريد التأكد من عدم توصيل المستشعر إذا كنت تحاول وميض ESP أو استخدام الواجهة التسلسلية.
لاستخدام MH-Z19C على اللوحة V5 ، تحتاج إلى توصيل جسرين لحام في الخلف. بعد فوات الأوان ، لا أستطيع التفكير في حالة استخدام جيدة عندما لا تريد الجسد ، لذلك ربما سأقوم فقط بتبديل الفوط لتتبعات مستمرة على أي إصدار مستقبلي.
ملحوظات
من أجل إيقاف مستشعر الرطوبة الذي يعمل باستمرار واستنزاف البطارية ، يتم تشغيله مباشرة بواسطة GPIO12. قم بسد اللوحة اليمنى من JP3 إلى لوحة المركزية لإجراء هذا الاتصال. لا يرسم الكثير من التيار ، لذلك لم أواجه أي مشاكل في تشغيل المستشعر مباشرة من دبوس GPIO. إذا اتضح أنه مشكلة بنية للاستقرار/الاستقرار في المستقبل ، فيجب استبدال هذا الاتصال بـ MOSFET.
تم تصميم اللوحة في KICAD ، وتم تصنيعها بواسطة JLCPCB. يتم توفير ملفات KICAD والمعلومات المطلوبة من قبل JLCPCB في أدلة Board_V*.
يرجى الفهم مع التخطيطي. أعلم أنه قبيح ويحتاج بشكل يائس إلى الانقسام إلى أجزاء متعددة. تذكر ، هذا هو أول تصميم لي ثنائي الفينيل متعدد الكلور!

تخطيط اللوحة V5
للراحة ، أستخدم Tasmota لجميع الأجهزة حيثما أمكن ذلك. لا يمكن لـ Tasmota التعامل مع Lora ، لذلك بالنسبة لهذه الأجهزة ، أستخدم micropython.
رابط تثبيت الويب
تأكد من تثبيت إصدار "المستشعرات" من صورة Tasmota.
فيما يلي بعض لقطات Tasmota من جهاز V4 المصور في الجزء العلوي من هذا ReadMe.
| 
فيما يلي الإعدادات الرئيسية التي قمت بتغييرها من الافتراضي في واجهة التحكم. اقرأ عن هذه الإعدادات وغيرها هنا.
ملحوظات
POWER2 ON الأمرOutput Hi بدلاً من Relay 2 . سيتم تعيينه بعد ذلك في وقت مبكر من عملية التمهيد في Tasmota ، ولا يزال يتم إيقاف تشغيله عندما يذهب Microcontroller إلى نوم عميق.ابحث هنا عن برنامج Lora Micropython الخاص بي والتعليمات: https://github.com/brev-dev/lora_esp8266_sensor_mqtt_bridge.
على الرغم من عدم تغطيته بواسطة هذا الريبو ، فإليك بعض الملاحظات السريعة حول المكان الذي تجلس فيه هذه الأجهزة في إعداد منزلي الكامل.
تم تصميم إعداد منزلي لتحقيق هذه الأهداف:
لتمكين التحكم في درجة الحرارة في كل غرفة ، يتم توصيل المشعات بمقابس ذكية ESP8285 المتقاعدة.
"المحور" عبارة عن Raspberry Pi 4 مجهز بالبعوض ، و nodered ، و informuxdb ، و grafana. من المحتمل أن يتم تبسيط تدفقاتي المعروضة من خلال استبدال الكثير منها ، على سبيل المثال ، HeryeSsistant ، لكنني لم أبحث عن ذلك. يتم استخدام مزيج من inforxdb و grafana لتخزين وتصور البيانات التاريخية (الأمثلة أدناه) ، إلى جانب تطبيق "MQTT DASH" على هواتفنا لمراقبة الوضع الحالي وتغيير مستويات درجة الحرارة والرطوبة. يستخدم مكدس برامج RPI Docker و IotStack لسهولة التكوين والصيانة. لدى Andreas Spiess بعض مقاطع الفيديو الرائعة حول هذا الموضوع ، بما في ذلك: #255 و #295 و #352.


