สารบัญ:
- ขั้นตอนที่ 1: ไฟ LED ต้องการกระแสไฟที่จะ จำกัด
- ขั้นตอนที่ 2: สร้างไฟฉาย
- ขั้นตอนที่ 3: อินเทอร์เน็ตของสิ่งต่าง ๆ ด้วยไฟฉายนี้?
- ขั้นตอนที่ 4: ตั้งค่าเซิร์ฟเวอร์ MQTT
- ขั้นตอนที่ 5: เตรียมผู้จัดพิมพ์
วีดีโอ: จากไฟฉายสู่เซ็นเซอร์ตรวจจับความเคลื่อนไหวด้วย ESP8266 และ MQTT: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ในโพสต์นี้ฉันจะนำเสนอรายการด้านล่าง:
- ไฟ LED ต้องการวงจรกระแสไฟที่ จำกัด
- วิธีทำไฟฉาย
- สร้างไฟจากแบตเตอรี่แบบพกพา และหรี่ไฟ LED โดย ESP8266 ผ่าน MQTT
วิดีโอนี้เป็นบทสรุปและคำอธิบายสั้นๆ เกี่ยวกับวิธีการทำงาน
ฉันวางแผนที่จะรวมเซ็นเซอร์ PIR แต่บทช่วยสอนจะค่อนข้างยาวเพื่อให้เซ็นเซอร์ PIR ถูกนำเสนอในส่วนที่สองของหัวข้อนี้
ดังนั้นให้เริ่มต้น
ขั้นตอนที่ 1: ไฟ LED ต้องการกระแสไฟที่จะ จำกัด
สำหรับผู้เริ่มต้น เรื่องนี้ดูแปลกมากเมื่อพิจารณาจากปกติว่าจะเปิดหลอดไส้หรือหลอดฟลูออเรสเซนต์อย่างไร ไม่ต้องกังวล หลอดไฟ LED บนชั้นวางมาพร้อมกับอะแดปเตอร์แปลงไฟ AC เป็น DC และกระแสไฟที่จำกัด แต่จะดีมากถ้าได้ทำอะไรตั้งแต่เริ่มต้น
กุญแจสำคัญในการเปิด LED คือวงจรจำกัดกระแส สิ่งนี้ทำงานเป็นวาล์วสำหรับกระแส ดังนั้นเมื่อแรงดันไฟฟ้าที่ใช้กับ LED ทำให้กลายเป็นสื่อกระแสไฟฟ้า กระแสไฟที่ไหลผ่าน LED จะต้องไม่ใหญ่กว่าที่ควบคุมโดยวงจร ไฟ LED ล้มเหลวมักเกิดจากความร้อนสูงเกินไป ไม่มีวงจรจำกัดกระแสไฟเข้าที่เป็นวิธีที่แน่นอนในการเผาไหม้ไฟ LED ในไม่กี่วินาที อย่างไรก็ตาม การติดชิป LED ที่อยู่บนเฟรมอะลูมิเนียมเป็นฮีทซิงค์จะลดชิป LED และแนะนำโดยทั่วไป
ฉันเกาหัวมากเมื่อเรียนรู้สิ่งนี้ในปี 2558 และยังคงเกาหัวอยู่ (ด้วยเหตุผลที่แตกต่างกัน) ฉันเรียนรู้จากบทช่วยสอนนี้และคำอธิบายที่ชัดเจนของเขาช่วยฉันได้บ้าง
วงจรที่แนบมา เส้นหนาหมายถึงเส้นทางโหลดหลัก และเส้นที่บางกว่าระบุกลไกการควบคุมเพื่อควบคุมกระแสไฟของเส้นทางหลักซึ่งอยู่ที่ประมาณ 150 mA Wikipedia มีบทความสั้น ๆ และเอกสารอ้างอิงบางส่วนแนบมาด้วย การจำกัดกระแสสามารถสร้างได้ด้วยทรานซิสเตอร์โดยแทนที่ MOSFET ด้วยทรานซิสเตอร์โหลดกระแสปานกลาง เช่น BD135, BD139
ขั้นตอนที่ 2: สร้างไฟฉาย
ชิ้นส่วนที่จำเป็น:
- N-channel MOSFET (IRF540N $1.62/10 ชิ้น, 30N06, $.1.75/10 ชิ้น)
- ทรานซิสเตอร์ NPN (เช่น S8085)
- ตัวต้านทาน 3.9 โอห์ม – 2W กระแสจำกัดประมาณ 0.6/3.9 = 153mA
- ตัวต้านทาน 100kR (1/4W)
- สวิตช์กดล็อค
- มี LED 0.5W 8 มม. $3.18/100 ชิ้นที่นี่
- แบตเตอรี่ลิเธียม 18660 ฉันกู้บางส่วนของพวกเขาจากธนาคารพลังงาน แบตเตอรี่แล็ปท็อป (4, 6, 8 เซลล์) ทำจากเซลล์ 18650 แต่ระวังของเหล่านั้นด้วย
- 1 บูสต์สูงถึงบอร์ด 12V แบบนี้ $0.56
- ที่ชาร์จลิเธียม 1 เครื่องเช่นนี้ ราคา $0.30
ความแตกต่างที่สำคัญของวงจรด้านบนคือการใช้แบตเตอรี่ลิเธียม (18660) ที่มีบอร์ดบูสต์อัพแทนอะแดปเตอร์แปลงไฟ 5V จำลอง
รูปสุดท้ายแสดงไฟฉายตัวสุดท้ายและกำลังชาร์จจากแหล่ง micro USB (>1A)
ขั้นตอนที่ 3: อินเทอร์เน็ตของสิ่งต่าง ๆ ด้วยไฟฉายนี้?
ฉันแบ่งส่วนนี้เป็นสามขั้นตอน:
- เตรียมสมัครสมาชิก (อันนี้)
- ตั้งค่าเซิร์ฟเวอร์ MQTT (ขั้นตอนถัดไป)
- และเตรียมผู้จัดพิมพ์ (รายต่อไป)
อะไหล่:
อย่างแรก ใช่ ฉันใช้คำศัพท์นั้น หรือที่เรียกว่า IOTs แต่อันนี้สามารถสร้างการผสมผสานที่ดีของการใช้วงจรในขั้นตอนที่ 2 กับ ESP8266 แล้วควบคุมความเข้มของแสงด้วยวิธี MQTT
ชิ้นส่วนสำหรับวงจรเหมือนกัน ยกเว้น:
- แทนที่ 12V boost up ด้วย MT3608 boost up board, $1.92/5 ชิ้น ตัวนี้สามารถเพิ่มแรงดันไฟฟ้าของแบตเตอรี่ 18650 (ประมาณ 3.7V) เป็น 28 V เพียงพอสำหรับจ่ายไฟ 8LEDs (แทน 3)
- ตำแหน่งยกเลิกการกดในสวิตช์เชื่อมต่อกับ GPIO 1 หรือ 2 ใน ESP8266 สำหรับสัญญาณ PWM
- ESP8266 01, $1.68 ต่ออัน ชอบอันนี้
- AMS1117 3.3 V, ตัวควบคุมแรงดันไฟฟ้าสำหรับ ESP8266, ตัวเก็บประจุบางตัว
- โมดูล USB สำหรับแฟลช ESP8266 ราคา $0.78/ชิ้น แบบนี้
บ. ลิงก์เหล่านั้นมีไว้เพื่อความสะดวก
การบัดกรีและการอัปโหลด:
- ประสานชิ้นส่วนเข้าด้วยกันและใช้แผนผังด้านบน วงจรแรงดันไฟ 3.3 ที่สร้างไว้ล่วงหน้าบางวงจรอาจช่วยคุณประหยัดเวลา ($ 1.38/5 ชิ้นเช่นนี้) ฉันสับสนที่จะจำพินเมื่อพลิกบอร์ด PCB และจบลงด้วยตัวควบคุมแรงดันไฟฟ้า AMS1117
- ต่อไป. ทำการปรับเปลี่ยนเล็กน้อยเช่นในรูปภาพที่สามเพื่อกด GPIO 0 ถึง GND ค้างไว้ จากนั้นแตะ RST Pin ด้วยพิน GND อย่างรวดเร็วเพื่อใส่ ESP8266 ลงในโหมดแฟลช
- ดาวน์โหลดรหัสที่นี่จาก GitHub ของฉัน และอัปโหลดรหัสไปยัง ESP 8266 โดยใช้ Arduino IDE
ฉันเน้นบรรทัดเพื่อแสดงหัวข้อที่สมาชิกสมัครรับข้อมูล ข้อความใด ๆ ที่โพสต์ในหัวข้อนี้จะถูกส่งต่อไปยังไคลเอนต์อื่น ๆ (สมาชิก) ไปยังหัวข้อนี้ EPS8266 ในวงจรนี้จะฟังข้อความ JSON ที่โพสต์ในหัวข้อและกระจายออกไปหากมีการเปลี่ยนแปลงในช่องที่สาม
* กาลครั้งหนึ่ง ฉันคิดว่าฉันสามารถใส่ตัวต้านทานแบบดึงลง (100k) เพื่อกราวด์ประตูของ MOSFET เมื่อไม่ได้นำเสนอ ESP8266 ใช้งานได้ในกรณีที่ไม่มี ESP8266 แต่ด้วย ESP8266 ตัวต้านทานจะดึง GPIO0 หรือ 2 ไปที่ GND ทำให้เป็นโหมดแฟลชหรือไม่บู๊ต (เมื่อ GPIO2 ต่ำ)) คุณจะเห็นสีเขียวทึบหากสิ่งนี้เกิดขึ้น
ขั้นตอนที่ 4: ตั้งค่าเซิร์ฟเวอร์ MQTT
MQTT (Message Queuing Telemetry Transport) เป็นโปรโตคอลที่ยุ่งเหยิงตามวิธีการเผยแพร่และสมัครรับข้อมูล อุปกรณ์โฮสต์ข้อความ MQTT เข้าและออกเรียกว่าโบรกเกอร์ เช่นเดียวกับโบรกเกอร์จริง ผู้ให้บริการโฮสต์การแลกเปลี่ยนระหว่างผู้เผยแพร่ (ผู้ขาย) และสมาชิก (ผู้ซื้อ) ไม่มีเงินเปลี่ยนมือเหล่านั้น มีบทเรียนมากมายสำหรับเรื่องนี้
นี่คือบทสรุป Raspberry Pi เป็นอุปกรณ์ยอดนิยมสำหรับสิ่งนี้ เริ่มแรก ติดตั้ง MQTT โดย:
sudo apt-get ติดตั้ง mosquitto mosquitto-clients
ทดสอบว่าเซิร์ฟเวอร์ MQTT ทำงานหรือไม่โดยเปิดสองเทอร์มินัลบน Raspberry หนึ่งพิมพ์บรรทัดแรกและอีกอันสำหรับถัดไป:
mosquitto_sub -h localhost -t "yourtopic"
mosquitto_pub -t "yourtopic" -h localost -m "พูดอะไรหน่อย"
คุณควรเห็น "พูดอะไรบางอย่าง" ปรากฏขึ้นที่เทอร์มินัลแรก วาลาห์! มันได้ผล.
"#" สามารถใช้เพื่อฟังหัวข้อใด ๆ แทนที่ "หัวข้อของคุณ" ด้วย "#"
ตอนนี้คุณไม่ต้องการให้ใครสามารถเผยแพร่หรือสมัครสมาชิกเซิร์ฟเวอร์ MQTT ของคุณได้ คุณควรตั้งรหัสผ่านโดย:
ซีดี ~
mosquitto_passwrd -c pwfile mqtt_user
mqtt_user สามารถเป็นชื่อผู้ใช้อื่นที่คุณต้องการ ป้อนรหัสผ่านสองครั้ง และอัปเดตไฟล์.conf โดย:
sudo nano /etc/mosquitto/mosquitto.conf
เพิ่มสองบรรทัดนี้:
allow_anonymous เท็จ
password_file /home/pi/pwfile
จากนั้นรีสตาร์ทยุงโดย:
sudo systemctl รีสตาร์ท mosquitto
ทำการทดสอบโดยใส่ชื่อพร้อมรหัสผ่านเช่น:
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 เป็นพื้นหลังของระบบ Linux โดย:
ยุง -d
ฉันพบว่าข้อมูลอ้างอิงเหล่านี้ดีที่จะได้ดู วันนี้ฉันเรียนรู้บางอย่างจากสองคนนี้
- อดาฟรุต:
- Stees-internet-guide.com
ขั้นตอนที่ 5: เตรียมผู้จัดพิมพ์
สำหรับสิ่งนี้ ฉันสร้างแดชบอร์ดอย่างง่ายเพื่อส่งข้อความไปยังเซิร์ฟเวอร์ MQTT ในโหมดสแตนด์ LCD จะแสดงนาฬิกา
อะไหล่:
- SSD1306 หน้าจอแสดงผล ชิ้นละ 2.41 เหรียญ
- EPS8266 WEMOS D1 Mini ชิ้นละ 2.53 เหรียญ
- โพเทนชิออมิเตอร์
- สวิตช์เลื่อนแบบ 4 พินหนึ่งตัว
- ไฟ LED 3 มม. สองดวง,
- ตัวต้านทานบางตัว
การบัดกรี:
นี่คือแผนผังของเทอร์มินัลนี้:
อัปโหลดรหัส:
WEMOS ESP8266 ที่มีตราสินค้านั้นน่าใช้งาน คุณต้องการเพียงไมโคร USB กดปุ่มอัปโหลดบน Arduino IDE แฟลชชิป รหัสอยู่ที่นี่ (GitHub):
หากต้องการเผยแพร่ข้อความ ให้กดสวิตช์เพื่อเปิดไฟ LED สีเขียว (และปิดสีแดง) จากนั้นเลื่อนหมุดขึ้นและปรับ จากนั้นกดปุ่มอีกครั้งเพื่อดันข้อความไปยังเซิร์ฟเวอร์ MQTT แดชบอร์ดสามารถเผยแพร่ข้อความ JSON ถึง 4 แชนเนล
ดูไฮไลท์บนโค้ด (ภาพหน้าจอ) นั่นคือหัวข้อที่แดชบอร์ดส่งข้อความไป และไฟ LED ของเรากระตือรือร้นที่จะเห็นสิ่งใหม่ๆ จากข้อความ JSON
ที่เกี่ยวกับมัน ฉันหวังว่าบทช่วยสอนจะเป็นประโยชน์
แนะนำ:
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
วิธีใช้ MQTT กับ Raspberry Pi และ ESP8266: 8 ขั้นตอน (พร้อมรูปภาพ)
วิธีใช้ MQTT กับ Raspberry Pi และ ESP8266: ในคำแนะนำนี้ ฉันจะอธิบายว่าโปรโตคอล MQTT คืออะไรและใช้อย่างไรในการสื่อสารระหว่างอุปกรณ์ต่างๆ จากนั้นในการสาธิตเชิงปฏิบัติ ฉันจะแสดงวิธีตั้งค่าสองอย่างง่ายๆ ระบบไคลเอ็นต์ โดยที่โมดูล ESP8266 จะส่งข้อความ
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร
อ่านมิเตอร์ไฟฟ้าหลักของคุณ (ESP8266, WiFi, MQTT และ Openhab): 6 ขั้นตอน (พร้อมรูปภาพ)
อ่านมิเตอร์ไฟฟ้ากำลังหลักของคุณ (ESP8266, WiFi, MQTT และ Openhab): ในคำแนะนำนี้ คุณจะพบว่าฉันอ่านการใช้พลังงานไฟฟ้าหลักในบ้านของฉันอย่างไรและเผยแพร่ผ่าน ESP8266, Wifi, MQTT ใน Openhab Home Automation ของฉัน ฉันมี 'สมาร์ทมิเตอร์' ISKRA Type MT372 แต่มันไม่มีความเป็นไปได้ง่าย ๆ ในการส่งออก th
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): 25 ขั้นตอน (พร้อมรูปภาพ)
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): นี่คือบทแนะนำเกี่ยวกับวิธีการสร้าง Quadcopter โดยใช้มอเตอร์ NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS & วิทยุ 3DR ฉันพยายามอธิบายแต่ละขั้นตอนด้วยรูปภาพจำนวนหนึ่ง หากคุณมีคำถามหรือความคิดเห็นใด ๆ โปรดตอบกลับ