สารบัญ:

Windows Shades อัตโนมัติ: 6 ขั้นตอน (พร้อมรูปภาพ)
Windows Shades อัตโนมัติ: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Windows Shades อัตโนมัติ: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Windows Shades อัตโนมัติ: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to Install a Window Shade For Dummies 2024, กรกฎาคม
Anonim
Image
Image
Windows Shades อัตโนมัติ
Windows Shades อัตโนมัติ
Windows Shades อัตโนมัติ
Windows Shades อัตโนมัติ

คำข้างหน้า

ฉันได้เห็นบทช่วยสอนมากมายเกี่ยวกับวิธีปรับม่านบังตาและมู่ลี่แบบอัตโนมัติแล้ว ในบทนี้เราจะปรับเฉดสีไฟฟ้าให้เป็นแบบอัตโนมัติ เราจะครอบคลุมเฉดสีไฟฟ้าที่วิ่งโดยมอเตอร์ไฟฟ้ากระแสตรง (DC) ที่เปิดหรือปิดโดยการกลับขั้วของกระแสไฟฟ้า

แม้ว่าคุณจะซื้อเฉดสีไฟฟ้า คุณจะได้รับการทำงานอัตโนมัติ แต่ก็มีเหตุผลสำหรับการทำระบบอัตโนมัติด้วยตัวคุณเอง เช่น:

* คุณอาจมีเพียงสวิตช์ที่อยู่ใกล้พวกเขาสำหรับการควบคุมขึ้น/ลง

* ถูกกว่า (บางบริษัทเสนอระบบอัตโนมัติขั้นสูงสำหรับเงินพิเศษจำนวนมาก)

* มีความยืดหยุ่นมากขึ้น คุณสามารถตั้งโปรแกรมให้เปิดหรือปิดในสถานการณ์ต่างๆ ได้ เราจะเรียนรู้เกี่ยวกับการสร้างเว็บเซิร์ฟเวอร์ใน python ที่จะเชื่อมต่อกับอินเทอร์เฟซของ shade Bluetooth และเปิดเผย API เพื่อควบคุมเฉดสี เราจะทำการบูรณาการด้วย ด้วย Thingspeak และคุณสามารถทำสิ่งต่างๆ เช่น ควบคุมเฉดสีตามกำหนดเวลาหรือควบคุมผ่านอินพุตเซ็นเซอร์

นี่จะเป็นบทช่วยสอนระดับกลาง คุณจะต้องมีทักษะเช่นการบัดกรี การเขียนโปรแกรม Arduino ความเข้าใจทางอิเล็กทรอนิกส์ขั้นพื้นฐาน และวิธีการติดตั้งบริการบนเซิร์ฟเวอร์ การรันและการกำหนดค่า

หากคุณชอบวิดีโอ youtube คุณสามารถสมัครรับข้อมูลได้ที่นี่

ขั้นตอนที่ 1: สิ่งที่จำเป็น

สิ่งที่จำเป็น
สิ่งที่จำเป็น
สิ่งที่จำเป็น
สิ่งที่จำเป็น

เคล็ดลับ: ขยายภาพเพื่อดูคำอธิบายบนฉลาก

อะไหล่:

1. Arduino pro mini รุ่น 16Mhz 5V (eBay) 2$

2. โมดูลบลูทูธ HC-05 (eBay) 3.3$

3. 5 V รีเลย์สองช่อง (eBay) 1.6$

4. ทรานซิสเตอร์ NPN ที่มีเรทอย่างน้อยสองสามแอมป์ ฉันเคยใช้ Tip142T < 1$

5. 220 โอห์ม, ตัวต้านทาน 0.25W <1$

6. ไดโอด 1N4004 <1$

7. สายไฟสำหรับต่อชิ้นส่วน < 1$

8. PCB (eBay) <1$ ต่อชิ้น

9. 2 x KF301-2P ขั้วต่อสกรูเสียบ (eBay) <1$ ต่อชิ้น

10. สายจัมเปอร์ชาย-หญิง (eBay) 1.2$ x 2 สำหรับมัด

