สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การบัดกรีโมดูลอุณหภูมิ
- ขั้นตอนที่ 2: สร้างสายแปลง DCDC ของเรา
- ขั้นตอนที่ 3: ติดตั้ง Surfstick ของคุณ
- ขั้นตอนที่ 4: สร้างฐานข้อมูล PostgreSQL
- ขั้นตอนที่ 5: การเตรียมการ์ด SD
- ขั้นตอนที่ 6: การติดตั้ง Raspberry และเชื่อมต่อกับมันผ่าน SSH
- ขั้นตอนที่ 7: การติดตั้ง Logger
- ขั้นตอนที่ 8: การติดตั้ง Logger (โมดูลอุณหภูมิ)
- ขั้นตอนที่ 9: ดาวน์โหลดและปรับ Pyhton Script
- ขั้นตอนที่ 10: การติดตั้งโมดูล WittyPi
- ขั้นตอนที่ 11: ทำการเปลี่ยนแปลงบางอย่างในการตั้งค่า Java Virtual Machine
- ขั้นตอนที่ 12: ตั้งค่า Cron Job
- ขั้นตอนที่ 13: นำทุกอย่างมารวมกัน
- ขั้นตอนที่ 14: การติดตั้งขั้นสุดท้าย
วีดีโอ: ระบบตรวจสอบน้ำในแม่น้ำอัตโนมัติ: 14 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
Instrucatbale นี้ใช้เพื่อจัดทำเอกสารการพัฒนาระบบตรวจสอบน้ำในแม่น้ำแบบอัตโนมัติ พารามิเตอร์ที่ตรวจสอบคือระดับน้ำและอุณหภูมิของน้ำ เป้าหมายของโครงการนี้คือการพัฒนาตัวตัดไม้ต้นทุนต่ำและเป็นอิสระที่เชื่อมต่อกับฐานข้อมูล ระดับน้ำถูกตรวจสอบด้วยระดับ QR พิเศษ กล้อง Pi กำลังถ่ายภาพทุกๆ 15 นาที รหัส QR ในภาพนี้ถอดรหัสโดยซอฟต์แวร์และบ่งบอกถึงระดับน้ำจริง อุณหภูมิของน้ำวัดด้วยเซ็นเซอร์ DS18B20
เสบียง
- ราสเบอร์รี่ซีโร่ WH
- WittyPi Mini
- โมดูลกล้อง Raspberry Pi v2.1
- Huawei E3531 SurfStick
- ซิมการ์ด (ThingsMobile)
- DC DC Step Down Buck Converter
- DS18B20 เครื่องวัดอุณหภูมิดิจิตอล
- สาย OTG ไมโคร USB
- ปลายสายไมโคร USB
- กระจกหน้าต่าง
- ตู้ปิดผนึก (G258)
- ข้อต่อสาย
- Srew Terminal Block 3-pin
- ตัวต้านทาน 4,7kOhm
- แผงวงจรเปล่า 65x30mm
- ส่วนหัวปักหลัก 40 พิน
- 4 x M3x20 สกรู
- สกรู 8 xM3
- สายโทรศัพท์
- สายลำโพง
ขั้นตอนที่ 1: การบัดกรีโมดูลอุณหภูมิ
ในขั้นตอนนี้ เราสร้างโมดูลอุณหภูมิตั้งแต่เริ่มต้น มีขนาดเท่ากับ pHAT และสามารถเชื่อมต่อกับ GPIO 40 พินของ Pi ได้ วิธีนี้ช่วยให้เราติดตั้งเซ็นเซอร์ DS18B20 กับ Raspberry Pi ได้อย่างปลอดภัย
- ขั้นแรก เราต้องประสานหัวปักหลัก 40 พินเข้ากับแผงวงจรเปล่าขนาด 60x35 มม.
- ใส่ขั้วต่อสกรูและตัวต้านทานเข้าที่ตามที่แสดงในภาพ
- ต่อตัวต้านทานเข้ากับพินด้านนอกของขั้วต่อเทอร์มินัล
- ประสานตัวต้านทานและหมุดเข้าด้วยกัน
- บัดกรีสายเคเบิล (สีดำ แดง และเหลือง) กับหมุดที่แน่นอนของส่วนหัวการปักหลักและกับหมุดของแผงขั้วต่อ
- ในการเจาะรูยึด ก่อนอื่นให้ติดตั้งโมดูลกับ Raspberry Pi Zero ของคุณ จากนั้นเจาะด้วยดอกสว่านขนาด 3 มม. ผ่านรูที่มีอยู่จาก Raspberry Pi ของคุณไปยังโมดูลใหม่ของคุณ
- สุดท้าย คุณสามารถเชื่อมต่อเซ็นเซอร์ DS18B20 กับโมดูลของคุณโดยต่อสายเคเบิลของเซ็นเซอร์เข้ากับสีที่ตรงกันบนบอร์ดของคุณ
ขั้นตอนที่ 2: สร้างสายแปลง DCDC ของเรา
ในการจ่ายไฟให้กับ Raspberry Pi เราต้องแปลง 12V ที่เราได้รับจากแบตเตอรี่เป็น 5V เราใช้ตัวแปลงบั๊ก DC DC เพื่อลดแรงดันไฟฟ้า
- บัดกรีสายสีดำจากสายลำโพงของคุณเข้ากับพอร์ตที่ระบุว่า GND
- บัดกรีสายสีแดงเข้ากับพอร์ตที่มีป้ายกำกับ IN+
- บัดกรีสายสีดำจากสาย micro-USB ของคุณเข้ากับพอร์ตที่ระบุว่า GND
- บัดกรีสายสีแดงจากสาย micro-USB ของคุณเข้ากับพอร์ตที่มีป้ายกำกับ OUT+
- ตัดวงจรที่มีลูกศรสีแดงในภาพ
- เชื่อมแผ่นประสานเข้าด้วยกันเพื่อให้ได้เอาต์พุตคงที่ 5V (ลูกศรสีน้ำเงิน)
ขั้นตอนที่ 3: ติดตั้ง Surfstick ของคุณ
ในการสร้างการเชื่อมต่ออินเทอร์เน็ต เราต้องเชื่อมต่อเซิร์ฟสติ๊กกับ Raspberry Pi ขั้นแรกเราต้องทำการตั้งค่าบางอย่าง:
- ใส่ซิมการ์ดจากผู้ให้บริการมือถือที่คุณเลือกลงในเซิร์ฟสติ๊ก ในตัวอย่างนี้ เราใช้ซิมจาก Things Mobile
- เชื่อมต่อเซิร์ฟสติ๊กกับคอมพิวเตอร์ผ่าน USB
- หน้าต่างควรปรากฏขึ้นในเบราว์เซอร์ของคุณ
- ภายใต้ การตั้งค่า> การจัดการโปรไฟล์ เปลี่ยน APN เป็นผู้ให้บริการมือถือรายใดรายหนึ่งของคุณ For Things Mobile มันคือ "TM"
- เปิดใช้งานคุณสมบัติการโรมมิ่งภายใต้การตั้งค่า > การเชื่อมต่อมือถือ และ 'เปิด' ข้อมูลมือถือ
- คลิกสมัคร
- ในโฮมเพจ คุณสามารถตรวจสอบว่ามีการสร้างการเชื่อมต่อหรือไม่
- ตอนนี้คุณพร้อมแล้ว ถอดแท่งเซิร์ฟของคุณออก
- เซิร์ฟสติ๊กสามารถเชื่อมต่อกับ Raspberry ของคุณโดยไม่ต้องตั้งค่าเพิ่มเติมใดๆ
ขั้นตอนที่ 4: สร้างฐานข้อมูล PostgreSQL
ในขั้นตอนนี้ เราตั้งค่าฐานข้อมูลของเรา เราใช้ข้อเสนอระดับฟรีจาก Amazon Web Services
- ขั้นแรกให้สร้างบัญชีฟรีบน AWS:
- ทำตามบทช่วยสอนนี้เพื่อสร้างฐานข้อมูล PostgreSQL ของคุณและเรียนรู้วิธีเชื่อมต่อ:
ขั้นตอนที่ 5: การเตรียมการ์ด SD
ก่อนอื่นคุณต้องดาวน์โหลดภาพ Raspian Stretch Lite:
ดาวน์โหลด Raspberry Pi
ตอนนี้เราต้องแฟลชภาพบนการ์ด SD เปล่า (อย่างน้อย 16 GB) ใส่การ์ด SD ลงในเครื่องอ่านการ์ด SD ของคุณ ดาวน์โหลด Balena Etcher และติดตั้งบนคอมพิวเตอร์ของคุณ:
www.balena.io/etcher/
เปิด Balena Etcher เลือกไฟล์.zip ของรูปภาพ Raspian ที่คุณดาวน์โหลดไว้ก่อนหน้านี้ เลือกการ์ด SD ของคุณใน Select Drive คลิกแฟลช!
ขั้นตอนที่ 6: การติดตั้ง Raspberry และเชื่อมต่อกับมันผ่าน SSH
ก่อนที่เราจะสามารถใช้ Raspberry Pi ได้ เราต้องตั้งค่าเริ่มต้นก่อน
- ใส่การ์ด SD ลงใน Raspberry Pi แล้วเชื่อมต่อกับจอภาพ คีย์บอร์ด และเมาส์ (หากคุณไม่มีจอภาพ แป้นพิมพ์ และเมาส์เพิ่มเติม คุณสามารถทำการติดตั้งแบบไม่มีหัวได้ ดูว่ามันเคยทำมาแล้ว)
- ทำตามขั้นตอนการตั้งค่า Raspberry Pi ของคุณ [wifi, ภาษา, เขตเวลา]
- เปิดใช้งาน SSH ผ่าน Terminal บนคุณ PI:sudo raspi-configgo to: 5 Interfacing OptionsEnable SSH
-
บนคอมพิวเตอร์ของคุณ ดาวน์โหลด Termius โปรแกรมนี้ทำให้ง่ายต่อการเชื่อมต่อกับ Raspberry Pi ของเราผ่าน SSH.1 https://termius.com/2. สร้างบัญชี
3. สร้าง HOST4 ใหม่ กำหนดป้ายกำกับให้กับ Raspberry ของคุณ (เลือกชื่อ) 5. ป้อน IP-ADRESSE ของ PI จากเครือข่ายที่เข้าสู่ระบบ (หากคุณไม่ทราบ IP-ADRESSE คุณสามารถค้นหาด้วยโปรแกรมชื่อ "ADVANCED IP SCANNER") 7. ป้อนชื่อผู้ใช้ของคุณ (โดยค่าเริ่มต้น pi หากไม่มีการเปลี่ยนแปลง) 8. ป้อนรหัสผ่านของคุณ (ค่าเริ่มต้นคือราสเบอร์รี่หากไม่เปลี่ยนแปลง) 9. คลิกบันทึก 10. ดับเบิลคลิกที่โฮสต์ที่สร้างขึ้นใหม่ 11. ข้อความปรากฏขึ้น -> คลิกใช่
Raspberry ของคุณควรเชื่อมต่อกับคอมพิวเตอร์ของคุณผ่าน SSH
ขั้นตอนที่ 7: การติดตั้ง Logger
- เปิดใช้งานกล้องในตัวเลือกการเชื่อมต่อ: sudo raspi-configgo ไปที่: 5 ตัวเลือกการเชื่อมต่อเปิดใช้งาน Camerasudo รีบูต
- สร้างไดเร็กทอรีใหม่ใน /home/pi directorycd /home/pisudo mkdir Desktop
- สร้างไฟล์ python ใหม่ในไดเร็กทอรี Desktop cd Desktopsudo nano ctrl+ocall ไฟล์ qrbooftemp.pyenterctrl+x
- ติดตั้งแพ็คเกจ pyboof (ติดตั้ง numpy และ py4j โดยอัตโนมัติ) ซึ่งอาจใช้เวลานานถึง 40 min.sudo pip3 ติดตั้ง pyboof==0.33.1
- เรียกใช้การอัปเดต (หากคุณไม่ทำเช่นนี้ คุณอาจประสบปัญหาขณะติดตั้งแพ็คเกจในภายหลัง) sudo apt-get updatessudo apt-get install libpq-dev
- ติดตั้ง postgreSQL และ psycopg2 เพื่อโต้ตอบกับฐานข้อมูล postgreSQL ผ่าน Pythonsudo apt-get ติดตั้ง postgresqlsudo pip3 ติดตั้ง psycopg2
ขั้นตอนที่ 8: การติดตั้ง Logger (โมดูลอุณหภูมิ)
ในการติดตั้งโมดูลอุณหภูมิ คุณต้องติดตั้งโมดูลบน Raspberry Pi ของคุณด้วยเซ็นเซอร์ DS18B20 ที่ต่ออยู่ โมดูลได้รับการติดตั้งผ่านส่วนหัว 40 พิน
- เปิดใช้งาน 1-wire ในตัวเลือกการเชื่อมต่อsudo raspi-configgo ไปที่: 5 ตัวเลือกการเชื่อมต่อเปิดใช้งาน 1-Wiresudo รีบูต
- ตั้งค่าพิน 1-Wire เป็นพิน 23 และ gpu_mem=256sudo nano /boot/config.txt ต่อท้าย dtoverlay=w1-gpio, gpiopin=23, pullup=on ที่ส่วนท้ายของ filechange gpu_mem=128 เป็น gpu_mem=256
- เปิดใช้งาน 1-Wiresudo modprobe w1-gpiosudo modprobe w1-thermsudo รีบูต
- ค้นหาที่อยู่ของ DS18B20 ของคุณ ซึ่งควรเริ่มต้นด้วย 28- …cd /sys/bus/w1/devicesls เขียนที่อยู่ลงไป ซึ่งจำเป็นต้องใช้ในภายหลังในสคริปต์ Python
ขั้นตอนที่ 9: ดาวน์โหลดและปรับ Pyhton Script
- ดาวน์โหลดสคริปต์ Python บนคอมพิวเตอร์ของคุณและเปิดใน texteditorhttps://github.com/gremax93/QR-Code-Water-Level
- คัดลอกสคริปต์ทั้งหมดไปยังคลิปบอร์ดของคุณ (ctrl+a, ctrl+c)
- ไปที่ไฟล์หลามที่สร้างไว้ก่อนหน้านี้ /home/pi/Desktopsudo nano qrbooftemp.py
- ทำการคลิกขวาเพื่อแทรกสคริปต์
- เปลี่ยนที่อยู่เซ็นเซอร์อุณหภูมิเป็นที่อยู่ที่คุณจดไว้ก่อนหน้านี้
- เปลี่ยนการตั้งค่าการเชื่อมต่อ postgresql เป็นข้อมูลเฉพาะของคุณ ตามที่ระบุไว้ในสคริปต์
- บันทึกและ exitctrl+oenterctrl+x
ขั้นตอนที่ 10: การติดตั้งโมดูล WittyPi
- ดาวน์โหลดไฟล์การติดตั้งจาก Witty Pi wget
- เรียกใช้สคริปต์การติดตั้ง sudo sh installWittyPi.sh
- รีบูต sudo รีบูต
ขั้นตอนที่ 11: ทำการเปลี่ยนแปลงบางอย่างในการตั้งค่า Java Virtual Machine
ขั้นตอนนี้จำเป็นเพื่อให้แน่ใจว่า JVM จะเริ่มทำงานเมื่อมีการเรียกใช้สคริปต์ python
- ไปที่ไดเร็กทอรี py4j และเปิด jawa_gateway.py cd /usr/local/lib/python3.5/dist-packages/py4jsudo nano jawa_gateway.pyset DEFAULT_CALLBACK_SERVER_ACCEPT_TIMEOUT = 20
- ไปที่ไดเร็กทอรี pyboof และเปิด _init_.pycd /usr/local/lib/python3.5/dist-packages/pyboofsudo nano _init_.pyset while time.time() - start_time < 20.0
ขั้นตอนที่ 12: ตั้งค่า Cron Job
ในขั้นตอนนี้เราตั้งค่า cronjob เมื่อบูทราสเบอร์รี่ ด้วยวิธีนี้ทุกครั้งที่ Pi ตื่นขึ้น สคริปต์ python ของเราจะถูกดำเนินการ
- ตั้งค่า cronjob และเขียนลงในล็อกไฟล์ ทำให้การแก้ไขปัญหามีประสิทธิภาพมากขึ้น efficent.crontab -e@reboot sleep 20 && sudo python3 /home/pi/Desktop/qrbooftemp.py >> /home/pi/Desktop/log.txt
- ต่อท้ายบรรทัดอื่นเพื่อ crontab บรรทัดนี้ทำให้แน่ใจว่าเมื่อ WittyPi ล้มเหลว Raspberry Pi จะรีบูตต่อไป@reboot sleep 1500 && sudo rebootctrl+oenterctrl+x
ขั้นตอนที่ 13: นำทุกอย่างมารวมกัน
- ตรวจสอบให้แน่ใจว่า Pi ของคุณปิดอยู่ ถ้าไม่ ปิดมันลง sudo shutdown -h now
- ซ้อน WittyPi ของคุณบน Raspberry Pi และโมดูลอุณหภูมิที่ด้านบน
- ขันสกรู 3 โมดูลเข้าด้วยกัน
- แนบโมดูลกล้องเข้ากับพอร์ต CSI ของ raspberry pi zero
- ติดเซิร์ฟสติกของคุณกับ Raspberry Pi ผ่านสาย USB OTG
- ต่อสายไฟเข้ากับ WittyPi (ไม่ใช่กับ Raspberry Pi!)
- ใส่ทั้งหมดลงในปลอกแล้วปิดฝา
- ต่อสายไฟเข้ากับแบตเตอรี่ของคุณ
- ขอแสดงความยินดีคนตัดไม้ของคุณควรทำงาน!
ขั้นตอนที่ 14: การติดตั้งขั้นสุดท้าย
รูปภาพเหล่านี้แสดงเครื่องบันทึกที่ติดตั้งโดยติดตั้งระดับน้ำด้วยรหัส QR
ตัวตัดไม้ถูกติดตั้งไว้ใต้สะพานเพื่อผลลัพธ์ที่ดีที่สุด ควรหลีกเลี่ยงแสงแดดโดยตรง
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง