Jeffrey Cross
Jeffrey Cross

Codebox: Simpan data sensor ke Google Spreadsheets

Bahagian "Hello Arduino" dalam Bab 11 Bermula dengan Pemprosesan menunjukkan cara membaca data ke dalam Pemprosesan dari Arduino. Secara ringkas, kod Arduino (contoh 11-6 dalam buku) membaca data dari sensor cahaya dan menulisnya ke port siri. Bahagian tersebut kemudiannya menerangkan sejumlah lakaran yang semakin canggih yang mengambil dan memvisualisasikan data sensor menggunakan pensijilan Serial Processing.

Codebox ini menunjukkan kepada anda cara menyimpan data penderia ini ke Google Spreadsheet. Perkara yang menarik ialah anda boleh menggunakan mana-mana barang yang disediakan oleh Google (carta, alat, peta, dll) secara langsung dengan data anda. Walaupun sensor cahaya cukup mendasar, anda boleh menggunakan persediaan asas ini untuk merakam data dari sensor yang lebih canggih, seperti modul penerima GPS Parallax ke Google Spreadsheets, dan kemudian membuat peta tempat anda berada di mana anda boleh pos sebagai alat.

Lakaran ini bergantung kepada Perpustakaan API Google API untuk Java, yang merupakan satu set perpustakaan kod untuk berinteraksi dengan pelbagai perkhidmatan Google (bukan sekadar Spreadsheets). Dalam penyelidikan artikel ini, saya mendapati artikel Pengolahan guru Jer Thorpe Open Science, H1N1, Pemprosesan, dan Google Spreadsheet API inspirasi hebat. Walaupun ia berdasarkan versi lama API (versi 1.0, manakala API kini menjadi versi 3.0), ia adalah pengenalan hebat untuk berinteraksi dengan Google. Terima kasih, Jer!

Buat hamparan anda

Langkah pertama dalam projek ini adalah untuk menyediakan Google Spreadsheet. Untuk melakukan ini, anda memerlukan akaun Google (jelas!). Log masuk, dan kemudian masuk ke dokumen untuk membuat hamparan baru bernama "log sensor." Kemudian, tambah lajur berikut dalam baris pertama: "tarikh," "masa," dan "membaca." Seperti yang akan kita lihat tidak lama lagi, tajuk lajur digunakan dalam kod anda untuk berinteraksi dengan data dalam hamparan. Kemudian simpan hamparan. (Biarkan ia dibuka, walaupun.)

Sediakan lakaran

Seterusnya, sedikit pengemasan. Perpustakaan pengguna data Google menggunakan generik dan barang lain yang diperkenalkan di Java 1.5, jadi anda mungkin perlu mengemas kini versi Pemprosesan untuk melepaskan 0136 atau lebih tinggi. Jika anda tidak pasti versi mana yang anda miliki, muat turun versi terkini Pemprosesan untuk memastikan. Jika tidak, anda berada di atas banyak kepala menggaru.

Sebaik sahaja anda mengesahkan bahawa anda sedang melepaskan 0136+, muat turun perpustakaan klien Java gdata-samples.java-1.40.0.zip. [NB: Ini adalah versi perpustakaan sedikit lebih lama - terdapat beberapa masalah dengan versi terbaru yang tergantung pada Mac, jadi orang yang disyorkan mengundur sehingga Google membetulkan masalah.] Anda juga perlu Guava, perpustakaan Koleksi Google.

Sebaik sahaja anda telah memuat turun dan membongkar fail-fail tersebut, api memproses dan tampal google_spreadsheet_writer.pde ke dalam kawasan lakaran:

Seterusnya, tambahkan empat fail berikut kepada projek anda dari perpustakaan yang anda muat turun sebelum ini (gunakan Lakaran -> Tambah item menu fail):

direktori gdata unzipped/java/java/lib/gdata-client-1.0.jar

direktori gdata unzipped/java/java/lib/gdata-core-1.0.jar

