สารบัญ:
- ขั้นตอนที่ 1: รับรายการที่จำเป็นทั้งหมด
- ขั้นตอนที่ 2: เตรียม Raspberry Pi ของคุณให้พร้อม
- ขั้นตอนที่ 3: เชื่อมต่อทุกอย่างเข้าด้วยกัน
- ขั้นตอนที่ 4: สร้างฐานข้อมูลของคุณ
- ขั้นตอนที่ 5: เวลาสำหรับรหัส
- ขั้นตอนที่ 6: ลองเลย
วีดีโอ: Fanair: สถานีตรวจอากาศสำหรับห้องของคุณ: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
มีวิธีนับไม่ถ้วนในการค้นหาสภาพอากาศในปัจจุบัน แต่คุณจะรู้เพียงสภาพอากาศภายนอกเท่านั้น จะทำอย่างไรถ้าคุณต้องการทราบสภาพอากาศภายในบ้านของคุณ ภายในห้องใดห้องหนึ่ง นั่นคือสิ่งที่ฉันพยายามแก้ไขกับโครงการนี้
Fanair ใช้เซ็นเซอร์หลายตัวเพื่อตรวจจับ:
- อุณหภูมิ
- ความชื้น
- แสงสว่าง
- ก๊าซบางชนิด
- ความกดอากาศ
มีขนาดกะทัดรัดมากและใช้ประโยชน์จาก Raspberry Pi 3 B เพื่อรับค่า บันทึกไว้ในฐานข้อมูล MySQL และทำให้พร้อมใช้งานบนเว็บไซต์ได้อย่างง่ายดาย สิ่งที่รวมอยู่ในรหัสและเว็บไซต์คือความสามารถในการรับข้อมูลสภาพอากาศจริงสำหรับตำแหน่งของคุณ เพื่อให้สามารถใช้เว็บไซต์เพื่อตรวจสอบสภาพอากาศภายนอกได้เช่นกัน
ขั้นตอนที่ 1: รับรายการที่จำเป็นทั้งหมด
ก่อนอื่น คุณจะต้องใช้อุปกรณ์อิเล็กทรอนิกส์พื้นฐาน เช่น สายไฟ / สายจัมเปอร์ หากคุณวางแผนที่จะบัดกรีทุกอย่างเข้าด้วยกันเป็นโครงการถาวร คุณจะต้องใช้หัวแร้ง หัวแร้ง และ PCB เพื่อประสานทุกอย่างเพื่อความสะดวกสบายของคุณเอง
สำหรับรายการที่เฉพาะเจาะจงมากขึ้น ฉันได้จัดทำรายการวัสดุนี้
- ราสเบอร์รี่ Pi 3 B
- MPC3008 - 8-Channel 10-Bit ADC
- AM2301 เทอร์โมมิเตอร์วัดอุณหภูมิและความชื้น
- WR Rademacher WR-tyoe 930-1 PCB
- เคส ABS สำหรับสร้างต้นแบบ (สีดำ)
- LDR
- เซ็นเซอร์ก๊าซ MQ135
- 2x BC517 ทรานซิสเตอร์ดาร์ลิงตัน
- RGB LED
- ตัวต้านทานแพ็ค
- Buzzer
- สายไฟ
- BMP280 บารอมิเตอร์
- พัดลม USB แบบเงียบ (5V)
ทั้งหมดนี้ควรมีราคาประมาณ € 110 โปรดทราบว่าราคารวมเป็นค่าประมาณ นอกจากนี้ โปรเจ็กต์ของฉันยังมีหน้าจอ LCD ในรูปภาพ แต่ไม่ได้เชื่อมต่อเนื่องจากเคสของฉันมีพื้นที่ไม่เพียงพอ ดังนั้นจึงไม่รวมอยู่ในคำแนะนำ
ขั้นตอนที่ 2: เตรียม Raspberry Pi ของคุณให้พร้อม
รับ Raspian Jessie ของคุณด้วยระบบปฏิบัติการ Pixel จากเว็บไซต์ Raspberry Pi อย่างเป็นทางการและเมื่อดาวน์โหลดแล้วให้เปิดเครื่องรูด คุณจะได้ไฟล์รูปภาพ เพื่อให้ได้มันบน Pi คุณจะต้องเขียนลงใน SD-Card โดยใช้ Win32 Disk Imager เมื่อติดตั้งแล้ว ให้เลือกไฟล์รูปภาพและไดรฟ์ที่คุณมี SD-Card แล้วกดเขียนรอจนเสร็จ
เมื่อเสร็จแล้ว ให้คลิกที่ SD-Card ของคุณใน File Explorer และเปิดไฟล์ชื่อ 'cmdline.txt' ไปที่ท้ายไฟล์ข้อความก่อน rootwait และเขียน 'ip=254.169.10.2' พร้อมช่องว่างรอบๆ แน่นอน หลังจากที่คุณบันทึก คุณควรคลิกขวาที่ใดที่หนึ่งในหน้าต่างและสร้างไฟล์ใหม่ชื่อ 'ssh' ขอให้สังเกตว่าไฟล์นี้ไม่มีนามสกุลไฟล์ เพื่อให้แน่ใจว่าไม่มีส่วนขยาย ให้คลิกที่ 'ดู' ใน file explorer และทำเครื่องหมายที่ 'ไฟล์ที่ซ่อนอยู่' หากเปลี่ยนชื่อและลบส่วนขยายเพื่อให้อ่านว่า 'ssh'
หลังจากนั้นคุณสามารถใส่ SD-Card ของคุณใน Raspberry Pi ได้ ดาวน์โหลดไคลเอนต์ ssh (ฉันแนะนำ MobaXterm) และเชื่อมต่อโดยใช้ ssh กับ IP ที่คุณตั้งไว้ก่อนหน้านี้ '254.169.10.2' ชื่อผู้ใช้คือ 'pi' รหัสผ่าน 'raspberry' หากคุณต้องการ คุณสามารถเปลี่ยนรหัสผ่านได้โดยพิมพ์คำสั่ง 'sudo passwd' ในเทอร์มินัลแล้วทำตามคำแนะนำ เนื่องจากเราจะใช้ SD-Card จำนวนมากสำหรับ Fanair คุณจึงควรขยายพื้นที่จัดเก็บข้อมูลที่มีอยู่โดยพิมพ์ 'sudo rapi-config' เลือก 'Advanced Options' จากนั้น 'Expand File System' หากได้รับแจ้งให้รีสตาร์ท
เราจะใช้ประโยชน์จากอินเทอร์เฟซ 1-wire, SPI และ I2C คุณต้องตั้งค่าก่อนจึงจะใช้งานได้!
ขั้นตอนที่ 3: เชื่อมต่อทุกอย่างเข้าด้วยกัน
ถึงเวลาสร้างวงจร! ครั้งแรกที่คุณควรลองใช้บนเขียงหั่นขนม แต่ถ้าคุณไม่มีเวลาลองประสานเข้าด้วยกัน
วงจรที่คุณต้องการจะมีลักษณะเหมือนด้านบน เพื่อความสะดวกมีรุ่นเขียงหั่นขนมรวมอยู่ด้วย
ขั้นตอนที่ 4: สร้างฐานข้อมูลของคุณ
เพื่อบันทึกข้อมูลทั้งหมดที่คุณจะได้รับอย่างมีประสิทธิภาพ เราจะใช้ฐานข้อมูล TSQL MySQL ก่อนติดตั้ง MySQL ให้ตรวจสอบให้แน่ใจว่าทุกอย่างเป็นปัจจุบันโดยพิมพ์คำสั่งสองสามคำสั่งในเทอร์มินัล:
- 'sudo apt-get อัปเดต'
- 'sudo apt-get อัปเกรด'
- 'sudo apt-get dist-upgrade'
ยอมรับทุกข้อความแจ้งโดยพิมพ์ 'y' แล้วป้อน
ในการติดตั้งประเภท MySQL:
- 'sudo apt-get ติดตั้งเซิร์ฟเวอร์ mysql'
- 'sudo apt-get ติดตั้ง mysql-client'
เมื่อได้รับแจ้งให้สร้างรหัสผ่านรูทที่คุณเลือก
หลังจากเสร็จสิ้นการติดตั้งเข้าสู่ระบบโดยใช้:
'mysql -uroot -p'
และพิมพ์รหัสผ่านของคุณ
รับรหัส Fanair จาก My Github! คลิกที่ 'โคลนหรือดาวน์โหลด' จากนั้น 'ดาวน์โหลด ZIP' เปิดเครื่องรูดรหัสในโฟลเดอร์ที่คุณเลือก แบบสอบถามเพื่อสร้างฐานข้อมูลที่ใช้งานได้อย่างสมบูรณ์อยู่ในโฟลเดอร์ฐานข้อมูล เปิดไฟล์คัดลอกโค้ดและวางลงในเทอร์มินัลโดยเปิด MySQL จากนั้นคลิก Enter และฐานข้อมูลเสร็จสิ้น!
ขั้นตอนที่ 5: เวลาสำหรับรหัส
ในการใช้งานเซ็นเซอร์ทั้งหมด คุณจำเป็นต้องเรียกใช้โปรแกรมอย่างชัดเจน โชคดีที่โค้ดเสร็จเรียบร้อยแล้ว (โดยส่วนใหญ่) และเราดาวน์โหลดมาแล้วเมื่อได้รับแบบสอบถาม SQL ของฐานข้อมูล
อย่างที่ฉันบอกไปว่ามีบางสิ่งที่ยังต้องเปลี่ยนแปลง/เพิ่มเพื่อให้โปรแกรมทำงานได้อย่างถูกต้อง ก่อนอื่นโปรแกรมใช้ Darksky API เพื่อรับข้อมูลสภาพอากาศตามลองจิจูดและละติจูด เพื่อใช้งานคุณต้องลงทะเบียน ฟรี 1,000 การโทรแรก และหลังจากนั้นจะมีค่าใช้จ่าย 0.0001 ดอลลาร์ต่อการโทรหนึ่งครั้ง ฉันได้ยินมาว่าถ้าคุณไม่จ่ายเงิน บัญชีของคุณจะถูกบล็อก เพื่อความเป็นธรรม 0.0001 ดอลลาร์ต่อการโทรหนึ่งครั้งนั้นค่อนข้างถูก Fanair เรียกใช้ข้อมูลล่าสุดทุก ๆ ชั่วโมง ซึ่งหมายความว่าในหนึ่งปีหากทำงานเต็มเวลา คุณจะเสียค่าใช้จ่ายเพียง 0.876 ดอลลาร์เท่านั้น คุณยังได้รับฟรี 41 วันหาก Fanair ทำงานเต็มเวลา
เมื่อลงทะเบียนแล้ว ให้มองหาคีย์ API ของคุณ ค้นหาลองจิจูดและละติจูดของตำแหน่งของคุณบน Google Maps หรือลอง google สร้างไฟล์ข้อความใหม่ในไดเร็กทอรีรูทของ Fanair (พร้อมคลาส main.py …) ตั้งชื่อไฟล์ 'key_location.txt' เปิดไฟล์ข้อความและวางคีย์ Darksky API ในบรรทัดแรก ในบรรทัดที่สอง ให้วางลองจิจูดของคุณ และในบรรทัดที่สาม ให้วางละติจูดของคุณ (ทั้งในรูปแบบทศนิยม) เมื่อคุณทำเสร็จแล้วให้บันทึกไฟล์
ในไดเร็กทอรีเดียวกัน ให้สร้างไฟล์ข้อความอีกไฟล์ชื่อ 'database_dsn.txt' บรรทัดแรกควรเป็น 'localhost' บรรทัดที่สองคือ 'รูท' ในบรรทัดที่สาม คุณควรพิมพ์รหัสผ่านที่คุณสร้างไว้สำหรับฐานข้อมูลก่อนหน้านี้ และในบรรทัดที่สี่และสุดท้าย คุณควรพิมพ์ 'fanair'
คลิกขวาที่ไฟล์ main.py แล้วเลือกแก้ไข ต้องเปลี่ยน 'fanair = Fanair(5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' หากคุณติดตามรูปภาพ 5 ค่าแรกควรเปลี่ยนจาก '5, 26, 17, 27, 22, 4' เป็น '20, 21, 26, 19, 13' '/home/muhsin/Applications/Fanair' ควรเปลี่ยนเป็นเส้นทางรูท Fanair ของคุณด้วย (โดยที่ main.py คือ) อย่าลืมใส่เครื่องหมายทับหน้า 'บ้าน' แต่ไม่ใช่หลัง 'Fanair'
ตอนนี้ทุกอย่างดีมาก แต่โค้ดต้องได้รับใน Pi โชคดีสำหรับเราที่มีโปรโตคอล sftp อยู่ ในการวางไฟล์บน Pi ให้ใช้ไคลเอ็นต์ sftp เช่น FileZilla หรือหากคุณตัดสินใจใช้ MobaXterm คุณสามารถอัปโหลดไฟล์ได้อย่างง่ายดายในอินเทอร์เฟซ sftp ทางด้านซ้ายของเทอร์มินัล
จากประสบการณ์ของฉัน ฉันไม่ได้รับวันที่และเวลาที่ถูกต้องใน Raspberry Pi เสมอไป เพื่อให้แน่ใจว่าคุณจะได้รับวันที่และเวลาที่ถูกต้อง ฉันแนะนำให้ทำตามคำแนะนำนี้: Raspberry Pi ซิงค์วันที่และเวลา
และสุดท้ายต้องติดตั้งไลบรารีสองสามตัวและต้องเปิดใช้งานอินเทอร์เฟซบางส่วน:
'sudo apt-get ติดตั้ง build-essential python-dev'
อดาฟรุต DHT:
'pip3 ติดตั้ง adafruit_python_dht'
1-สาย:
- 'sudo raspi-config'
- 'ตัวเลือกการเชื่อมต่อ'
- '1 สาย'
- เปิดใช้งาน
- 'sudo nano /boot/config.txt'
- เพิ่มบรรทัดนี้ในไฟล์: 'dtoverlay=w1-gpio'
- 'sudo รีบูต'
เอสพีไอ:
- 'sudo raspi-config'
- 'ตัวเลือกการเชื่อมต่อ'
- 'เอสพีไอ'
- เปิดใช้งาน
- 'sudo รีบูต'
- 'sudo nano /boot/config.txt'
- ค้นหา 'dtparam=spi=on' และยกเลิกความคิดเห็นโดยลบแฮชแท็ก
- 'sudo apt-get ติดตั้ง python3-dev
Smbus:
- 'sudo raspi-config''
- 'ตัวเลือกการเชื่อมต่อ'
- 'ไอทูซี'
- เปิดใช้งาน
- 'sudo รีบูต'
- 'sudo apt-get install -y python-smbus'
- 'sudo apt-get install -y i2c-tools'
- 'sudo nano /boot/config.txt'
- ค้นหา dtparam=i2c_arm=on และยกเลิกความคิดเห็นโดยลบแฮชแท็ก
กระติกน้ำ
pip3 ติดตั้ง Flask
ตัวเชื่อมต่อ mysql
'pip3 ติดตั้ง -Iv mysql-connector==2.1.4'
สไปเดฟ
'pip3 ติดตั้ง py-spidev'
ฟ้ามืด
'pip3 ติดตั้ง darkskylib'
ขั้นตอนที่ 6: ลองเลย
หากคุณทำได้ไกลขนาดนี้ ให้แตะหลังตัวเอง ตอนนี้ทุกอย่างเสร็จสิ้นเพื่อให้ Fanair ทำงานได้อย่างถูกต้อง เพื่อทดสอบพิมพ์ 'cd ""' ตำแหน่งไฟล์คือ "/home/pi" ตัวอย่างเช่น หากคุณเพิ่งวางในโฮมไดเร็กตอรี่ของคุณ จากนั้นพิมพ์ 'python3 main.py' แล้วปล่อยทิ้งไว้ 15 นาที เพื่อให้มีข้อมูลในฐานข้อมูลเมื่อเสร็จสิ้น หลังจากนั้นกด 'ctrl + c' หยุดโปรแกรมและพิมพ์ 'python3 Flask.py' หากต้องการดูว่าเว็บไซต์ของคุณใช้งานได้หรือไม่ คุณต้องท่องไปยังที่อยู่ IP ของ Pi ที่คุณสร้างด้วย ':5000' ต่อจากนี้ (เช่นนี้: 169.254.10.1:5000')
เพื่อให้ทำงานโดยอัตโนมัติหลังจากบู๊ต:
'sudo nano /etc/rc.local'
ในตอนท้ายของไฟล์ แต่ก่อนที่จะออก 0:
'sudo python3 "/main.py" &'
'sudo python3 "/Flask.py" &'
ยินดีด้วย ตอนนี้สคริปต์ของคุณควรทำงานตั้งแต่เริ่มต้น และคุณทำเสร็จแล้ว! หากคุณวางแผนที่จะดำเนินโครงการต่อไปและยังไม่ได้ดำเนินการ เราขอแนะนำให้คุณประสานทุกอย่างเข้าด้วยกัน เพื่อให้แน่ใจว่าทุกอย่างยังคงอยู่ แม้ว่าคุณจะไม่เล่นเพื่อขยับไปมามากนัก เขียงหั่นขนมก็ใช้ได้เช่นกัน
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-