11. L7805CV 5V regulator (eBay) < 1$ ต่อชิ้น

12. ปลั๊กแจ็คเสียบปลั๊กไฟ DC ขนาด 5.5 มม. ตัวผู้และตัวเมีย (eBay) < 1$ ต่อชิ้น

13. ท่อหดความร้อนหรือเทปฉนวน

14. แหล่งจ่ายไฟ แหล่งจ่ายไฟต้องได้รับการจัดอันดับสำหรับ 12V และ 2-3A

ฉันได้กู้ของฉันจากเครื่องชาร์จ 12 V 2 A (eBay) 3.2 $

14. บล็อกแถบเทอร์มินัล (eBay) 15c

15. ที่ยึดฟิวส์ (Aliexpress) ชิ้นละ 1$

16. ฟิวส์ (eBay) < 1$ ต่อชิ้น

17. ตัวเชื่อมต่อ pcb ชายและหญิง (eBay) < 1 $ สำหรับสิ่งที่เราต้องการ

18. สายไฟ AC

19. ตู้กล่องพลาสติก ของผม 6 x 19 cm

เครื่องมือ:

1. หัวแร้งพร้อมหัวแร้ง

2. เครื่องตัดลวด

3.ไขควงต่างๆ

4. เครื่องตัด

5. สว่านไฟฟ้าและดอกสว่าน 8.5 มม.

6. USB เข้ากับอะแดปเตอร์ FTDI อนุกรม FT232RL เพื่อตั้งโปรแกรม arduino pro mini

7. แล็ปท็อปที่ติดตั้ง ArduinoIDE เพื่อตั้งโปรแกรม Arduino

8. เบากว่าถ้าคุณใช้ Heat Shrink Tubing

9. สมาร์ทโฟนที่สามารถเชื่อมต่อบลูทูธได้ (ฉันใช้ Android ในตัวอย่าง) พร้อมติดตั้งซอฟต์แวร์บลูทูธ

10. อุปกรณ์เสริม: แว่นขยาย มัลติมิเตอร์ คีม

ขั้นตอนที่ 2: การเตรียมการ

การเตรียมการ
การเตรียมการ
การเตรียมการ
การเตรียมการ
การเตรียมการ
การเตรียมการ

การเลือกแหล่งจ่ายไฟและกล่องพลาสติก

สิ่งแรกคือการพิจารณาว่ามอเตอร์เฉดสีทำงานอย่างไรและกระแสไฟเท่าใด

ซึ่งสามารถทำได้โดยการอ่านข้อกำหนดหรือการวัดโดยใช้มัลติมิเตอร์ โดยปกติพวกมันจะทำงาน 12 V และ 1-3 แอมป์ (ของฉันคือ 2.5 A และ 12 V) คูณกระแสด้วยจำนวนที่คุณต้องการขับพร้อมกัน (ฉันขับสอง) เพื่อค้นหากระแสสูงสุดที่ต้องการ คุณควรหาแหล่งจ่ายไฟที่มีแรงดันไฟฟ้าเท่ากันทุกประการและมีกำลังไฟฟ้าเท่ากันหรือสูงกว่าเล็กน้อย

ในขั้นตอนนี้ ฉันได้โกงเล็กน้อย โดยใช้แหล่งจ่ายไฟ 12 V และ 2.5 A เพื่อขับเคลื่อนมอเตอร์ 12 V และ 2.5 A สองตัว ซึ่งหมายความว่ามอเตอร์ใช้พลังงานมากเป็นสองเท่าของแหล่งจ่ายไฟ แต่การใช้เทคนิคที่เรียกว่า PWM (ตรวจสอบลิงค์เพื่อดูรายละเอียดเพิ่มเติม) ฉันสามารถขับมอเตอร์พร้อมกันด้วยความเร็วที่ต่ำกว่าได้

เหตุผลที่ฉันทำเช่นนี้ก็เพื่อประหยัดพื้นที่ในกล่อง (ฉันเลือกกล่องที่เล็กกว่า)