direktori gdata unzipped/java/java/lib/gdata-spreadsheet-3.0.jar

direktori jambu yang tidak dikemas kini/guava-r07.jar

Akhirnya, anda perlu mengemas kini beberapa pemboleh ubah dalam lakaran untuk menetapkan nama pengguna, kata laluan; anda juga perlu memastikan bahawa anda memasukkan nama * tepat * spreadsheet yang anda buat pada permulaan projeknya. Ini adalah garis yang perlu anda ubah:

String uname = "[masukkan akaun google kamu di sini]"; // Nama pengguna akaun google anda String pwd = "[masukkan kata laluan akaun google anda di sini]"; // Kata laluan akaun google anda String spreadsheet_name = "log sensor"; // Nama spreadsheet yang ingin anda tulis data. Perlu sepadan dengan tepat, termasuk kes.

Sebaik sahaja anda selesai, apikan lakaran. Dengan asumsi anda menjalankan kod Arduino dari Contoh 11-6 Bermula dengan Pemprosesan, anda harus mula melihat hamparan anda mengisi data sensor setiap 2 saat.

Perbincangan

Saya akan jujur: bahagian paling sukar dalam projek ini ialah mendapatkan semua perpustakaan dengan betul. Sebaik sahaja anda lakukan, sebenarnya tidak banyak kod itu sendiri. Panduan Pemaju: Dokumentasi Java berfungsi dengan baik menerangkan kebanyakan perkara yang perlu anda ketahui. (Perhatikan bahawa ini adalah versi dokumentasi yang lebih lama. Saya dapati ia lebih jelas daripada versi terkini, yang boleh anda dapati di Panduan Pembangun (v3.0).)

Seperti yang akan anda lihat di dalam persediaan () kaedah, lakaran bermula dengan mengesahkan kelayakan anda. Dengan mengandaikan anda menyemak, ia kemudian menarik senarai semua spreadsheet anda dan mendapati yang mempunyai tajuk yang sama seperti yang ditakrifkan dalam spreadsheet_name pembolehubah. Akhirnya, ia mengeluarkan lembaran kerja pertama (ini adalah pelbagai tab dalam spreadsheet) dan menyimpannya untuk kegunaan masa depan. Dari sana, lakaran itu jatuh ke dalam lukis () kaedah, yang menggunakan pemasa untuk memanggil secara berkala menghantar () fungsi.

menghantar () adalah tempat kebanyakan kerja berlaku. Ia bermula dengan membuat beberapa rentetan yang memegang tarikh semasa dan masa, dan kemudian membuat yang baru ListEntry, yang merupakan kelas data utama yang digunakan untuk berinteraksi dengan lembaran kerja. Kaedah kelas getCustomElements (). setValueLocal () digunakan untuk memetakan pemboleh ubah Pemprosesan ke nama lajur dalam lembaran kerja, seperti yang ditunjukkan pada angka seterusnya:

Sebaik sahaja anda membuat lakaran ini berfungsi, kemungkinannya tidak berkesudahan. Baiklah, OK, mereka tidak berkesudahan. Mereka terhingga. Tetapi, terdapat banyak kemungkinan, bagaimanapun.

Nikmati!

Lebih banyak: Semua lajur Codebox boleh didapati di sini

Dalam Maker Shed:


Bermula dengan Memproses Belajar pengaturcaraan komputer cara mudah dengan Pemprosesan, bahasa mudah yang membolehkan anda menggunakan kod untuk membuat lukisan, animasi, dan grafik interaktif. Kursus pengaturcaraan biasanya bermula dengan teori, tetapi buku ini membolehkan anda melompat ke dalam projek yang kreatif dan menyeronokkan. Ia sesuai untuk sesiapa sahaja yang ingin belajar pengaturcaraan asas, dan berfungsi sebagai pengenalan mudah kepada grafik untuk orang yang mempunyai kemahiran pengaturcaraan.

Kongsi

Meninggalkan Komen