Pertanyaan Bagaimana cara memanaskan perangkat Android hingga 40 derajat via Unity?


Saya ingin membuat aplikasi Android yang akan bertindak sebagai "penghangat tangan". Saya menggunakan panggilan GPS, getaran, senter, dan saya juga menggunakan beberapa utas untuk menjalankan kode dalam satu lingkaran. Konsumsi baterai tinggi tetapi tidak cukup.

Ketika saya menggunakan aplikasi ini, dibutuhkan sekitar 10 menit untuk pergi dari 25 derajat ke 33. Tujuan saya adalah mencapai 40 derajat dalam waktu sesingkat mungkin.

Jadi, bagaimana saya bisa membaca perangkat temp via kode C #, dan bagaimana mencapai 40 derajat panas dan tetap di sana?


7
2018-03-11 12:53


asal


Jawaban:


Anda tidak memerlukan senter atau vibrator untuk melakukan ini karena aplikasi akan mengganggu kebanyakan orang karena keduanya akan diaktifkan bahkan ketika tidak diperlukan.

Gunakan teknik yang seharusnya tidak memengaruhi pengguna secara fisik tetapi mampu menghasilkan panas.

bagaimana saya bisa membaca temp perangkat melalui kode C #

Anda harus terlebih dahulu memeriksa apakah perangkat memiliki sensor termometer sebelum Anda harus membaca sensor. Sedangkan untuk membaca sensor dari Android dengan C #, Anda harus menulis itu dengan kode Java kemudian memanggil fungsi itu dari C #.

Anda bisa menggunakan yang sudah dibuat Plugin Unity-Android-Sensor plugin untuk ini.

private AndroidJavaObject plugin;

void Start ()
{
#if UNITY_ANDROID
    plugin = new AndroidJavaClass("jp.kshoji.unity.sensor.UnitySensorPlugin").CallStatic<AndroidJavaObject>("getInstance");

    //Init the ambienttemperature sensor
    if (plugin != null) 
    {
        plugin.Call("startSensorListening", "ambienttemperature");
    }
#endif
}

Untuk membaca sensor suhu lingkungan nanti di fungsi Pembaruan:

float[] sensorValue = plugin.Call<float[]>("getSensorValues", "ambienttemperature");

Konsumsi baterai tinggi tetapi tidak cukup.

Ini adalah teknik yang digunakan untuk memanaskan perangkat seluler Anda.

Kecerahan:

1. Ubah kecerahan ke nilai tertinggi. Sekarang, nonaktifkan otomatis redup sehingga layar yang dipimpin selalu bersinar.

Jaringan:

2.Membuat beberapa server TCP (4 hingga 5) dengan masing-masing menjalankan di Thread mereka sendiri dan juga dengan port yang berbeda pada perangkat.

Sekarang, buat jumlah klien TCP yang sama dan hubungkan ke server dengan port dan IPAddress.Loopback sebagai IP.

Dalam lingkaran sementara, secara acak menghasilkan 13k nomor float, mengkonversinya ke byte array kemudian mengirimkannya ke setiap klien dan server secara terus menerus. Ketika Anda menerimanya, ubah array byte itu kembali ke float lalu lakukan apa-apa dengan hasilnya. Ulangi dan bilas.

Audio:

3.Beban 5 atau 6 file audio ke file audio, atur ke loop kemudian atur volumenya 0. Mainkan semua audio.

Video:

4.Beban 5 atau 6 animasi, atur ke loop lalu mainkan. Itu mungkin tidak terlihat di layar tetapi selama itu bermain, itu baik-baik saja.

Video:

5.Beban 3 video dengan Unity yang baru VidepPlayer, nonaktifkan audio, hubungkan video ke RawImage. Setel alfa dari RawImage lainnya menjadi 0 sehingga tidak terlihat. Mainkan video dan biarkan decoding melakukan pekerjaan.

Senator:

6.Memungkinkan akselerometer dan sensor gyro mengumpulkannya setiap frame dalam fungsi Pembaruan.

7.Enable GPS dan baca polling itu setiap frame dalam fungsi Update.

8.Enable Bluetooth dan lakukan pencarian berkelanjutan untuk perangkat lain setiap detik.

9.Aktifkan kamera depan dan belakang, tarik Tekstur dari mereka tetapi tidak melakukan apa pun dengannya.


bagaimana cara mencapai 40 derajat panas dan tetap di sana?

Menyatukannya:

Taruh semua yang dijelaskan di atas dalam suatu fungsi atau kelasnya sendiri.

1. Tulis kelas sederhana dengan int variabel yang disebut level. Variabel level ini harus digunakan untuk menentukan tindakan yang dijelaskan di atas harus berjalan.

2.Ketika aplikasi dimulai, ubah level menjadi 9 kemudian aktifkan / mulai setiap teknik yang dijelaskan di atas. Jika suhu mencapai sekitar 38, kurangi level menjadi sekitar 5. Ketika level menurun, Anda berhenti menjalankan apa pun di bawah, jadi dalam hal ini, Anda harus menghentikan polling accelerometer, gyro, GPS, Bluetooth dan kamera kemudian menonaktifkannya.

3.Jika suhu di atas 40, kurangi level. Jika di bawah 40, tingkatkan levelnya. Beginilah cara Anda menjaga suhu di sekitar ~40 derajat.

4.Bahkan lebih baik, Anda mungkin harus membuat sendiri Kontroler PID yang menggunakan teknik-teknik di atas untuk ini. Ini akan membutuhkan waktu untuk melakukannya dengan benar, tetapi ini mungkin cara terbaik untuk melakukan hal ini.

TIP:

Untuk setiap hal yang Anda lakukan, periksa frekuensi gambar. Jika frame-rate di bawah 6, berhenti. Jika tidak, Android dapat mematikan aplikasi karena tidak responsif.


CATATAN:

Tulis fungsi sederhana yang mendeteksi beberapa perangkat tertentu yang disebutkan dalam komentar bagian. Pastikan aplikasi ini tidak berjalan di aplikasi ini atau Anda "Penghangat tangan"aplikasi bisa menjadi"tangan hangat & amputator" aplikasi.


3
2018-03-11 14:44