กล่องหุ้มพลาสติกจะต้องเป็นที่เก็บแหล่งจ่ายไฟ รีเลย์สองตัว แผงวงจรขนาดเล็กที่มีอุปกรณ์อิเล็กทรอนิกส์และสายไฟ ดังนั้นให้เลือกขนาดเพื่อให้ทุกอย่างเข้าที่

พาวเวอร์ซัพพลายของฉันมีโครงพลาสติกที่ฉันฉีกออกเป็นชิ้นๆ โดยใช้เครื่องมือเดรเมล ฉันตัดสายไฟที่มีอยู่แล้ว และด้วยวิธีนี้ ฉันก็จะได้พาวเวอร์ซัพพลายขนาดเล็กและราคาถูกที่เหมาะกับโครงการของฉัน (ดูรูป)

เตรียมสายมอเตอร์

คุณต้องคำนวณว่าสายมอเตอร์จะยาวแค่ไหน จนกว่าจะถึงกล่องควบคุมที่เราสร้างขึ้น เป็นไปได้ว่าสายเคเบิลที่มีอยู่นั้นยาวไม่พอ และคุณจะต้องยืดออก ดึงสายไฟทั้งสอง (สายเคเบิลของใบมีดที่มีอยู่และสายเคเบิลต่อขยาย) ที่ปลายด้านหนึ่ง ใส่ท่อหดด้วยความร้อน บัดกรีสายไฟ จากนั้นใช้ความร้อนด้วย เบากว่าเพื่อเป็นฉนวน

ที่ปลายสายต่อจะมีแจ็คเสียบปลั๊ก DC Power Plug ขนาด 5.5 มม. ตัวผู้ คุณต้องบัดกรีสายไฟสองเส้นเข้ากับซ็อกเก็ตผลลัพธ์สุดท้ายจะเหมือนกับในภาพ

การใส่แจ็คเสียบปลั๊ก DC Power ขนาด 5.5 มม. ตัวเมียลงในกล่อง

ใช้เครื่องเจาะเจาะสองรูที่ใหญ่พอให้แม่แรงเลื่อนผ่าน เสียบปลั๊กไฟเข้า ขันสกรูโดยใช้น็อต จากนั้นบัดกรีสายไฟสีดำและสีแดงหนาเข้ากับอินพุตของแจ็คแต่ละตัว จากนั้นหุ้มฉนวนโดยใช้ท่อหดความร้อน สายไฟควรยาวพอที่จะเข้าไปในแผงขั้วต่อสายได้ง่าย แต่ไม่ควรยาวเกินไปเพื่อใช้พื้นที่มากเกินไป

การติดที่ยึดฟิวส์กับฟิวส์

เจาะรูเล็กๆ ที่ด้านหนึ่งของกล่องเพื่อใส่น็อตเล็กๆ ที่ยึดตัวยึดฟิวส์เข้าที่ จากนั้นใช้คีม ไขควงปากแบน และน็อต ขันให้แน่นเข้าที่ ตัวยึดฟิวส์ควรอยู่ใกล้กับตำแหน่งแหล่งจ่ายไฟ และควรอยู่ภายในกล่อง ตรวจสอบภาพอีกครั้ง

ขั้นตอนที่ 3: สร้าง PCB ด้วยอุปกรณ์อิเล็กทรอนิกส์

สร้าง PCB ด้วยอุปกรณ์อิเล็กทรอนิกส์
สร้าง PCB ด้วยอุปกรณ์อิเล็กทรอนิกส์
สร้าง PCB ด้วยอุปกรณ์อิเล็กทรอนิกส์
สร้าง PCB ด้วยอุปกรณ์อิเล็กทรอนิกส์
สร้าง PCB ด้วยอุปกรณ์อิเล็กทรอนิกส์
สร้าง PCB ด้วยอุปกรณ์อิเล็กทรอนิกส์

PCB จะถือไมโครคอนโทรลเลอร์, การสื่อสารบลูทูธ, โมดูล RTC, ทรานซิสเตอร์กำลังพร้อมไดโอดสำหรับการป้องกันและเรซิสเตอร์ขนาดเล็ก, สายไฟคอนเนคเตอร์ และเรกูเลเตอร์ 5V

