วิธีสร้างแอพ Android สำหรับระบบสมาร์ทโฮมของคุณบน Android Studio
บทความนี้เป็นส่วนที่สองของบทความอื่น วิธีสร้างระบบอัตโนมัติในบ้านอัจฉริยะโดยใช้โมดูล ESP32 ซึ่งมีวิธีการจัดทำระบบบ้านอัจฉริยะ ในบทความนี้เราจะสาธิตขั้นตอนทีละขั้นตอนในการพัฒนาแอปพลิเคชัน Android และเชื่อมต่อกับฐานข้อมูล Firebase จากนั้นแอปพลิเคชั่นมือถือนี้จะใช้เพื่อสลับเครื่องใช้ไฟฟ้าในบ้าน
ระบบบ้านอัจฉริยะที่มีอยู่แล้วในตลาดมีค่าใช้จ่ายสูงมาก หากคุณมีส่วนประกอบที่จำเป็นและอุปกรณ์ Android คุณสามารถสร้างระบบอัตโนมัติภายในบ้านที่บ้านซึ่งจะมีประสิทธิภาพเท่าเทียมกัน แต่จะมีต้นทุนต่ำมาก อ่านบทความทั้งสองนี้เพื่อสร้างระบบ Home Automation ของคุณเองที่บ้าน
วิธีการพัฒนาแอปพลิเคชัน Android สำหรับระบบอัตโนมัติในบ้าน
เรากำลังจะพัฒนาแอป Android ที่จะใช้เป็นรีโมทคอนโทรลเพื่อควบคุมเครื่องใช้ไฟฟ้าภายในบ้านที่เชื่อมต่อกับโมดูล ESP32 ในบทความอื่น ๆ ไปที่บทความอื่น คลิกที่นี่.
ขั้นตอนที่ 1: ซอฟต์แวร์ที่จำเป็น
ในขณะที่เรากำลังจะพัฒนาแอปพลิเคชัน Android เราจะต้องมีซอฟต์แวร์เพียงตัวเดียว แต่ในการเรียกใช้ซอฟต์แวร์นั้นเราจะต้องติดตั้งซอฟต์แวร์อื่นก่อน คุณสามารถดาวน์โหลดได้จากลิงค์ต่อไปนี้
ขั้นตอนที่ 2: ทำความเข้าใจการทำงานหลัก
เรากำลังจะสร้างแอปพลิเคชันที่จะมีการเข้ารหัสทั้งส่วนหน้าและส่วนหลัง บนหน้าจอหลักจะมีปุ่มบางปุ่มที่ควบคุมการสลับเครื่องใช้ไฟฟ้าที่เชื่อมต่อกับบอร์ดไมโครคอนโทรลเลอร์ ESP32 ในการเข้ารหัสส่วนหลังเราจะส่ง "1" หากสวิตช์เปิดอยู่และ "0" หากสวิตช์ปิดอยู่
เรากำลังจะสร้างฐานข้อมูล Firebase ฐานข้อมูลนี้จะมี 2 หน่วยงานที่มีชื่อว่า Light และ AC ไฟจะประกอบด้วยค่าสำหรับการสลับของไฟ และ AC จะประกอบด้วยค่าสำหรับการสลับของพัดลม จากนั้นค่านี้จะถูกส่งไปยังไมโครคอนโทรลเลอร์จากนั้นไมโครคอนโทรลเลอร์จะส่งสัญญาณควบคุมไปยังโมดูลรีเลย์ตามลำดับ
ขั้นตอนที่ 3: การตั้งค่า Android Studio
ก่อนติดตั้ง Android Studio เราจะติดตั้ง JAVA JDK ก่อน หากต้องการติดตั้ง ให้คลิกที่ exe ไฟล์ ที่คุณดาวน์โหลดจากลิงค์ด้านบนและคลิกถัดไปจนกว่าจะติดตั้งสำเร็จ ตอนนี้ทำตามขั้นตอนต่อไปนี้เพื่อให้พรอมต์คำสั่งของคุณรับรู้ java ว่าเป็นคำสั่งภายนอกหรือภายใน
- เปิด แผงควบคุม และคลิกที่ ระบบและความปลอดภัย.
- คลิกที่ ระบบ.
- คลิกที่ การตั้งค่าระบบขั้นสูง จากนั้นคลิกที่ ตัวแปรด้านสิ่งแวดล้อม.
- ในส่วนตัวแปรระบบคลิกที่เส้นทางจากนั้นคลิกแก้ไข ใหม่ แก้ไขตัวแปรด้านสิ่งแวดล้อมกล่องจะปรากฏขึ้น
- ตอนนี้ไปที่ C: \ Program Files \ Java ในพีซีของคุณ เปิดโฟลเดอร์ JDK คลิกที่โฟลเดอร์ bin จากนั้นคัดลอกเส้นทางของโฟลเดอร์นั้น
- ตอนนี้ไปที่กล่องแก้ไขตัวแปรสภาพแวดล้อมแล้วคลิกใหม่เพื่อสร้างตัวแปรใหม่ วางเส้นทางที่คุณคัดลอกในขั้นตอนด้านบนในตัวแปรใหม่และบันทึก
- ตอนนี้เพื่อยืนยันว่าหากติดตั้งเสร็จสมบูรณ์แล้วให้เปิดพรอมต์คำสั่งแล้วพิมพ์ java -version.
ตอนนี้คุณได้ติดตั้ง Java JDK บนคอมพิวเตอร์ของคุณเรียบร้อยแล้ว ตอนนี้ให้เราติดตั้ง Android Studio บนคอมพิวเตอร์ของคุณ การติดตั้งซอฟต์แวร์นี้ทำได้ง่ายมาก คุณต้องเปิดไฟล์ที่ดาวน์โหลดแล้วคลิกถัดไปจนกว่าซอฟต์แวร์ของคุณจะได้รับการติดตั้งอย่างสมบูรณ์
ขั้นตอนที่ 4: การสร้างเค้าโครง
เราจะสร้างเลย์เอาต์ที่จะมีปุ่มบางปุ่มที่จะส่งคำสั่ง 0 หรือ 1 ไปยังฐานข้อมูล firebase นี่จะเป็นรูปแบบง่ายๆที่จะมีปุ่มบางปุ่ม ในแอพของฉันฉันจะใส่ปุ่มสองปุ่มที่จะควบคุมไฟและพัดลม หากคุณต้องการรวมปุ่มเพิ่มเติมสำหรับเครื่องใช้ในบ้านเพิ่มเติมให้คัดลอกโค้ดกลุ่มเดียวกันในโปรแกรมหลักและสร้างตัวแปรใหม่ในฐานข้อมูล โดยไม่ต้องเสียเวลาใด ๆ ให้เราก้าวไปสู่ขั้นตอนในการสร้างเค้าโครงที่เรียบง่ายสำหรับแอปของเรา
1. ก่อนอื่นไปที่ ไฟล์> ใหม่> โครงการใหม่เมนูจะปรากฏขึ้น เลือก โครงการเปล่า.
2. ตอนนี้ตั้งชื่อโครงการและตั้งค่า คอตลินเป็นภาษาโปรแกรมของคุณ
3. ตอนนี้ที่มุมซ้ายคลิกที่ app> res> เค้าโครง> activity_main.xml
4. ที่นี่เพิ่มรหัสต่อไปนี้ด้านล่างรหัสที่มีอยู่แล้วในสตูดิโอ Android ของคุณ เรากำลังสร้างเค้าโครงข้อจำกัด โค้ดต่อไปนี้กำลังเพิ่มส่วนหัวของ Room Automation ที่ด้านบน จากนั้นเพิ่มสวิตช์ 3 ตัว สวิตช์เดียวช่วยให้คุณสามารถเลือกว่าคุณต้องการใช้งานเครื่องใช้ไฟฟ้าภายในบ้านด้วยตนเองหรือไม่ อีกสองสวิตช์จะทำงานพัดลมและไฟตามลำดับ
5. เค้าโครงของแอปของคุณจะมีลักษณะดังภาพด้านล่าง
ขั้นตอนที่ 5: การเข้ารหัสแบ็คเอนด์
รหัสส่วนหลังเป็นส่วนที่สำคัญที่สุดของแอปพลิเคชันใด ๆ เป็นสะพานหลักระหว่างโครงร่างส่วนหน้าและฐานข้อมูลของโครงการ ในแอปพลิเคชันของเราเราเพียงแค่ต้องการส่ง“ 1” ในฐานข้อมูลเมื่อสวิตช์เปิดอยู่และ“ 0” ในฐานข้อมูลเมื่อสวิตช์ปิดอยู่ ทำตามขั้นตอนต่อไปนี้เพื่อเพิ่มรหัสในแอปพลิเคชันของคุณ
1. ที่มุมซ้ายคลิกที่ app> java> com.example.my applicationmyapplication> main_activity
2. ในหน้าจอนี้ให้คัดลอกรหัสต่อไปนี้ในชั้นเรียนของคุณ
class automation: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Switch internal lateinit var btnSwitch1: Switch internal lateinit var btnSwitch2: Switch override fun onCreate (SavedInstanceState: Bundle? .onCreate (SavedInstanceState) setContentView (R.layout.activity_automation) myRef.child ("Toggle / switch"). addValueEventListener (object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: switch Data) .visibility = View.VISIBLE if (p0.value.toString (). equals ("1")) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ("ระบบอัตโนมัติ / AC") addValueEventListener (วัตถุ :ValueEventListener { แทนที่ความสนุก onCancelled (p0: DatabaseError) { } แทนที่ความสนุก onDataChange (p0: DataSnapshot) { if (p0.value.toString ().equals ("1")) { toggleButton2 isChecked = true} else toggleButton2.isChecked = false } }) myRef.child("automation/light")).addValueEventListener(object :ValueEventListener{ override fun onCancelled(p0: DatabaseError) { } override fun onDataChange(p0: DataSnapshot) { if(p0.value.toString() .equals("1")){ toggleButton3.isChecked = true } else toggleButton3.isChecked = false } }) } else { switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE } // บันทึก .d ("ahsan", p0.value.toString ())}}) button3.setOnClickListener {val Intent = Intent (นี่คือ MainActivity :: class.java) startActivity (ความตั้งใจ)} btnSwitch = findViewById(R.id.switch1) เป็น Switch btnSwitch1 = findViewById (R.id.toggleButton2) เป็น Switch btnSwitch2 = findViewById (R.id.toggleButton3) เป็น Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ("Toggle / switch"). setValue ("1") btnSwitch1.setOnClickListener {if (btnSwitch. child ("automation / AC"). setValue ("1")} else {myRef.child ("automation / AC"). setValue ("0")}} btnSwitch2.setOnClickListener {if (btnSwitch2.isChecked) {myRef. child ("automation / light"). setValue ("1")} else {myRef.child ("automation / light"). setValue ("0")}}} else {myRef.child ("Toggle / switch") .setValue ("0")}}}}
ตอนนี้รหัสอาจให้ข้อผิดพลาดในบางจุดเนื่องจากไม่ได้เชื่อมต่อกับฐานข้อมูล firebase ในขณะนี้ เราจะสร้างฐานข้อมูล firebase และเชื่อมต่อกับแอปพลิเคชัน
ขั้นตอนที่ 6: การเชื่อมต่อแอพกับฐานข้อมูล Firebase
การเชื่อมต่อฐานข้อมูล firebase กับแอป Android นั้นเกือบจะเป็นขั้นตอนสุดท้าย เรากำลังจะสร้างฐานข้อมูลบน Firebase Firebase เป็นขั้นตอนการปรับปรุงแอปพลิเคชันบนมือถือและเว็บที่ให้นักออกแบบมีอุปกรณ์และการดูแลระบบมากมายเพื่อให้พวกเขาเติบโตแอปพลิเคชันชั้นยอดพัฒนาฐานลูกค้าและได้รับประโยชน์มากขึ้น Firebase ให้บริการสองอย่างแก่เราคือ Real-Time Database และ Firestore
เราจะสร้างฐานข้อมูลแบบเรียลไทม์ซึ่งค่าทั้งหมดจะได้รับการอัปเดตแบบเรียลไทม์โดยมีการหน่วงเวลาสักครู่ ทำตามขั้นตอนต่อไปนี้เพื่อสร้างฐานข้อมูลแบบเรียลไทม์บน firebase Android studio มีวิธีการที่ง่ายมากในการเชื่อมต่อนี้ ทำตามขั้นตอนต่อไปนี้เพื่อสร้างการเชื่อมต่อนี้
1. คลิก n เครื่องมือเมนูแบบเลื่อนลงจะปรากฏขึ้นให้เลือก ฐานไฟ.
2. เมนูขนาดใหญ่จะปรากฏที่ด้านขวาของหน้าจอซึ่งจะเป็นเมนูของเกือบทุกบริการที่ Firebase ให้บริการ แต่ตอนนี้โฟกัสหลักของเราอยู่ที่ฐานข้อมูลแบบเรียลไทม์ คลิกที่ฐานข้อมูลแบบเรียลไทม์ ลิงก์ไปยัง“บันทึกและดึงข้อมูล” จะปรากฏขึ้น คลิกลิงก์นั้น
3. เชื่อมต่อ เชื่อมต่อกับ Firebaseปุ่ม. จะนำคุณไปยังเว็บเบราว์เซอร์เริ่มต้น ขั้นแรกจะขอให้คุณลงชื่อเข้าใช้บัญชี Gmail ของคุณ
4. ตอนนี้คลิกที่ เพิ่มฐานข้อมูลแบบเรียลไทม์ลงในแอปของคุณ จากเมนูที่แสดงในภาพด้านบน กล่องจะปรากฏขึ้นเพื่อขอให้ทำการเปลี่ยนแปลงบางอย่าง คลิกที่ Acเก็บการเปลี่ยนแปลง คุณจะเห็นว่าแอปพลิเคชันจะเริ่มการซิงค์เพื่อเชื่อมต่อกับฐานข้อมูลแบบเรียลไทม์ของเรา
5. ไปที่ Firebase Console คุณจะเห็นโครงการที่สร้างขึ้นแล้ว โลโก้ android บนไอคอนของ projet หมายความว่ามันเป็นของแอปพลิเคชัน Android อยู่แล้ว
6. จาก พัฒนา เมนูที่ปรากฏทางด้านซ้ายของหน้าจอให้เลือก ฐานข้อมูล. ปุ่มของ สร้างฐานข้อมูล จะปรากฏทางด้านขวา คลิกที่ปุ่มนั้น
7. เมนูจะปรากฏขึ้นเพื่อขอให้ตั้งค่าโหมดของฐานข้อมูลของคุณ คลิกที่ โหมดทดสอบจากนั้นคลิก เปิดใช้งาน.
8. ตอนนี้ขั้นตอนที่สำคัญมากที่ต้องจำไว้คือการเปลี่ยน Cloud Firestore ถึง ฐานข้อมูลเรียลไทม์โดยคลิกที่ปุ่มที่แสดงในภาพด้านล่างและเปลี่ยนตัวเลือกที่ต้องการ
9. ตอนนี้คลิกที่ กฎ แท็บและเปลี่ยนการกำหนดค่าเป็น จริง. เมื่อทุกอย่างเสร็จสิ้นคลิก เผยแพร่.
10. สิ่งหนึ่งที่คุณต้องทำนอกเหนือจากการเชื่อมต่อ firebase คือการอัปเดตเวอร์ชันฐานข้อมูล คลิกที่ ไปที่ เอกสาร. ตอนนี้คลิกที่ คำแนะนำและเลือก คู่มือ Androidจากรายการที่ปรากฏบนหน้าจอ เลื่อนลงจนกระทั่งตารางปรากฏขึ้น ค้นหาฐานข้อมูลแบบเรียลไทม์ในตารางนั้นและค้นหาเวอร์ชัน ในกรณีของฉันมันคือ 19.1.0
11. คลิกที่ สคริปต์ Gradleเมนูทางด้านซ้ายของหน้าจอ จากนั้นเลือก สร้างขึ้น gradle (โมดูล: แอป) ตอนนี้ในรหัสค้นหาเวอร์ชันของฐานข้อมูลแบบเรียลไทม์และแทนที่ด้วยฐานข้อมูลใหม่
ตอนนี้การเชื่อมต่อ Firebase กับแอป Android ของเราได้รับการสร้างขึ้นอย่างสมบูรณ์แล้ว ตอนนี้เราสามารถดำเนินการต่อในส่วนการทดสอบของโครงการของเราได้
ขั้นตอนที่ 7: การทดสอบ
ส่วนการทดสอบนั้นง่ายมาก คุณเพียงแค่ต้องไปที่อุปกรณ์ Android ของคุณและเปิดใช้งาน ตัวเลือกนักพัฒนาจากการตั้งค่า จากนั้นคุณจะต้องเปิดใช้งานไฟล์ การดีบัก USBหลังจากทำสิ่งนี้เสร็จแล้วให้เชื่อมต่ออุปกรณ์ Android ของคุณกับคอมพิวเตอร์และเรียกใช้โครงการ android ใน android studio สิ่งนี้จะสร้างแอปบนอุปกรณ์ Android ของคุณ
ตอนนี้คลิกปุ่มบนหน้าจอของคุณและมันจะทำให้เอนทิตีในฐานข้อมูล firebase ของคุณโดยอัตโนมัติ คุณจะเห็นว่าค่าบางอย่างจะได้รับการอัปเดตในเอนทิตีที่เกี่ยวข้องเมื่อคุณกดปุ่ม