แอพ PSLab สำหรับ Android
พื้นที่เก็บข้อมูลสำหรับแอป PSLab Android สำหรับทำการทดลองกับแพลตฟอร์มฮาร์ดแวร์แบบเปิดของ Pocket Science Lab
พื้นที่เก็บข้อมูลนี้มีแอป Android สำหรับทำการทดลองกับ PSLab PSLab เป็นห้องปฏิบัติการวิทยาศาสตร์ขนาดพกพาขนาดเล็กที่มีอุปกรณ์มากมายสำหรับทำการทดลองทางวิทยาศาสตร์และวิศวกรรม มันสามารถทำงานเหมือนกับออสซิลโลสโคป เครื่องกำเนิดรูปคลื่น ตัวนับความถี่ แรงดันไฟฟ้าและแหล่งกระแสที่ตั้งโปรแกรมได้ และยังทำหน้าที่เป็นเครื่องบันทึกข้อมูลอีกด้วย เว็บไซต์ของเราอยู่ที่ https://pslab.io
ลงทะเบียนเพื่อรับการอัปเดตล่าสุดและทดสอบคุณสมบัติใหม่ตั้งแต่เนิ่นๆ โดยเข้าร่วมโปรแกรมเบต้าของเราที่นี่
ซื้อ
- คุณสามารถรับอุปกรณ์ Pocket Science Lab ได้จากร้าน FOSSASIA
- มีผู้ค้าปลีกเพิ่มเติมแสดงอยู่ในเว็บไซต์ PSLab
การสื่อสาร
- ช่องแชท PSLab อยู่บน Gitter
- โปรดเข้าร่วมกับเราในรายชื่อผู้รับจดหมาย PSLab
แผนการทำงาน
ภาพหน้าจอ
วิดีโอสาธิต
- ภาพรวมแอป Android PSLab
- การสังเกตรูปคลื่นเสียงโดยใช้อุปกรณ์ PSLab
- การบันทึกข้อมูลเซ็นเซอร์แบบเรียลไทม์โดยใช้ Pocket Science Lab
- การสร้างและการสังเกตรูปคลื่นโดยใช้ห้องทดลองวิทยาศาสตร์พ็อกเก็ต
คุณสมบัติ
คุณสมบัติ | คำอธิบาย | สถานะ |
---|
หน้าจอหลัก | แสดงสถานะและเวอร์ชันของอุปกรณ์ PSLab | |
เครื่องดนตรี | เปิดเผยเครื่องมือ PSLab เช่น Oscilloscope ฯลฯ | |
ออสซิลโลสโคป | แสดงความแปรผันของสัญญาณอะนาล็อก | |
มัลติมิเตอร์ | วัดแรงดัน กระแส ความต้านทาน และความจุ | |
เครื่องวิเคราะห์ลอจิก | จับและแสดงสัญญาณจากระบบดิจิทัล | |
เครื่องกำเนิดคลื่น | สร้างรูปคลื่นอนาล็อกและดิจิตอลตามอำเภอใจ | |
แหล่งพลังงาน | สร้างแรงดันและกระแสที่ตั้งโปรแกรมได้ | |
ลักซ์มิเตอร์ | วัดความเข้มของแสงโดยรอบ | |
บารอมิเตอร์ | วัดความดัน | |
มาตรความเร่ง | วัดความเร่งของอุปกรณ์ | |
ไจโรมิเตอร์ | วัดอัตราการหมุน | |
เข็มทิศ | วัดการหมุนสัมบูรณ์สัมพันธ์กับขั้วแม่เหล็กโลก | |
เทอร์โมมิเตอร์ | วัดอุณหภูมิโดยรอบ | |
เซ็นเซอร์ก๊าซ | ตรวจจับก๊าซ รวมถึง NH3, NOx, แอลกอฮอล์, เบนซิน, ควัน และ CO2 | |
ตัวควบคุมแขนหุ่นยนต์ | ช่วยให้สามารถควบคุมเซอร์โวมอเตอร์ 4 ตัวของแขนหุ่นยนต์ได้อย่างอิสระ | |
วิธีตั้งค่าแอป Android ในสภาพแวดล้อมการพัฒนาของคุณ
รสชาติการใช้งาน
แอปพลิเคชัน PSLab Android มี 2 รสชาติ (เวอร์ชันบิวด์)
รสชาติของ Play Store
- Play Store ใช้ Google Maps เพื่อแสดงตำแหน่งที่เก็บไว้ในบันทึกใน Data logger
รสชาติ Fdroid
- รส Fdroid ใช้ Open Street Maps เพื่อแสดงตำแหน่งที่จัดเก็บไว้ในบันทึกใน Data logger
การตั้งค่าการพัฒนา
ก่อนที่คุณจะเริ่มต้น คุณควรดาวน์โหลดและตั้งค่า Android Studio SDK อย่างถูกต้องแล้ว คุณสามารถดูคำแนะนำเกี่ยวกับวิธีการได้ที่นี่: การตั้งค่า Android Studio
การตั้งค่าโครงการ Android
สำหรับการตั้งค่าโปรเจ็กต์ PSLab Android คุณอาจทำตามสองวิธีด้านล่างนี้ นั่นคือคุณอาจดาวน์โหลดไฟล์ zip ของที่เก็บ หรือคุณอาจโคลนที่เก็บไปที่ Android Studio โดยตรง
โดยการดาวน์โหลดไฟล์ zip
ดาวน์โหลดซอร์สโปรเจ็กต์ pslab-android คุณสามารถทำได้โดยการฟอร์กและโคลนพื้นที่เก็บข้อมูล (แนะนำหากคุณวางแผนที่จะพุชการเปลี่ยนแปลง) หรือโดยการดาวน์โหลดเป็นไฟล์ ZIP แล้วแตกไฟล์
เปิด Android Studio คุณจะเห็นหน้าต่าง ยินดีต้อนรับสู่ Android ภายใต้การเริ่มต้นอย่างรวดเร็ว เลือก _นำเข้าโครงการ (Eclipse ADT, Gradle ฯลฯ) หากต้องการแก้ไขจุดบกพร่องผ่าน Wi-Fi ให้ทำตามขั้นตอนที่ให้ไว้ในบล็อกนี้
- หมายเหตุ : หากคุณสร้างฮาร์ดแวร์ของคุณเอง ให้เปลี่ยน VendorID และ/หรือ ProductID ใน CommunicationHandler.java
โดยการโคลนนิ่งโดยตรง
- เปิด Android Studio คุณจะเห็นหน้าต่าง ยินดีต้อนรับสู่ Android ภายใต้การเริ่มต้นอย่างรวดเร็ว เลือก "ตรวจสอบโครงการจากการควบคุมเวอร์ชัน"
- เลือกคอมไพล์จากเมนูแบบเลื่อนลงที่ปรากฏขึ้น
- ไปที่พื้นที่เก็บข้อมูลแล้วคลิกปุ่มโคลนหรือดาวน์โหลด
- จากเมนูแบบเลื่อนลงที่ปรากฏขึ้น ให้คัดลอกลิงก์
- วาง URL ที่คุณคัดลอกแล้วกดโคลน
- Android studio ควรเริ่มสร้างโปรเจ็กต์ด้วยการไล่ระดับ
- เมื่อกระบวนการนี้เสร็จสมบูรณ์และ Android Studio เปิดขึ้น ให้ตรวจสอบคอนโซลเพื่อดูข้อผิดพลาดของบิลด์
- หมายเหตุ: หากคุณได้รับข้อผิดพลาดในการซิงค์ Gradle ที่ชื่อว่า "ล้มเหลวในการค้นหา ... " คุณควรคลิกลิงก์ด้านล่างข้อความแสดงข้อผิดพลาด (ถ้ามี) ที่ระบุว่า ติดตั้งแพลตฟอร์มที่ขาดหายไปและซิงค์โปรเจ็กต์ และอนุญาตให้ Android studio นำสิ่งที่ขาดหายไปมาให้คุณ
- เมื่อข้อผิดพลาดในการสร้างทั้งหมดได้รับการแก้ไขแล้ว คุณควรพร้อมที่จะสร้างแอปและทดสอบแล้ว
- หากต้องการสร้างแอป ให้ไปที่ Build>Make Project (หรือกดไอคอน Make Project ในแถบเครื่องมือ)
- หากสร้างแอปได้สำเร็จ คุณสามารถทดสอบได้ด้วยการเรียกใช้บนอุปกรณ์จริงหรืออุปกรณ์จำลองโดยไปที่ Run>Run 'app' หรือกดไอคอน Run ในแถบเครื่องมือ
หากคุณต้องการสร้าง apk เท่านั้น ให้ไปที่ Build>Build apk และ apk จะเป็น build และไดเร็กทอรีที่สร้าง apk จะได้รับแจ้งจาก Android Studio
คุณไม่สามารถแก้ไขข้อบกพร่องได้ตามปกติเนื่องจากอุปกรณ์ PSLab เชื่อมต่อกับพอร์ต micro-USB ผ่านสาย OTG ดังนั้นอุปกรณ์ Android ไม่ได้เชื่อมต่อกับพีซีผ่านสาย USB
หากต้องการแก้ไขจุดบกพร่องผ่าน Wi-Fi ให้ทำตามขั้นตอนที่ให้ไว้ในบล็อกนี้
- หมายเหตุ : หากคุณสร้างฮาร์ดแวร์ของคุณเอง ให้เปลี่ยน VendorID และ/หรือ ProductID ใน CommunicationHandler.java
สิทธิ์ที่จำเป็น
- Record_Audio: จำเป็นสำหรับออสซิลโลสโคปในการรับอินพุตจากไมโครโฟนในตัวของโทรศัพท์ คุณสามารถค้นหาการใช้งานได้ใน AudioJack.java
- Access_Fine_Location และอินเทอร์เน็ต: จำเป็นสำหรับการใช้งานในหน่วยลักซ์มิเตอร์และเข็มทิศเพื่อรับพิกัดสำหรับการแท็กข้อมูลบนแผนที่ คุณสามารถดูการใช้งานได้ใน GPSLogger.java
- Write_External_Storage : จำเป็นสำหรับการจัดเก็บไฟล์บันทึกจากเครื่องมือที่สามารถถ่ายโอนออกไปเพื่อการวิเคราะห์ในอนาคต
- Read_External_Storage : ขณะเขียนบันทึกในพื้นที่จัดเก็บข้อมูล CSVLogger.java จะตรวจสอบก่อนว่ามีไดเร็กทอรี CSVLogger อยู่หรือไม่ และจำเป็นต้องได้รับสิทธิ์ในการอ่านนี้
ตั้งค่าเพื่อใช้ PSLab กับแอพ Android
หากต้องการใช้อุปกรณ์ PSLab กับ Android คุณเพียงแค่ต้องใช้สาย OTG ซึ่งเป็นอุปกรณ์ Android ที่เปิดใช้งานคุณสมบัติโฮสต์ USB (โทรศัพท์รุ่นใหม่ส่วนใหญ่รองรับ OTG) และแอป PSLab Android เชื่อมต่ออุปกรณ์ PSLab กับโทรศัพท์ Android ผ่านสาย OTG ส่วนที่เหลือได้รับการจัดการโดยแอปเอง
แนวทางปฏิบัติที่ดีที่สุดสำหรับการมีส่วนร่วม
แนวปฏิบัติด้านโค้ด
โปรดช่วยเราปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเพื่อให้ผู้ตรวจสอบและผู้สนับสนุนเป็นเรื่องง่าย เราต้องการมุ่งเน้นไปที่คุณภาพของโค้ดมากกว่าการจัดการหลักจริยธรรมในการขอดึงข้อมูล
- กระทำเพียงครั้งเดียวต่อคำขอดึง
- อ้างอิงหมายเลขปัญหาในข้อความยืนยัน ปฏิบัติตามรูปแบบ
Fixes #<issue number> <commit message>
- ปฏิบัติตามหลักปฏิบัติในการออกแบบเครื่องแบบ ภาษาการออกแบบจะต้องสอดคล้องกันทั่วทั้งแอป
- คำขอดึงจะไม่ถูกรวมเข้าด้วยกันจนกว่าและเว้นแต่การคอมมิตจะถูกแบน ในกรณีที่มีการคอมมิตหลายครั้งบน PR ผู้เขียนคอมมิตจะต้องสควอชพวกมัน และไม่ใช่ผู้ดูแลที่จะเลือกเชอร์รี่และรวมสควอชเข้าด้วยกัน
- หาก PR เกี่ยวข้องกับการเปลี่ยนแปลงส่วนหน้า โปรดแนบภาพหน้าจอที่เกี่ยวข้องในคำอธิบายคำขอดึง
จะ git squash
ได้อย่างไร?
คำแนะนำสำหรับนักพัฒนามือใหม่ที่ประสบปัญหาในการคอมมิตการรวมเป็นอันเดียว การคอมมิตหลายรายการอาจปรากฏในคำขอดึงของคุณโดยส่วนใหญ่เนื่องมาจากสาเหตุดังต่อไปนี้
- จงใจเพิ่มข้อความคอมมิตหลายรายการหลังการเปลี่ยนแปลงแต่ละครั้งโดยไม่ต้อง
git add
ing - การอัปเดตสาขาปัจจุบันด้วยรีโมตเพื่อให้เกิดการผสาน
ไม่ว่าจะด้วยเหตุผลใดก็ตาม ให้ทำตามขั้นตอนด้านล่างเพื่อรวมข้อผูกพันทั้งหมดให้เป็นไปตามแนวทางปฏิบัติที่ดีที่สุดของเรา
- ตั้งค่ารีโมตเป็นสาขาอัปสตรีมหากไม่ได้ตั้งค่าไว้ก่อน
$ git remote add upstream https://github.com/fossasia/pslab-android.git
- ตรวจสอบสาขาที่เกี่ยวข้องกับคำขอดึง
$ git checkout <branch-name>
- ดำเนินการซอฟต์รีเซ็ตเพื่อรักษาการเปลี่ยนแปลงในขณะที่ลบรายละเอียดการคอมมิตทั้งหมด
$ git reset --soft upstream/development
- เพิ่มไฟล์ลงในพื้นที่จัดเตรียม
$ git add <file paths or "." to add everything>
- สร้างการคอมมิตใหม่ด้วยข้อความที่เหมาะสมตามหลักเกณฑ์ข้อความการคอมมิต
$ git commit -m "tag: commit message"
- หากคุณได้ทำการร้องขอการดึงแล้ว
$ git push -f origin <branch-name>
นโยบายสาขา
เรามีสาขาดังต่อไปนี้
- development การพัฒนาทั้งหมดดำเนินไปในสาขานี้ หากคุณกำลังมีส่วนร่วม คุณควรจะทำการ pull request to development ตรวจสอบให้แน่ใจว่าได้ผ่านการตรวจสอบบิลด์บน Travis
- master ประกอบด้วยโค้ดที่เสถียร หลังจากสะสมคุณสมบัติ/การแก้ไขข้อบกพร่องที่สำคัญในการพัฒนาแล้ว เราจะย้ายมันไปที่ระดับหลัก
- apk สาขานี้มีไฟล์ apk ที่สร้างขึ้นโดยอัตโนมัติสำหรับการทดสอบ
สไตล์รหัส
โปรดลองปฏิบัติตามหลักเกณฑ์ดังกล่าวในขณะที่เขียนและส่งโค้ดของคุณ เนื่องจากจะทำให้ผู้ตรวจสอบและนักพัฒนารายอื่นเข้าใจได้ง่ายขึ้น
- ขณะตั้งชื่อไฟล์โครงร่าง ตรวจสอบให้แน่ใจว่ารูปแบบที่ปฏิบัติตามคือ (activity/fragment) _ (name).xml เช่น
activity_oscilloscope.xml
, fragment_control_main.xml
- ตั้งชื่อมุมมองและวิดเจ็ตที่กำหนดไว้ในไฟล์เลย์เอาต์เป็น (viewtype/widget) _ (ชื่อแฟรกเมนต์/กิจกรรม) _ (หมายเลขในไฟล์) เช่น
spinner_channel_select_la1
, button_activity_oscilloscope1
- ชื่อไฟล์กิจกรรม/แฟรกเมนต์ที่สอดคล้องกับไฟล์โครงร่างควรตั้งชื่อเป็น (activity/fragment name)(activity/fragment).java เช่น
ChannelsParameterFragment.java
ที่สอดคล้องกับไฟล์โครง fragment_channels_parameter.xml
- วิดเจ็ตที่เกี่ยวข้องสำหรับปุ่ม กล่องข้อความ ช่องทำเครื่องหมาย ฯลฯ ในไฟล์กิจกรรมควรตั้งชื่อเป็น (viewtype/widget)(fragment/activity name)(no. ในไฟล์) เช่น
spinnerChannelSelect1
ที่สอดคล้องกับ spinner_channel_select1
นักพัฒนา
ผู้ดูแล
ดำเนินโครงการโดย
- แพดมัล (@CloudyPadmal)
- มาริโอ เบห์ลิง (@mariobehling)
- ลอเรนซ์ เกอร์เบอร์ (@lorenzgerber)
- เว่ย ทัท (@cweitat)
- ไวกี (@woshikie)
ศิษย์เก่า
- นีล ทริเวดี (@neel1998)
- อการ์ชาน กันโดตรา (@akarshan96)
- อสิตาวา ซาร์การ์ (@asitava1998)
- วิเวก ซิงห์ บาเดาเรีย (@viveksb007)
- อัฟเจต (@Avjeet)
- อภินาฟ (@abhinavraj23)
- รุนแรง (@harsh-2711)
- ยาตรี (@yatri1609)
ใบอนุญาต
ปัจจุบันโครงการนี้ได้รับอนุญาตภายใต้ Apache License 2.0 จะต้องแสดงสำเนาใบอนุญาตพร้อมกับซอร์สโค้ด หากต้องการรับซอฟต์แวร์ภายใต้ใบอนุญาตอื่น โปรดติดต่อ FOSSASIA