ฉันได้แนบแผนผัง fritzig เพื่อให้ทุกอย่างง่าย รูปภาพแรกแสดงถึงภาพที่ส่งออกของแผนผัง และฉันได้แนบไฟล์ sketch.fzz ด้วย (คุณสามารถเปิดไฟล์ต้นฉบับได้ด้วยเครื่องมือนี้)

ขั้นตอนการบัดกรี:

1. ตัดขั้วต่อ PCB ตัวเมีย มีขั้วต่อ 12 พินสองตัวสำหรับไมโครคอนโทรลเลอร์ นอกจากนี้ยังมีขั้วต่อ 6 พินสำหรับบลูทูธ และขั้วต่อ 12 พินอีกอันที่ด้านขวาของไมโครคอนโทรลเลอร์ และขั้วต่อสองพินสำหรับรีเลย์เชิงลบ และพลังบวก

2. หลังจากตัดตัวเชื่อมต่อทั้งหมดแล้วจะต้องบัดกรีที่ด้านหลังของPCB

3. ประสานขั้วต่อปลั๊ก KF301-2P สองตัว

4. ใส่ L7805CV 5V regulator บน PCB งอขาแล้วบัดกรีอีกด้านหนึ่ง จากนั้นตัดขาส่วนเกินด้วยที่ตัดสายไฟ

5. ประสานทรานซิสเตอร์ NPN Tip142T และไดโอดป้องกัน 1N4004 จากนั้นตัดขาส่วนเกินออก

6. ประสานตัวต้านทาน 220 โอห์มระหว่างพินดิจิตอลที่สอดคล้องกัน 5 และพินฐานทรานซิสเตอร์

7. ประสานสายไฟที่หนาขึ้นระหว่างทรานซิสเตอร์และปลั๊ก KF301-2P (สีแดงและสีดำตามที่ระบุไว้ในภาพ)

8. ประสานสายไฟเส้นเล็กสีแดง (+) สีดำ (-) และสีขาว (สัญญาณ) ทั้งหมดตามแผนผังของฟริตซิก

9. บัดกรีหมุดตัวผู้บนไมโครคอนโทรลเลอร์คุณต้องมีหมุดตัวผู้ 12 ตัวที่ด้านข้าง

10. ทำการเชื่อมต่อระหว่างหมุดตัวเมียด้านขวาของไมโครคอนโทรลเลอร์แต่ละตัว (อธิบายได้ดีกว่าในภาพ) การเชื่อมต่อจะทำโดยใช้เพียงบัดกรี (หมุดจะปิด)

11. ตัวเลือกเสริม: ด้วยแว่นขยายตรวจสอบการบัดกรีสำหรับการลัดวงจร และตรวจสอบว่าสายไฟถูกบัดกรีที่ด้านหลังของ PCB อย่างถูกต้องหรือไม่ นอกจากนี้ คุณสามารถตรวจสอบด้วยมัลติมิเตอร์ (การตั้งค่าความต้านทาน) หากมีไฟฟ้าลัดวงจรระหว่างขั้วบวกและขั้วบวก การเชื่อมต่อเชิงลบ การทดสอบอื่นคือการจ่ายไฟให้กับวงจรโดยไม่ต้องใช้ไมโครคอนโทรลเลอร์ Bluetooth

12. วางไมโครคอนโทรลเลอร์และบลูทูธ HC-05 บน pcb

ขั้นตอนที่ 4: การเดินสายไฟและการประกอบ

การเดินสายไฟและการประกอบ
การเดินสายไฟและการประกอบ
การเดินสายไฟและการประกอบ
การเดินสายไฟและการประกอบ

ถึงตอนนี้ เรามี pcb ของเราพร้อมแล้ว กล่องพลาสติกของเราก็พร้อมสำหรับสายไฟที่ต่อสาย และส่วนประกอบอื่นๆ ของเราที่เตรียมไว้ สิ่งที่เราต้องทำตอนนี้คือต่อระบบ

