สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: เตรียมของให้พร้อม
- ขั้นตอนที่ 2: การตั้งค่า RPi
- ขั้นตอนที่ 3: เชื่อมต่อเซ็นเซอร์และเพิ่มรหัส
- ขั้นตอนที่ 4: การออกแบบ Web Ui
- ขั้นตอนที่ 5: การสร้างฐานข้อมูล
- ขั้นตอนที่ 6: การเข้ารหัสเว็บไซต์: ส่วนหน้า (html Css)
- ขั้นตอนที่ 7: การเข้ารหัสเว็บไซต์: แบ็กเอนด์ (eventlet) + การเข้ารหัสส่วนหน้า (javascript)
- ขั้นตอนที่ 8: การสร้างปลอก
วีดีโอ: สถานีตรวจอากาศท้องถิ่น: 8 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ขณะที่ฉันกำลังมองหาโครงการดีๆ ที่จะทำสำหรับโครงการโรงเรียนปีแรกของฉัน ฉันมีความคิดหลายอย่างที่ต้องทำ แต่ไม่มีสิ่งใดที่ฉันพบว่ามีความท้าทาย
ต่อมา ฉันพยายามสร้าง Weather Station ที่มีบางสิ่งที่พิเศษกว่านั้น ฉันต้องการที่จะสามารถจัดเก็บข้อมูลทั้งหมดของฉันและใช้ข้อมูลนี้สำหรับสถิติในภายหลัง โครงการนี้จะทำขึ้นเป็นพิเศษสำหรับผู้ที่มีความสนใจในอุตุนิยมวิทยาและต้องการสร้างสถานีตรวจอากาศที่บ้านซึ่งไม่เสียค่าใช้จ่ายมากเท่ากับที่มีอยู่ในตลาด โปรเจ็กต์นี้จัดทำขึ้นเพื่อรักษาความสามารถในการเพิ่มหรือลบเซ็นเซอร์ได้ตลอดเวลา
ฉันมีความสุขมากเมื่อเห็นผลสุดท้ายซึ่งออกมาดีเกินคาด
มันทำจาก Raspberry Pi 4 ที่ใช้ linux
- เว็บไซต์ Apache (html css js)
- Eventlet (เว็บไซต์เซิร์ฟเวอร์แบ็กเอนด์)
- MariaDB (เซิร์ฟเวอร์ฐานข้อมูล)
เสบียง
-
ราสเบอร์รี่ Pi 4:
sd-card (ขั้นต่ำ 16gb)
-
เซนเซอร์:
- เซ็นเซอร์วัดความเร็วลม QS-FS
- Wind Sensor เอาต์พุตสัญญาณสวน อลูมิเนียมอัลลอยด์ เซ็นเซอร์ทิศทางลม Wind Vane Speed Measuring Instrument https://www.banggood.com/Wind-Sensor-Garden-Signal-Output-Aluminum-Alloy-Wind-Direction-Sensor-Wind-Vane-Speed -Measuring-Instrument-p-1624988.html?rmmds=myorder&cur_warehouse=CN
- DHT22 (ความชื้น)
- BMP280 (ความกดอากาศ)
- DS18B20 (อุณหภูมิ)
-
พาวเวอร์ซัพพลาย
- แหล่งจ่ายไฟ 5v (RPi)
- แหล่งจ่ายไฟ 9v (บนแหล่งจ่ายไฟแบบเขียงหั่นขนมภายนอก)
-
เขียงหั่นขนม (x2)
T-cobbler plus สำหรับ RPi 4
- สายจัมเปอร์
-
ไอซี
- MCP3008
- PCF8574AN
- จอ LCD 16x2
- LED (สีแดง
-
ปลอก (optinal)
- ลังไวน์
- เสาไม้ (2m)
- ไม้กระดาน (1m)
ขั้นตอนที่ 1: เตรียมของให้พร้อม
การรับสิ่งของทั้งหมดที่คุณต้องการเป็นสิ่งสำคัญเสมอก่อนที่คุณจะเริ่มทำงานในขั้นตอนใดขั้นตอนหนึ่ง วิธีนี้จะช่วยคุณประหยัดเวลาได้มากในขณะที่ทำงานผ่านราง
อย่างแรกเลย
อะไรที่คุณต้องการ:
-
ราสเบอร์รี่ Pi 4:
sd-card (ขั้นต่ำ 16gb)
-
เซนเซอร์:
- เซ็นเซอร์วัดความเร็วลม QS-FS
- Wind Sensor เอาต์พุตสัญญาณสวน อลูมิเนียมอัลลอยด์ทิศทางลม เซนเซอร์ Wind Vane Speed Measuring Instrument
- DHT22 (ความชื้น)
- BMP280 (ความดันอากาศ)
- DS18B20 (อุณหภูมิ)
-
พาวเวอร์ซัพพลาย
- แหล่งจ่ายไฟ 5v (RPi)
- แหล่งจ่ายไฟ 9v (บนแหล่งจ่ายไฟแบบเขียงหั่นขนมภายนอก)
- เขียงหั่นขนม (x2)
- T-cobbler plus สำหรับ RPi 4
- สายจัมเปอร์
-
ไอซี
- MCP3008
- PCF8574AN
- จอ LCD 16x2
- ไฟ LED (สีแดง)
-
ปลอก (optinal)
- ลังไวน์
- ไม้กระดาน (1m)
- เสา (2m)
คุณสามารถค้นหาลิงก์ทั้งหมดที่ฉันซื้อได้ในส่วนวัสดุสิ้นเปลืองภายใต้บทนำ
ขั้นตอนที่ 2: การตั้งค่า RPi
สำหรับโครงการของเรา เราจำเป็นต้องมี RPi พร้อมติดตั้งซอฟต์แวร์ที่กำหนด
- เว็บไซต์ Apache (html css js)
- Flask Socket-IO (เว็บไซต์เซิร์ฟเวอร์แบ็กเอนด์)
- MariaDB (เซิร์ฟเวอร์ฐานข้อมูล)
ก่อนการติดตั้ง จะมีประโยชน์เสมอเพื่อให้แน่ใจว่าคุณมีซอฟต์แวร์ล่าสุดติดตั้งอยู่ใน RPi ของคุณ ในการทำเช่นนี้เพียงรันคำสั่งต่อไปนี้:
sudo apt อัปเดต
อาปาเช่:
ก่อนอื่นเรามาพูดถึง Apache กันก่อน Apache เป็นเว็บเซิร์ฟเวอร์ที่ใช้ทั่วโลก มันทำงานเว็บไซต์ของคุณอย่างไม่มีที่ติ สิ่งเดียวที่คุณต้องทำคือติดตั้งและวางเว็บไซต์ของคุณไว้ในโฟลเดอร์ที่ถูกต้อง
sudo apt ติดตั้ง apache2 -y
แค่นั้นแหละ!
เพื่อให้แน่ใจว่าทุกอย่างได้รับการติดตั้งอย่างถูกต้อง ให้ท่องไปยังที่อยู่ IP ของราสเบอร์รี่ pi ในเบราว์เซอร์ของคุณและดูว่าคุณได้รับเว็บไซต์เริ่มต้นหรือไม่ หากคุณมีปัญหาใดๆ เกี่ยวกับขั้นตอนนี้ คุณสามารถตรวจสอบเว็บไซต์ RPi ได้ที่นี่
เหตุการณ์:
ตอนนี้มาติดตั้ง Eventlet กัน มันจะเรียกใช้แบ็กเอนด์เซิร์ฟเวอร์ของเราและจะทำการเชื่อมต่อจากเซ็นเซอร์ของเราไปยังเว็บไซต์ของเรา เพื่อที่เราต้องการสองแพ็คเกจ
Flask-socketIO:
pip3 ติดตั้ง flask-socketio
เหตุการณ์:
pip3 ติดตั้ง eventlet
เกเวนต์:
pip3 ติดตั้ง gevent
มาเรียด:
Mariadb เป็นฐานข้อมูลที่ใช้ MySQL ซึ่งสร้างฐานข้อมูลเชิงสัมพันธ์ มักใช้กับ RPi ดังนั้นจึงมีความช่วยเหลือมากมายที่คุณสามารถหาได้บนอินเทอร์เน็ต สำหรับข้อมูลเพิ่มเติม คุณสามารถไปที่ลิงค์นี้
apt ติดตั้งเซิร์ฟเวอร์ mariadb
ขั้นตอนที่ 3: เชื่อมต่อเซ็นเซอร์และเพิ่มรหัส
ในการเชื่อมต่อเซ็นเซอร์กับ RPi ของเรา เราสามารถใช้ T-Cobbler plus นี่เป็นเครื่องมือเล็กๆ ที่มีประโยชน์ซึ่งทำให้สามารถใช้หมุดทั้งหมดของคุณบน RPi บนเขียงหั่นขนมได้
ในโครงการของฉัน ฉันมีเซ็นเซอร์ 5 ตัว:
- เซ็นเซอร์วัดความเร็วลม QS-FS
- Wind Sensor เอาต์พุตสัญญาณสวน อลูมิเนียมอัลลอยด์ทิศทางลม เซนเซอร์ Wind Vane Speed Measuring Instrument
- DHT22 (ความชื้น)
- BMP280 (ความดันอากาศ)
- DS18B20 (อุณหภูมิ)
เซ็นเซอร์ความเร็วลม:
ก่อนอื่น ฉันเริ่มด้วยเซ็นเซอร์วัดความเร็วลม เพราะส่วนใหญ่ฉันรู้สึกตื่นเต้นกับเซ็นเซอร์นี้ เป็นเซ็นเซอร์ที่มีสัญญาณแอนะล็อกเอาต์พุต 0-5v และต้องการแรงดันไฟฟ้าขั้นต่ำ 7 โวลต์จึงจะใช้งานได้ ฉันเลือกอะแดปเตอร์ 9 โวลต์เพื่อจ่ายไฟ
ในการอ่านในเซ็นเซอร์นี้ ฉันใช้ MCP3008 ซึ่งเป็น IC เพื่ออ่านในสัญญาณแอนะล็อก IC สามารถทำงานบน 3.3V หรือ 5V แต่ฉันเลือก 3.3V เพื่อให้เข้ากันได้กับ RPi ซึ่งหมายความว่าฉันต้องเปลี่ยนแรงดันเอาต์พุตจาก 5V เป็น 3.3V ฉันทำโดยเพิ่มตัวแบ่งแรงดันไฟฟ้าที่สร้างโดยตัวต้านทาน 2 ตัว (2k และ 1k ohm)
เซ็นเซอร์ทิศทางลม:
ทิศทางลมมีความสำคัญพอๆ กับความเร็วลม ดังนั้นผมจะเชื่อมโยงต่อไป
เซ็นเซอร์นี้มีข้อกำหนดเดียวกันกับเซ็นเซอร์วัดความเร็วลม นอกจากนี้ยังทำงานบน 9V และมีแรงดันเอาต์พุต 5 โวลต์ นอกจากนี้เซ็นเซอร์นี้เราจะเชื่อมต่อกับ MCP3008 ผ่านตัวแบ่งแรงดันไฟฟ้า
DHT22 (ความชื้น):
DHT22 อ่านความชื้น มันให้ค่าเป็นเปอร์เซ็นต์และสามารถอ่านค่าได้โดยใช้โปรโตคอล I2C บน RPi ดังนั้น คุณต้องเปิดใช้งานพอร์ต I2C ใน Raspi-config ข้อมูลเพิ่มเติมที่นี่
BMP280 (ความดันอากาศ):
BMP280 ใช้สำหรับอ่านค่าความกดอากาศ ค่าของมันจะถูกอ่านผ่านบัส SPI บน RPi ต้องเปิดใช้งานโปรโตคอลนี้ใน Raspi-config ด้วย สำหรับรหัสของฉันฉันใช้ห้องสมุด Adafruit
DS18B20 (อุณหภูมิ):
เซ็นเซอร์สุดท้ายวัดอุณหภูมิ เซ็นเซอร์นี้มาจากดัลลัส และหากคุณเคยมีประสบการณ์เล็กน้อยกับดัลลัส คุณน่าจะรู้อยู่แล้วว่าพวกเขาใช้ 1Wire-bus อย่าแปลกใจถ้าฉันบอกว่าต้องเปิดใช้งานโปรโตคอลนี้ใน Raspi-config ด้วย
ฉันเชื่อมต่อเซ็นเซอร์อย่างไร:
ในฐานะที่เป็น pdf ฉันได้อัปโหลดรูปแบบไฟฟ้าและเขียงหั่นขนมเพื่อให้ง่ายขึ้นเล็กน้อย
หลังจากที่สามารถเชื่อมต่อเซ็นเซอร์ได้สำเร็จ และคุณเพิ่มรหัสที่จำเป็นในการอ่านเซ็นเซอร์ทั้งหมดแล้ว คุณสามารถดำเนินการต่อและไปยังขั้นตอนถัดไปได้ หากคุณต้องการทิ้งเซ็นเซอร์ไว้เบื้องหลังหรือต้องการเพิ่มเติม คุณสามารถทำได้
ขั้นตอนที่ 4: การออกแบบ Web Ui
ตอนนี้เราเชื่อมต่อเซ็นเซอร์แล้ว เราต้องการการออกแบบสำหรับเว็บไซต์ของเรา
เราต้องการให้เว็บไซต์สร้างรูปลักษณ์ที่ง่ายในขณะที่แสดงข้อมูลเรียลไทม์ของเซ็นเซอร์ทั้งหมด
นอกจากนี้ เราต้องการที่จะสามารถเห็นประวัติของค่าที่วัดได้เหล่านี้ต่อช่วงเวลา
อย่างแรกเลย ฉันเริ่มมองหาแรงบันดาลใจบางอย่างในเว็บ ส่วนใหญ่เป็นเพียงไซต์ข้อมูลข้าวสาลีที่ไม่มีการออกแบบที่ฉันกำลังมองหา สถานีตรวจอากาศที่ออกสู่ตลาดแล้วมีแนวโน้มว่าจะมีการแสดงผลมากที่สุด และแรงบันดาลใจของฉันก็มาจากการแสดงนั้น จอแสดงผลส่วนใหญ่มีการออกแบบที่มีลักษณะเป็นตาราง สิ่งนี้ทำให้ฉันมีความคิดที่จะสร้างโฮมเพจที่จะแสดงเซ็นเซอร์ทั้งหมด
แต่ฉันยังบอกด้วยว่าฉันต้องการสร้างหน้าที่คุณสามารถดูประวัติของค่าของเซ็นเซอร์แต่ละตัวได้
ด้วยเหตุนี้ฉันจึงสร้างหน้าที่ 2 ในการออกแบบของฉันที่มีสิ่งนี้ ในหน้านี้ ฉันสามารถเห็นข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์ของฉันซึ่งจะไม่ปรากฏบนหน้าแรกและนอกหลักสูตรในส่วนประวัติ
หลังจากนั้นไม่กี่ชั่วโมง ฉันก็ออกแบบได้อย่างสมบูรณ์!
การออกแบบถูกสร้างขึ้นโดยใช้ Adobe XD
ขั้นตอนที่ 5: การสร้างฐานข้อมูล
เพื่อที่จะได้พักจากส่วนการออกแบบ ฉันเริ่มใช้ฐานข้อมูลของฉัน
ฐานข้อมูลนี้จะประกอบด้วยเซ็นเซอร์ทั้งหมด (5) แอคทูเอเตอร์ทั้งหมด (2) และค่าที่เซ็นเซอร์เหล่านั้นมี
ฐานข้อมูลค่อนข้างง่ายและมีความสัมพันธ์กันเล็กน้อย
คุณสามารถดูรูปแบบฐานข้อมูลในภาพถ่าย
ขั้นตอนที่ 6: การเข้ารหัสเว็บไซต์: ส่วนหน้า (html Css)
กลับไปที่เว็บไซต์!
ตอนนี้ฉันมีการออกแบบที่ฉันสามารถเริ่มเขียนโค้ดเป็น html css เพื่อใช้งานได้จริง
ในหน้าแรก:
ฉันเริ่มต้นด้วยการพิจารณาเซ็นเซอร์แต่ละตัวเป็นองค์ประกอบบนเว็บไซต์ของฉัน เพื่อที่ฉันจะได้ในภายหลังให้ส่วนนี้สร้างโดยรหัส Javascript ของฉัน
ฉันยังแทรกคลาสผู้ถือ JS แบบสุ่มลงในองค์ประกอบ สิ่งเหล่านี้จะทำให้สามารถเปลี่ยนเนื้อหาขององค์ประกอบนั้นได้
ต้องใช้เวลามากเพราะฉันไม่ค่อยเก่งภาษานี้
เมื่อทำโฮมเพจเสร็จแล้วก็ถึงเวลาเริ่มต้นที่หน้าประวัติ
ในหน้าประวัติศาสตร์:
หน้านี้สร้างใหม่ได้ง่ายกว่าเล็กน้อย ในหน้านี้ยังมีผู้ถือ js เพื่อรับข้อมูลเกี่ยวกับเซ็นเซอร์ ช่องค่าเรียลไทม์ และเพื่อแสดงตารางพร้อมค่าที่วัดได้ทั้งหมด
ในการสร้างแท็บตัวเลือกบนเว็บไซต์ของฉันเพื่อเลือกระหว่างตารางหรือแผนภูมิ ฉันต้องเพิ่ม Javascript เล็กน้อยเพื่อทำให้องค์ประกอบไม่แสดงหรือแสดง
ตอนนี้เรามีเว็บไซต์ที่สวยงามแต่ไม่สามารถแสดงอะไรบนนั้นได้ใช่หรือไม่ มาแก้ไขกันเถอะ
คุณสามารถค้นหารหัสของฉันบนที่เก็บ github ของฉัน:
ขั้นตอนที่ 7: การเข้ารหัสเว็บไซต์: แบ็กเอนด์ (eventlet) + การเข้ารหัสส่วนหน้า (javascript)
แบ็กเอนด์:
ขณะที่ติดตั้งเซิร์ฟเวอร์แบ็กเอนด์แล้ว เรายังต้องใช้งานสิ่งนี้ในโครงการของเรา ขั้นแรกเราต้องเพิ่มการนำเข้าเพื่อให้ทุกอย่างทำงานได้อย่างถูกต้อง
จาก flask นำเข้า Flask, ขอ, jsonify จาก flask_socketio นำเข้า SocketIO จาก flask_cors นำเข้า CORS
ในการทำให้เซิร์ฟเวอร์เริ่มทำงาน เราต้องเพิ่มสิ่งต่อไปนี้:
socketio.run(แอพ ดีบัก=เท็จ โฮสต์='0.0.0.0')
ขณะนี้เซิร์ฟเวอร์ออนไลน์อยู่ แต่จะไม่สามารถพูดคุยกับส่วนหน้าได้
ไม่ได้รับหรือส่งคืนสิ่งใด มาเปลี่ยนกันเถอะ
ในการขอเซ็นเซอร์ทั้งหมดในฐานข้อมูล เราจะเพิ่มเส้นทาง:
@app.route(endpoint + '/sensors', methods=['GET']) def get_sensors(): if request.method == 'GET': s = DataRepository.get_sensors() ส่งคืน jsonify(sensors=s), 200
รหัสนี้ใช้คลาสที่เรียกว่า DataRepository และพูดกับฐานข้อมูล ที่นี่ทำให้เราได้รับเซ็นเซอร์ที่เราขอกลับคืนมา
นอกจากนี้เรายังต้องการเส้นทางเพื่อสอบถามข้อมูลเกี่ยวกับเซ็นเซอร์เฉพาะ 1 ตัวและอีกตัวหนึ่งสำหรับค่าของเซ็นเซอร์ที่กำหนด
นี่เป็นเส้นทางทั้งหมด แต่เพื่อให้ข้อมูลเรียลไทม์เป็นไปได้ เราจำเป็นต้องส่งข้อมูลที่เซ็นเซอร์เพิ่งอ่านทุกช่วง ในการดำเนินการนี้ เราใช้การเชื่อมต่อ Socket-IO เป็นการเชื่อมต่อที่สร้างขึ้นจากช่วงเวลาที่มีคนโหลดเว็บไซต์ด้วย JS และเปิดการเชื่อมต่อนี้ไว้ นี่คือการเชื่อมต่อแบบฟูลดูเพล็กซ์ ซึ่งหมายความว่าเป็นการเชื่อมต่อที่ทำงานทั้งสองวิธี (ส่งและรับ) พร้อมกัน ในการใช้สิ่งนี้เราต้องเพิ่มรหัสต่อไปนี้
@socketio.on('connect') def initial_connection(): print('A new client connect') socketio.send("U bent geconnecteerd") # # ส่งไปยังไคลเอนต์!
ความสบายใจของรหัสนี้ทำงานเมื่อไคลเอ็นต์เชื่อมต่อ
หากต้องการรับข้อความจากส่วนหน้า คุณสามารถใช้รหัสนี้ได้
@socketio.on('message') def message_recieved(): pass
คุณยังสามารถส่งข้อความ สิ่งนี้ทำได้โดยสิ่งต่อไปนี้
socketio.emit('Update_RTD', dict_results, broadcast=True)
อาร์กิวเมนต์ที่ระบุครั้งแรกสามารถเป็นอะไรก็ได้ที่คุณต้องการ แต่จะสอดคล้องกับสิ่งที่คุณใส่ใน JS ของคุณและคุณสามารถส่งอ็อบเจ็กต์ด้วย นี้เป็นทางเลือก
จาวาสคริปต์:
สิ่งสำคัญคือต้องเพิ่ม JS เล็กน้อยเพื่อให้เซิร์ฟเวอร์เชื่อมต่อกับเซิร์ฟเวอร์ส่วนหลังเพื่อให้สามารถแสดงข้อมูลปัจจุบันและรับข้อมูลจากฐานข้อมูลได้
เราจะเรียกฟังก์ชัน socketIO ที่เราทำไว้เพื่อรับและส่งข้อมูล
เมื่อเราได้รับข้อมูลเป็น Json Object เราจะทำการรื้อมันเพื่อรับข้อมูลที่เราต้องการแล้วใส่ไว้ในผู้ถือ JS ที่เราใส่ไว้ในเว็บไซต์ของเรา
คุณสามารถค้นหารหัสของฉันบนที่เก็บ github ของฉัน:
ขั้นตอนที่ 8: การสร้างปลอก
ตัวเคสใช้ความพยายามอย่างมากและสามารถทำได้ทุกวิธีที่คุณต้องการ นี่คือวิธีที่ฉันทำ
ฉันเอาลังไวน์มา
หนึ่งในนั้นที่ฉันใช้เป็นกล่องบรรจุ RPi และเซ็นเซอร์ส่วนใหญ่ของฉัน
แน่นอนว่าเซ็นเซอร์วัดความเร็วลมและเซ็นเซอร์ทิศทางลมไม่ได้ถูกวางไว้ข้างใน แต่อยู่บนคานขวางที่วางอยู่บนเสา บนเสานี้ฉันแขวนลังไวน์นั้นไว้ซึ่งฉันทำประตูด้วย
คุณสามารถดูว่าฉันทำโปรเจ็กต์เสร็จได้อย่างไรโดยดูที่รูปถ่าย
แน่นอนว่านี่คือตัวอย่างวิธีการทำ คุณสามารถทำอะไรกับมันได้ตามที่คุณต้องการ
แนะนำ:
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-