מפנס ועד חיישן תנועה עם ESP8266 ו- MQTT: 5 שלבים (עם תמונות)
מפנס ועד חיישן תנועה עם ESP8266 ו- MQTT: 5 שלבים (עם תמונות)
Anonim
Image
Image
נוריות LED צריכות להיות מוגבלות
נוריות LED צריכות להיות מוגבלות

בפוסט זה אציג פריטים להלן:

  • נוריות LED צריכות מעגל זרם מגביל
  • איך להכין פנס
  • צור אור המופעל על ידי הסוללה הניידת, ועמעם את הנורות על ידי ESP8266 באמצעות MQTT

הסרטון הוא סיכום והסבר קצר כיצד זה עובד,

תכננתי לכלול חיישן PIR, אך ההדרכה מתארכת למדי כך שחיישן PIR יוצג בחלק השני של נושא זה

אז בואו נתחיל.

שלב 1: נוריות LED צריכות להיות מוגבלות

למתחילים, זה מוזר בהתחשב איך בדרך כלל להדליק נורת ליבון או פלורסנט. לא לדאוג, נורות הלד האלה על המדף כבר מגיעות עם מתאם מתח AC-DC וזרם מגביל. אבל יהיה נחמד להכין משהו מההתחלה.

מפתח אחד להפעלת LED הוא מעגל הגבלת זרם. זה פועל כשסתום לזרם, כך שברגע שהמתח המופעל על הלד הופך אותו למוליך, הזרם זורם דרך נוריות הלדים לא יכול להיות גדול מזה שהוסדר על ידי המעגל. נוריות LED כושלות בדרך כלל כתוצאה מחימום יתר. אין מעגל הגבלת זרם במקום הוא דרך בטוחה לשרוף את הנורות בתוך כמה שניות. אגב, תיקון שבבי ה- LED, אלה המגיעים על מסגרת האלומיניום, לגוף קירור מפחיתים את שבב ה- LED ומומלץ בדרך כלל.

גירדתי את ראשי הרבה כשלמדתי את זה בסביבות 2015, ועדיין גירדתי את הראש (מסיבות שונות). למדתי מהדרכה הזו וההסבר הברור שלו חוסך לי כמה קרעים.

המעגל מצורף. הקווים הנועזים מסמנים את נתיב העומס הראשי, והדקים יותר מציינים את מנגנון הבקרה לשליטה בזרם המסלול הראשי שהוא כ -150 mA. בויקיפדיה יש מאמר קצר וכמה הפניות מצורפות. ניתן לבנות את מגבלת הזרם עם טרנזיסטור על ידי החלפת MOSFET עם טרנזיסטורים של עומס זרם בינוני כגון BD135, BD139.

שלב 2: הכינו פנס

הכינו פנס
הכינו פנס
הכינו פנס
הכינו פנס
הכינו פנס
הכינו פנס
הכינו פנס
הכינו פנס

דרושים חלקים:

  1. MOSFET בערוץ N (IRF540N $ 1.62/10 יח ', 30N06, $.1.75/10 יח')
  2. טרנזיסטור NPN (כגון S8085)
  3. 3.9 אוהם - נגד 2W, הזרם מוגבל סביב 0.6/3.9 = 153mA
  4. נגד 100kR (1/4W)
  5. מתג נעילת דחיפה
  6. יש 0.5W 8 מ"מ LED, $ 3.18/100 יחידות כאן
  7. סוללת ליתיום 18660. חילצתי כמה מהם מבנק כוח. סוללת מחשב נייד (4, 6, 8 תאים) עשויה מתא 18650 אך זהירה עם הדברים האלה.
  8. 1 boost עד 12V לוח, כמו זה, 0.56 $
  9. מטען ליתיום אחד כמו זה, 0.30 $

ההבדל העיקרי במעגל לעיל הוא שימוש בסוללת ליתיום (18660) עם לוח הגברה במקום במתאם מתח 5V מדומה.

התמונה האחרונה מראה את הפנס הסופי והוא נטען מכל מקור מיקרו USB (> 1A).

שלב 3: אינטרנט של דברים עם הפנס הזה?

אינטרנט של דברים עם הפנס הזה?
אינטרנט של דברים עם הפנס הזה?
אינטרנט של דברים עם הפנס הזה?
אינטרנט של דברים עם הפנס הזה?
אינטרנט של דברים עם הפנס הזה?
אינטרנט של דברים עם הפנס הזה?

אני מחלק את החלק הזה לשלושה שלבים:

  • הכינו מנוי (זה)
  • הגדרת שרת MQTT (השלב הבא)
  • ולהכין מוציא לאור (הבא)

חלקים:

ראשית, כן, השתמשתי במילת המפתח הזו, aka IOTs, אבל זה יכול ליצור שילוב טוב של שימוש במעגל בשלב 2 עם ESP8266 ולאחר מכן לשלוט בעוצמת האור בשיטת MQTT.

חלקי המעגל זהים, למעט:

  1. החלף את ההגבהה של 12V על ידי לוח ההגבהה של MT3608, $ 1.92/5 יח ', זה יכול להגביר את המתח של סוללת 18650 (בערך 3.7V) ל -28 וולט, מספיק כדי להפעיל 8LEDs (במקום 3).
  2. מיקום הדחיפה בבורר מחובר ל- GPIO 1 או 2 ב- ESP8266 עבור אות PWM.
  3. ESP8266 01, 1.68 $ כל אחד. כמו זה
  4. AMS1117 3.3 V, ווסת מתח ל- ESP8266, כמה קבלים
  5. מודול USB להבזק ESP8266, $ 0.78/יח 'כמו זה

Btw. הקישורים האלה נועדו לנוחותכם.