1. เสียบสายไฟ AC ผ่านรูด้านบนในกล่อง ดึงสายเคเบิลออกแล้วบัดกรีที่แหล่งจ่ายไฟ (หากแหล่งจ่ายไฟของคุณมีสกรู ให้ขันสกรู)

2. ใช้ลวดสีแดงบัดกรีเอาต์พุต (+) ของแหล่งจ่ายไฟไปยังด้านใดด้านหนึ่งของฟิวส์ ใช้ท่อหดด้วยความร้อนเล็กน้อยเพื่อซ่อนลวดที่ถอดออก

3. บัดกรีลวดสีแดงอีกเส้นหนึ่งไปอีกด้านหนึ่งของฟิวส์โดยใช้ท่อหด อีกด้านหนึ่งของลวดควรสอดและขันเข้ากับอินพุต (+) ของขั้วต่อสกรู KF301-2P

4. บัดกรีลวดสีดำด้านเอาต์พุต (-) ของแหล่งจ่ายไฟแล้วขันเข้ากับขั้วต่อสกรู KF301-2P ของอินพุต PCB

4. ใช้ขั้วต่อเขียงหั่นขนมชาย - หญิงเชื่อมต่อรีเลย์บวกและลบกับขั้วต่อตัวเมียบวกและลบของ pcb เชื่อมต่อพิน 8 และ 9 ของไมโครคอนโทรลเลอร์ (โดยใช้ตัวเชื่อมต่อแม่ pcb ทางด้านซ้ายของ PCB) กับพินทริกเกอร์รีเลย์

5. เชื่อมต่อด้านหนึ่งของแผงขั้วต่อเข้ากับสายไฟสีดำสีแดงตามลำดับซึ่งมาจากขั้วต่อปลั๊กไฟ DC ขนาด 5.5 มม. ตัวเมีย ในคุณมีขั้วต่อตัวเมียขนาด 5.5 มม. มากกว่าหนึ่งตัวเหมือนที่ฉันทำ จากนั้นสายสีแดงทั้งหมดจะไปสิ้นสุดที่ด้านซ้ายบนของแผงขั้วต่อ และสายสีดำทั้งหมดที่ด้านขวาบนของแผงขั้วต่อ (ดูภาพ)). เมื่อคุณใช้งานม่านบังตา หากไม่เคลื่อนไปในทิศทางเดียวกัน เราจะทำการย้อนกลับสายไฟที่นี่ (เพิ่มเติมในภายหลัง)

6. เชื่อมต่อสายไฟบวกและลบที่มาจากขั้วต่อสกรู KF301-2P (ออก) เข้ากับตรงกลางของขั้วรีเลย์ ตรงกลางของขั้วเรียกว่าทั่วไป

7. เชื่อมต่อด้านซ้ายของรีเลย์ด้านซ้าย (ไม่ว่าคุณจะหันหน้าไปทางไหนก็ตาม) กับด้านซ้ายของรีเลย์ด้านขวาไปยังด้านซ้ายล่างของแผงขั้วต่อ จากนั้นเชื่อมต่อด้านขวาของรีเลย์ด้านซ้ายกับด้านขวาของรีเลย์ด้านขวากับด้านล่างขวาของแผงขั้วต่อ แผงขั้วต่อจะมีด้านบนเชื่อมต่อกับขั้วต่อตัวเมียขนาด 5.5 มม. (ดูขั้นตอนที่ 5)

หมายเหตุ: ฉันได้อธิบายแผงขั้วต่อว่ามีด้านบนและด้านล่างซึ่งมีด้านซ้ายและขวา ไม่สำคัญว่าคุณจะถือแผงขั้วต่ออย่างไรตราบเท่าที่คุณจำได้ว่าด้านไหนคือด้านใด คุณสามารถตรวจสอบรูปภาพและโดยเฉพาะอย่างยิ่งแผนผังฟริตซิก

ขั้นตอนที่ 5: รหัส Arduino

รหัส Arduino
รหัส Arduino

