สารบัญ:
- ขั้นตอนที่ 1: Firebase และ Xcode
- ขั้นตอนที่ 2: เสร็จสิ้น Xcode
- ขั้นตอนที่ 3: การตั้งค่า Raspberry Pi
- ขั้นตอนที่ 4: สิ่งที่แนบมา
วีดีโอ: RPi IoT Smart Light โดยใช้ Firebase: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
คู่มือนี้จะแสดงวิธีสร้างและตั้งค่าแอปเพื่อควบคุม Raspberry Pi ผ่าน Firebase (ฐานข้อมูลออนไลน์) จากนั้นพิมพ์ 3 มิติเคสสำหรับ Pi Zero W, Powerboost 1000C, แบตเตอรี่ และ Blinkt!
เพื่อให้สามารถทำตามได้ง่ายที่สุด ฉันแนะนำให้ทำความคุ้นเคยกับ Xcode และ Raspberry Pi
และถ้าคุณชอบสิ่งที่คุณเห็น ติดตามฉันบน Instagram และ Twitter (@Anders644PI) เพื่อติดตามสิ่งที่ฉันทำ
คุณจะต้องการ:
-
Raspberry Pi Zero W พร้อมอะแดปเตอร์และส่วนหัว GPIO
(หรือ Pi Zero ธรรมดาที่มีดองเกิล WiFi)
- PowerBoost 1,000 C
- แบตเตอรี่ลิเธียมไอออน - 3.7v 2000mAh
- กะพริบตา! (หรือ pHAT/HAT ใดๆ ที่: ไม่ได้ใช้พิน 5 แบบฟิสิคัล และ HAT ควรแบนที่ด้านล่าง)
- การ์ด Micro SD ขนาด 8GB ขึ้นไป ที่มี Raspbian Stretch (พร้อมเดสก์ท็อป) อยู่
- แป้นพิมพ์และเมาส์ (แต่คุณสามารถเชื่อมต่อผ่าน ssh ได้ ถ้าตอนนี้เป็นอย่างไรบ้าง)
- การเชื่อมต่อกับจอภาพหรือทีวี (หรือ ssh!)
- เศษสกรู
- สายเล็ก
- สวิตช์เล็กและปุ่มเล็ก
- เครื่องพิมพ์ 3 มิติและหลอดด้าย PLA สีใดก็ได้ 1 หลอด และหลอด PLA โปร่งใส 1 หลอด (หรือคุณอาจใช้บริการ 3D เช่น 3D Hubs เพื่อพิมพ์ให้คุณ)
ขั้นตอนที่ 1: Firebase และ Xcode
อันดับแรก เราจะตั้งค่า Firebase กับแอพ เพื่อให้เราสามารถสื่อสารจากแอพไปยัง Pi
หากคุณสับสน คุณสามารถดูวิดีโอนี้
1. เปิด Xcode และสร้างโครงการ Xcode ใหม่ เลือกแอป Single View และเรียกมันว่า RPiAppControl และตรวจสอบให้แน่ใจว่าภาษานั้นเป็น Swift กด ถัดไป และบันทึก
2. คัดลอก Bundle Identifier ของคุณ เพราะเราต้องการสิ่งนั้นในภายหลัง
3. ใน Firebase เข้าสู่ระบบด้วยบัญชี Google ของคุณ แล้วคลิกไปที่คอนโซล
4. สร้างโครงการใหม่และเรียกมันว่า RPiAppControl
5. คลิก เพิ่ม Firebase ในแอป IOS ของคุณ วางใน Bundle Identifier แล้วกด Register App
6. ดาวน์โหลด GoogleService-Info.plist แล้วลากไปไว้ใน Xcode Project ของคุณ
7. กลับไปที่ Firebase กด Continue จากนั้นเปิดหน้าต่างเทอร์มินัลแล้วไปที่ตำแหน่งของโครงการ Xcode ของคุณ
8. เรียกใช้คำสั่งนี้:
Pod init
9. เปิด Podfile และภายใต้ use_frameworks!, เพิ่มบรรทัดนี้:
พ็อด 'Firebase/Core'
10. กลับไปที่ประเภทเทอร์มินัล: pod install และปิด Xcode
11. ใน Finder ให้ไปที่โปรเจ็กต์ Xcode ของคุณ แล้วเปิดไฟล์.xcworkspacefile ที่สร้างขึ้นใหม่
12. ในที่นี้ไปที่ AppDelegate.swift และภายใต้การนำเข้า UIKit ให้เพิ่มบรรทัดนี้:
นำเข้า Firebase
และในฟังก์ชันแอปพลิเคชัน ให้เพิ่มบรรทัดนี้:
FIRApp.configure()
13. กลับไปที่ Firebase คลิก Continue แล้วคลิก Finish
14. ไปที่ฐานข้อมูล ตามด้วยกฎ แล้วตั้งค่า ".read" และ ".write" ให้เป็นจริง กดเผยแพร่
15. กลับไปที่ Xcode เปิด Podfile และภายใต้บรรทัดแรกที่เราตั้งค่า เพิ่มสิ่งนี้:
พ็อด 'Firebase/ฐานข้อมูล'
16. กลับไปที่เทอร์มินัล รัน pod install อีกครั้ง
ขั้นตอนที่ 2: เสร็จสิ้น Xcode
ตอนนี้เราจะทำโค้ดและเลย์เอาต์ให้เสร็จใน Xcode
กำลังใช้ Xcode 9 และ Swift 4
รหัสสำหรับ ViewController1 ที่ด้านบนของ ViewController และภายใต้การนำเข้า UIKit ให้เพิ่มสิ่งนี้:
นำเข้า Firebase
นำเข้า FirebaseDatabase
2. ที่ด้านล่างของ ViewController และภายใต้ didReceiveMemoryWarning -function ให้คัดลอกวางฟังก์ชันนี้สำหรับแต่ละปุ่ม:
func num1 (สถานะ: สตริง){
let ref = FIRDatabase.database().reference() ให้ post: [String: Any] = ["state": state] ref.child("num1").setValue(post) }อย่าลืมเปลี่ยน (number
3. ใน viewDidLoad -function ภายใต้ super.viewDidLoad() ให้แทรกบรรทัดนี้สำหรับแต่ละปุ่ม (สำหรับหลายปุ่ม เพียงเปลี่ยน (ตัวเลข) ดูภาพ…):
num1(สถานะ: "ปิด")
เลย์เอาต์ของ Main.storyboard และปุ่ม
1. ไปที่ Main.storyboard และใส่ปุ่มบางปุ่ม คุณสามารถจัดวางได้เหมือนที่ฉันทำหรือปรับแต่งตามที่คุณต้องการ
2. เชื่อมต่อปุ่มต่างๆ กับ ViewController แต่ละปุ่มต้องเชื่อมต่อสองครั้ง: ปุ่มหนึ่งเป็นการกระทำและ UIButton เรียกว่า num(number)Button และอีกปุ่มหนึ่งเป็น Outlet เริ่มต้นและเรียกมันว่า num(number)Color ดูภาพ…
3. จากนั้นสำหรับปุ่มทั้งหมด ให้วางในบรรทัดนี้ในแต่ละฟังก์ชัน:
ถ้า self.num1Color.backgroundColor == UIColor.lightGray { // ตั้งค่าสีพื้นหลังเป็น lightGray
num1(state: "ON") // ส่ง state: "ON" ไปยัง firebase self.num1Color.backgroundColor = UIColor(red:0.96, green:0.41, blue:0.26, alpha:1.0) // ตั้งค่าสีพื้นหลังเป็น สีแดง } อื่น { num1 (สถานะ: "ปิด") // ส่งสถานะ: "ปิด" ไปยัง firebase self.num1Color.backgroundColor = UIColor.lightGray // ตั้งค่าสีพื้นหลังเป็น lightGray }
ตอนนี้ คุณควรจะสามารถทดสอบได้โดยการรันแอพ และเมื่อคุณกดปุ่ม คุณจะเห็นว่ามันเปลี่ยนสถานะ ในฐานข้อมูลเรียลไทม์ใน Firebase
สัมผัสการตกแต่ง (ไม่บังคับ)
1. ดาวน์โหลดรูปภาพด้านล่าง และแทรก LaunchScreen-image-j.webp
2. ไปที่ Assets.xcassets แล้ว AppIcon ที่นี่ วางใน AppIcon -size ที่สอดคล้องกัน
ขั้นตอนที่ 3: การตั้งค่า Raspberry Pi
ตอนนี้เราต้องตั้งค่า Pi ด้วย Firebase เพื่อให้แอปสามารถสื่อสาร ส่ง Firebase ไปยัง Pi ได้
ฉันไม่ได้เขียนโค้ด แต่คุณสามารถหาโค้ดต้นฉบับได้ที่นี่
1. ในเทอร์มินัล ให้รันการอัปเดตตามปกติ:
sudo apt-get update && sudo apt-get dist-upgrade
2. จากนั้นเราจะนำเข้า pyrebase (Firebase):
sudo pip ติดตั้ง pyrebase
sudo pip3 ติดตั้ง pyrebase sudo pip3 ติดตั้ง -- อัปเกรด google-auth-oauthlib
3. ดาวน์โหลดไลบรารี Blinkt:
curl https://get.pimoroni.com/blinkt | ทุบตี
4. โคลนที่เก็บ GitHub ของฉัน:
โคลน git https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. แก้ไข AppRPiControl_Template.py:
nano RPiAppControl_Template.py
6. กรอก Firebase ApiKey และ projectId ของคุณ คุณสามารถค้นหาสิ่งเหล่านี้ได้โดยไปที่โครงการ Firebase แล้วคลิกเพิ่มแอปอื่น จากนั้นเพิ่ม Firebase ลงในเว็บแอปของคุณ
7. ปรับแต่งฟังก์ชันและบันทึกการเปลี่ยนแปลงของคุณโดยกด ctrl-o (ป้อน) และปิดด้วย ctrl-x
8. ตอนนี้เรียกใช้ด้วย:
sudo python3 RPiAppControl_Template.py
9. หากคุณใช้ Blinkt คุณสามารถลองใช้ตัวอย่าง เมื่อคุณกรอก Firebase ApiKey และ projectId ของคุณแล้ว:
ตัวอย่างซีดี
nano RPiAppControl_blinkt_demo.py
ตอนนี้เรียกใช้:
sudo python3 RPiAppControl_blinkt_demo.pyโปรดทราบว่าหลังจากที่คุณเรียกใช้สคริปต์ จะใช้เวลาประมาณหนึ่งนาทีเพื่อเตรียมพร้อม (อย่างน้อยใน Pi Zero) และสคริปต์จะต้องทำงานใน python 3
10. โบนัส: หากคุณต้องการให้สคริปต์ทำงานขณะบู๊ต คุณสามารถดูวิธีการได้ที่นี่
ปิดเครื่อง/ปุ่มเปิด/ปิด
เป็นตัวเลือกในการติดตั้งปุ่มเปิดปิด แต่ฉันแนะนำ ทำตามวิดีโอนี้เพื่อตั้งค่า
โปรดทราบว่าสิ่งนี้ใช้พินจริง 5 บน Pi ดังนั้น HAT บางตัวจะไม่ทำงาน
ขั้นตอนที่ 4: สิ่งที่แนบมา
แนะนำ:
ระบบตรวจสอบด้วยภาพที่ใช้ LoRa เพื่อการเกษตร Iot - การออกแบบ Fronted Application โดยใช้ Firebase & Angular: 10 ขั้นตอน
ระบบตรวจสอบด้วยภาพที่ใช้ LoRa เพื่อการเกษตร Iot | การออกแบบ Fronted Application โดยใช้ Firebase & Angular: ในบทที่แล้ว เราพูดถึงวิธีที่เซ็นเซอร์ทำงานกับโมดูล loRa เพื่อเติมฐานข้อมูล firebase Realtime และเราเห็นไดอะแกรมระดับสูงมากว่าโปรเจ็กต์ทั้งหมดทำงานอย่างไร ในบทนี้เราจะพูดถึงวิธีที่เราสามารถ
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C | เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C การใช้ Arduino IDE: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LED หรือแถบนำหรือเมทริกซ์นำหรือวงแหวน LED พร้อมบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะทำ ลายรุ้งกับมัน
ดึง Light - Light Module โดยใช้ Neopixel & Pull Up Switch: 6 ขั้นตอน (พร้อมรูปภาพ)
ดึงโมดูล Light - Light โดยใช้ Neopixel & Pull Up Switch: คุณสมบัติของโมดูล Light Arduino Uno Hardware & ตู้ซื้อจากอินเทอร์เน็ต Neopixel & แหล่งจ่ายไฟที่ยืมมาจาก School of Informatics & การออกแบบผลิตภัณฑ์ โมดูลไฟควบคุมโดยแหล่งจ่ายไฟ ทุกฟังก์ชั่นควบคุมผ่าน
วิธีสร้างระบบ Firebase Home Automation โดยใช้ NodeMCU - ในแพลตฟอร์ม IOT: 14 ขั้นตอน
วิธีสร้างระบบ Firebase Home Automation โดยใช้ NodeMCU | ในแพลตฟอร์ม IOT: วัตถุประสงค์ของโครงการนี้ โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อพัฒนาระบบโฮมออโตเมชั่นที่ช่วยให้ผู้ใช้ควบคุมอุปกรณ์ที่ควบคุมจากระยะไกลทั้งหมดในบ้านของตนได้อย่างสมบูรณ์โดยใช้แอป IOT Android มีเซิร์ฟเวอร์และแพลตฟอร์มออนไลน์ของบุคคลที่สามมากมาย
Smart Street Light โดยใช้ Ir Sensor กับ Arduino: 4 ขั้นตอน (พร้อมรูปภาพ)
ไฟถนนอัจฉริยะที่ใช้เซ็นเซอร์ Ir กับ Arduino: โปรดสมัครรับข้อมูลจากช่องของฉันสำหรับโครงการเพิ่มเติม โปรเจ็กต์นี้เกี่ยวกับไฟถนนอัจฉริยะ ไฟถนนจะเปิดขึ้นในขณะที่รถกำลังวิ่งผ่าน โดยเราใช้เซ็นเซอร์อินฟราเรด 4 ตัวที่ตรวจจับตำแหน่งของ ยานพาหนะแต่ละเซ็นเซอร์ IR ควบคุม