הלחמה והעלאה:

  • חלקים הלחמה יחד, ולהשתמש סכמות לעיל. חלק ממעגל המתח 3.3 עשוי עשוי לחסוך לך זמן ($ 1.38/5 יח 'כזה). הייתי מבולבל לזכור את הסיכה כשהפכתי את לוח ה- PCB ובסופו של דבר לספק איזה ווסת מתח AMS1117.
  • הַבָּא. בצע שינוי קטן כמו בתמונה השלישית כדי להחזיק את GPIO 0 ל- GND, הקש במהירות על סיכת RST עם סיכת GND כדי להכניס את ESP8266 ל- Flashmode.
  • הורד את הקוד כאן מה- GitHub שלי והעלה את הקוד ל- ESP 8266 באמצעות Arduino IDE.

הדגשתי את השורה כדי להציג את הנושא אליו נרשם המנוי. כל הודעה שתפורסם בנושא זה תועבר ללקוחות אחרים (מנויים) לנושא זה. ה- EPS8266 במעגל זה יקשיב להודעת JSON שפורסמה בנושא וישתחרר אם יבוצע שינוי בערוץ השלישי

* פעם חשבתי שאני יכול לשים נגד נפתח (100k) כדי לקרקע את שער ה- MOSFET כאשר ה- ESP8266 לא הוצג. זה עובד בהיעדר ESP8266, אך עם ESP8266 הנגד גם מוריד את ה- GPIO0 או 2 ל- GND, מה שהופך אותו למצב פלאש או לא אתחול (כאשר GPIO2 נמוך). תראה ירוק מוצק אם זה יקרה.

שלב 4: הגדרת שרת MQTT

הגדרת שרת MQTT
הגדרת שרת MQTT
הגדרת שרת MQTT
הגדרת שרת MQTT
הגדרת שרת MQTT
הגדרת שרת MQTT
הגדרת שרת MQTT
הגדרת שרת MQTT

MQTT (Message Queuing Telemetry Transport) הוא פרוטוקול התעסקות המבוסס על שיטת פרסום-הרשמה. מכשיר שמארח והוצא הודעת MQTT נקרא מתווך. כמו מתווך אמיתי, הוא מארח את חילופי הדברים בין שותפים (מוכרים) למנויים (קונים). שום כסף לא מחליף ידיים לאלה. יש הרבה הדרכות לכך.

הנה הסיכום. Raspberry Pi הוא המכשיר הפופולרי ביותר עבור זה. פריסט, התקן את MQTT על ידי:

sudo apt-get להתקין לקוחות יתושים

בדוק אם שרת MQTT פועל על ידי שני מסופים פתוחים ב- Raspberry, אחד הקלד את השורה הראשונה והשני עבור השני:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "say something"

אתה צריך לראות את "תגיד משהו" מופיע במסוף הראשון. וואלה! זה עובד.

ניתן להשתמש ב- "#" להאזנה לכל נושא, ולהחליף את "yourtopic" ב- "#"

עכשיו אתה לא רוצה שמישהו יוכל לפרסם או להירשם לשרת MQTT שלך, עליך להגדיר סיסמה על ידי:

תקליטור ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user יכולים להיות שמות משתמש אחרים שאתה אוהב, הזן את הסיסמה פעמיים, ועדכן את קובץ.conf לפי:

sudo nano /etc/mosquitto/mosquitto.conf

מוסיף את שתי השורות הבאות:

allow_anonymous false

password_file/home/pi/pwfile

לאחר מכן הפעל מחדש את היתוש על ידי:

sudo systemctl הפעל מחדש את היתוש

בצע בדיקה על ידי הכללת השם עם סיסמה כגון:

mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "האם זה מאובטח?"

כמו כן אם ה- MQTT מסרב לחיבור, נסה זאת כדי להעמיד את שירות MQTT לרקע של מערכת לינוקס על ידי:

יתוש -d

גיליתי שההתייחסויות האלה טובות למראה. למדתי משהו משני אלה היום.

  1. Adafruit:
  2. Stees-internet-guide.com

שלב 5: הכנת מוציא לאור

הכן מוציא לאור
הכן מוציא לאור
הכן מוציא לאור
הכן מוציא לאור
הכן מוציא לאור
הכן מוציא לאור
הכן מוציא לאור
הכן מוציא לאור

עבור זה, אני יוצר לוח מחוונים פשוט לדחוף את ההודעה לשרת MQTT. במצב המתנה, ה- LCD מציג את השעון.

חלקים:

  1. תצוגת מסך SSD1306, $ 2.41 כל אחד
  2. EPS8266 WEMOS D1 מיני, 2.53 $ כל אחד
  3. פוטנציומטר
  4. מתג שקופית בעל 4 פינים.
  5. שני נוריות 3 מ"מ,
  6. כמה נגדים

הַלחָמָה:

להלן התרשימים של מסוף זה:

העלה את הקוד:

המותג WEMOS ESP8266 נעים לעבודה. אתה צריך רק מיקרו USB, לחץ על כפתור ההעלאה ב- Arduino IDE הבזק את השבב. הקוד נמצא כאן (GitHub):

כדי לפרסם הודעה, לחץ על המתג כדי להדליק את הנורית הירוקה (והאדומה), ולאחר מכן החלק את הסיכה והתקן אותה, ולבסוף לחץ שוב על הכפתור כדי לדחוף את ההודעה לשרת MQTT. לוח המחוונים יכול לפרסם הודעת JSON ל -4 ערוצים.

תסתכל על גולת הכותרת בקוד (צילום מסך). זה הנושא שאליו לוח המחוונים דוחף את המסר, והנורות שלנו מאוד להוטות לראות חדשות מהודעת JSON

זהו בערך. אני מקווה שההדרכה מועילה.