ต้องอัปโหลดรหัสไปยัง arduino pro mini โดยใช้ USB กับอะแดปเตอร์ FTDI อนุกรม FT232RL

คุณจะต้องเชื่อมต่อพิน GND, VCC, Rx, Tx และ DTR กับ arduino pro mini จากนั้นเปิดซอฟต์แวร์ Arduino เลือกเครื่องมือ/พอร์ต และพอร์ตใดก็ตามที่คุณใช้อยู่ แล้วก็ Tools/Board/Arduino Pro หรือ Pro Mini จากนั้น เครื่องมือ/บอร์ด/โปรเซสเซอร์/ATmega328 (5V 16Mhz)

สุดท้าย เปิดภาพร่างด้านล่างแล้วกดอัปโหลด

การปรับ: สิ่งเดียวที่สามารถปรับได้ในแบบร่างคือ pwmPower ค่าสามารถอยู่ระหว่าง 0 ถึง 255 และแสดงคร่าวๆ ว่ากำลังจ่ายไฟไปที่มอเตอร์เฉด โดยพื้นฐานแล้วจะเป็นการเปิดและปิดเครื่องอย่างรวดเร็ว ฉันได้ปรับใช้เป็นส่วนใหญ่เพื่อให้ฉันสามารถใช้แหล่งจ่ายไฟขนาดเล็กลงได้โดยไม่เกิดความร้อนสูงเกินไปหรือปิดเครื่อง หากแหล่งจ่ายไฟของคุณมีกำลังมากกว่าที่มอเตอร์จะดึงออกมา คุณสามารถตั้งค่า pwmPower เป็น 255

โปรแกรมนี้ทำงานอย่างไร: อันดับแรกจะฟังซีเรียลไลน์ (ซอฟต์แวร์รองซีเรียล) สำหรับการส่งสัญญาณขาเข้า เมื่อส่งมาถึง ข้อความจะถูกอ่านในบัฟเฟอร์จนกระทั่ง ";" มีอยู่หรือถึงจุดสิ้นสุดของบัฟเฟอร์ จากนั้นจะแยกวิเคราะห์และหากอยู่ในรูปแบบที่ถูกต้อง (เช่น O45;) ฟังก์ชัน toggleState จะถูกเรียกด้วยสถานะพารามิเตอร์แรก แล้วตามด้วยระยะเวลา

เพื่อให้ได้สวิตช์ขั้ว รีเลย์ทั้งสองเปิดหรือปิด ทรานซิสเตอร์เปิดและปิดโดยใช้ PWM ตามระยะเวลาที่กำหนด O45 จะหมายถึงเปิดเป็นเวลา 45 วินาที

หลังจากดำเนินการคำสั่ง บัฟเฟอร์จะถูกล้าง

ขั้นตอนที่ 6: การใช้งาน

การใช้งาน
การใช้งาน
การใช้งาน
การใช้งาน
การใช้งาน
การใช้งาน

เราสามารถใช้การควบคุมได้มากกว่าหนึ่งวิธี

1. ผ่านแอพพลิเคชั่นบลูทูธ android หรือ iphone (ง่ายที่สุด)

ในการสาธิตของฉัน ฉันเลือกแอป Android ชื่อ Bluetooth Controller แอพนี้ให้คุณปรับแต่งปุ่มที่จะส่งข้อมูลอนุกรม ฉันได้สร้างปุ่มขึ้นและลงสองปุ่ม ฉันได้เชื่อมโยง Up กับรหัส "C40;" และดาวน์ด้วย "O35;"

“ซี40;” หมายความว่าฉันจะปิด (หด) เฉดสีเป็นเวลา 40 วินาที "035" หมายความว่าจะเปิด (ขึ้น) เป็นเวลา 35 วินาที ";" เป็น command terminator ที่ฉันเลือกไว้ในภาพสเก็ตช์ นั่นหมายความว่ามันส่งสัญญาณการสิ้นสุดของคำสั่ง

2. ผ่านสคริปต์หลามที่ทำงานอย่างต่อเนื่องในพื้นหลัง

นี่คือส่วนขั้นสูงของบทช่วยสอน ฉันมีสคริปต์หลามที่จะทำงานบนเซิร์ฟเวอร์เช่นราสเบอร์รี่ pi หรือแล็ปท็อปที่มีการเข้าถึงอินเทอร์เน็ต มันจะเชื่อมต่อกับบลูทูธบนกล่องควบคุม และจะแสดง http API API สามารถเข้าถึงได้โดยตรงหรือผ่าน Thingspeak

ฉันจะอธิบายทีละขั้นตอนว่าคุณต้องทำอะไร

NS. สิ่งแรกคือการจับคู่บลูทูธ

คุณจะใช้คำสั่ง bluetoothctl จากคอนโซล ภายใน type

เปิดเครื่อง

ค้นพบได้บนตัวแทนบนตัวแทนเริ่มต้นที่จับคู่ได้เมื่อสแกนบนคู่ xx:xx:xx:xx:xx:xx:xx (และป้อนรหัสผ่าน) trust xx:xx:xx:xx:xx:xx:xx (ถ้าไม่มีรหัสผ่าน):

ถัดไปเปิดไฟล์การกำหนดค่าบลูทูธ

กลุ่ม /etc/bluetooth/rfcomm.conf

ภายในคุณจะต้องกำหนดค่าอุปกรณ์บลูทู ธ ของคุณดังนี้:

rfcomm1 {

ผูกใช่; อุปกรณ์ your_bluetooth_mac_address บางอย่างเช่น 97:D3:31:21:A0:51; ช่อง 1; แสดงความคิดเห็น "การเชื่อมต่อกับเฉดสีของฉัน bt"; }

ผูก รีสตาร์ทบริการบลูทูธ

sudo rfcomm ผูก allsudo /etc/init.d/bluetooth รีสตาร์ท sudo hciconfig hci0 ขึ้น

NS. ติดตั้งขวด การรับรองความถูกต้องพื้นฐานของขวด:

sudo -H pip ติดตั้ง Flask Flask-BasicAuth

ค. สร้างไฟล์ server.py ด้วยรหัสต่อไปนี้และเรียกใช้เซิร์ฟเวอร์:

# การใช้งาน: python httpToBluetooth ชื่อผู้ใช้ รหัสผ่าน bluetooth_address

# หมายเหตุ: ชื่อผู้ใช้, รหัสผ่านถูกใช้

นำเข้าระบบปฏิบัติการ, บลูทูธ, sys, threading

จากการนำเข้าขวด ขวดจาก flask_basicauth นำเข้า BasicAuth จากการนำเข้าคิว แอปคิว = การกำหนดค่าขวด (_name_) = sys.argv app.config['BASIC_AUTH_USERNAME'] = การกำหนดค่า[1] app.config['BASIC_AUTH_PASSWORD'] = การกำหนดค่า[2] คิว = Queue() basic_auth = BasicAuth(app) class BluetoothBackground(threading. Thread): def _init_(self, bluetooth_address, queue): threading. Thread._init_(self) self._bluetooth_address = bluetooth_address self._queue = คิว self.shutdown = เรียกใช้ def ผิดพลาด (ตัวเอง): self._bluetooth = self.get_bluetooth () ในขณะที่ไม่ปิดตัวเอง: ข้อความ = self._queue.get() self._bluetooth.send (ข้อความ) self._bluetooth.close () def get_bluetooth (ตัวเอง)): connection = bluetooth. BluetoothSocket(bluetooth. RFCOMM) connection.settimeout(None) ลอง: connection.connect((self._bluetooth_address, 1)) ยกเว้น Exception, e: พิมพ์ 'Error connection to bluetooth' + str(e) connection.setblocking(False) ส่งคืนคลาสการเชื่อมต่อ Webserver(threading. Thread): def run(self): port = in t(os.environ.get('PORT', 5000)) app.run(host='0.0.0.0', port=port, debug=True, use_reloader=False) @app.route("/send_to_serial/") @basic_auth.required def send_to_serial(command): queue.put(command) return 'ok' threads = threads.append(BluetoothBackground(configuration[3], queue)) threads.append(เว็บเซิร์ฟเวอร์()) [thread.start () สำหรับเธรดในเธรด]

เพื่อเรียกใช้เซิร์ฟเวอร์ดำเนินการ:

รหัสผ่านผู้ใช้ python server.py 97:D2:31:20:A0:51

ตกลง ดังนั้น server.py จึงเป็นสคริปต์ของเรา ผู้ใช้และรหัสผ่านคือข้อมูลประจำตัวที่ใช้สำหรับการตรวจสอบสิทธิ์ และ "97:D2:31:20:A0:51" คือที่อยู่ MAC ของบลูทูธ

NS. ใช้เซิร์ฟเวอร์ของคุณเพื่อส่งคำสั่งจากที่ใดก็ได้ในโลก

จากประเภทเบราว์เซอร์:

- ป้อนผู้ใช้และรหัสผ่านที่คุณตั้งค่าไว้ก่อนหน้านี้เมื่อเริ่มต้นเซิร์ฟเวอร์หลาม

- "C30;" เป็นคำสั่งที่จะส่งต่อไปยังอุปกรณ์บลูทูธ (กล่องของเราที่จะควบคุมเฉดสี)

- ตรวจสอบว่าพอร์ต 5000 ไม่ถูกบล็อกโดยไฟร์วอลล์ของคุณ (เรากำลังใช้พอร์ตนั้นอยู่)

- หากคุณอยู่หลังเราเตอร์ (เช่น raspberry pi) คุณต้องทำการส่งต่อพอร์ตจากเราเตอร์จากพอร์ต 5000 ไปยังพอร์ต 5000

อี คุณสามารถใช้ thingspeakto ทำสิ่งต่างๆ เช่น ควบคุมเฉดสีตามกำหนดเวลาหรือเมื่อข้อมูลเซ็นเซอร์ช่องสัญญาณบางส่วนเปลี่ยนแปลง ตัวอย่างเช่น คุณสามารถขอเซ็นเซอร์วัดแสง (ภายนอก) เพื่อคิดและเมื่อระดับแสงลดลงถึงระดับหนึ่ง (เป็นเวลาเย็น) คุณสามารถปิดม่านบังตาเพื่อไม่ให้คนภายนอกมองเห็นคุณ

คุณสามารถเชื่อมต่อเฉดสี (เซิร์ฟเวอร์หลามที่เราตั้งค่าไว้ก่อนหน้านี้) กับ Thingspeak โดยใช้ ThingHTTP

ฉันได้รวมรูปภาพของแบบฟอร์ม ThingHTTP พร้อมข้อมูลที่กรอกไว้เป็นตัวอย่างและรูปภาพที่มี TimeControl ดังนั้นเพื่อความยืดหยุ่นสูงสุด thingspeak ควรทำสิ่งที่คุณต้องการ

3. ผ่านแอปพลิเคชันระบบอัตโนมัติที่บ้านของฉัน

สิ่งนี้ซับซ้อนกว่าเล็กน้อย แอปพลิเคชันระบบอัตโนมัติที่บ้านของฉันทำมากกว่าการควบคุมเฉดสี

นอกจากนี้ยังควบคุมไฟ ประตู มีเซ็นเซอร์หลายตัว ทำงานร่วมกับสวิตช์และมีกฎเกณฑ์ที่ผู้ใช้กำหนดที่ซับซ้อน เช่น เปิดม่านบังแสงหากระดับแสงภายในต่ำ หรือเป็นตอนเช้า

คุณสามารถตรวจสอบที่เก็บ github ของฉันได้ และหากคุณมีคำถาม เรายินดีที่จะตอบคำถามเหล่านั้น

หากคุณพบว่าบทช่วยสอนของฉันมีประโยชน์บ้าง โปรดแชร์หรือเพิ่มในรายการโปรด และฉันต้องการเห็นความคิดเห็นที่น่าสนใจเช่นกัน:)

แนะนำ: