Isi kandungan:

Twitter dan Arduino Yún: 3 Langkah
Twitter dan Arduino Yún: 3 Langkah

Video: Twitter dan Arduino Yún: 3 Langkah

Video: Twitter dan Arduino Yún: 3 Langkah
Video: Arduino Yun #S2-3 : Intro, rewiring, power, reset, recovery, WLAN, oops 2024, November
Anonim
Twitter dan Arduino Yún
Twitter dan Arduino Yún

Setelah membelanjakan hampir $ 100 untuk Arduino Yún untuk melihat apa keributannya, nampaknya idea yang baik untuk mencari dan menunjukkan beberapa kegunaannya. Oleh itu, dalam artikel ini kita akan mengkaji bagaimana Yun anda dapat menghantar tweet menggunakan beberapa contoh lakaran ringkas - dan yang pertama dari beberapa tutorial khusus Arduino Yún. Bermula Jika anda belum melakukannya, pastikan Arduino Yún anda dapat menyambung ke rangkaian anda melalui WiFi atau kabel - dan dapatkan akaun Temboo (kami jalankan melalui ini di sini). Dan anda memerlukan (pada masa penulisan) IDE versi 1.5.4 yang boleh dimuat turun dari laman web Arduino. Akhirnya, jika anda tidak mempunyai akaun twitter - dapatkannya.

Langkah 1: Menghantar Tweet Dari Yun Anda

Menghantar Tweet Dari Yun Anda
Menghantar Tweet Dari Yun Anda
Menghantar Tweet Dari Yun Anda
Menghantar Tweet Dari Yun Anda

Menghantar tweet dari YúnTerima kasih kepada Arduino dan Temboo, 99% kerja sudah selesai untuk anda. Untuk menghantar tweet memerlukan sketsa Arduino, fail header dengan perincian akaun Temboo anda, dan juga keperluan untuk mendaftarkan aplikasi di konsol pengembangan twitter. Jangan panik, cukup ikuti arahan "Get Set Up" dari halaman berikut. Apabila anda melakukannya - pastikan anda masuk ke laman web Temboo, kerana ia kemudian akan mengisi fail tajuk dengan butiran Temboo untuk anda. Semasa peringkat aplikasi twitter, jangan lupa untuk menyimpan tetapan OAuth anda yang akan muncul di tab "Alat OAuth" di halaman pembangun twitter, misalnya pada gambar di atas. Tetapan ini kemudian disalin ke dalam setiap lakaran bermula dari baris: constStringTWITTER_ACCESS_TOKEN = Apabila anda menyimpan lakaran, pastikan anda meletakkan fail tajuk dengan nama TembooAccount.h dalam folder yang sama dengan lakaran anda. Anda tahu ini berjaya semasa membuka lakaran, kerana anda akan melihat fail tajuk pada tab kedua, contohnya pada gambar kedua dalam langkah ini. Akhirnya, jika anda berkongsi kod dengan orang lain, hapus OAuth dan TembooAccount anda. h jika tidak, mereka boleh menghantar tweet bagi pihak anda.

Langkah 2: Adakah Ia Berfungsi?

Adakah ia berhasil?
Adakah ia berhasil?

OK - amaran yang mencukupi. Sekiranya anda berjaya membuat akaun Temboo anda, dapatkan butiran OAuth twitter anda, memasukkan semuanya ke dalam fail lakaran dan tajuk, kemudian disimpan (!) Dan memuat naik lakaran anda ke Arduino Yún - tweet pendek akan muncul di garis masa anda, untuk contoh pada gambar pertama di atas. Sekiranya tidak ada yang muncul di suapan twitter anda, buka monitor bersiri di IDE dan lihat mesej apa yang muncul. Ini akan memberi anda mesej ralat dari twitter, yang biasanya menunjukkan masalahnya.

Langkah 3: Menghantar Data Anda Sendiri Sebagai Tweet

Menghantar Data Anda Sendiri Sebagai Tweet
Menghantar Data Anda Sendiri Sebagai Tweet

Melanjutkan, mari kita kaji cara mengirim tweet dengan maklumat anda sendiri. Dalam contoh lakaran berikut, kami menghantar nilai yang dihasilkan dari analogRead (0) dan teks digabungkan bersama dalam satu baris. Jangan lupa mesej twitter (tweet) mempunyai panjang maksimum 140 aksara. Kami telah memindahkan semua tweet-pengiriman ke dalam satu fungsi tweet (), yang kemudian anda dapat panggil dari lakaran anda apabila diperlukan - pada suatu acara dan seterusnya. Teks dan data yang akan dihantar digabungkan menjadi Rentetan dalam baris 26.----------------------------------- -------------------------------------------------- -------------------------------------------------- ---------- # include #include #include "TembooAccount.h" // mengandungi maklumat akaun Temboo // seperti yang dijelaskan dalam komen kaki di bawahconst String TWITTER_ACCESS_TOKEN = "aaaa"; const String TWITTER_ACCESS_TOKEN_SECRET = "bbbb"; const String TWITTER_CONSUMER_KEY = "ccccc"; const String TWITTER_CONSUMER_SECRET = "dddd"; int analogZero; persediaan kosong () {Serial.begin (9600); kelewatan (4000); sementara (! bersiri); Bridge.begin ();} batal tweet () {Serial.println ("Running tweet () function"); // tentukan teks tweet yang ingin kami kirim String tweetText ("Nilai A0 adalah" + String (analogZero) + ". Hore untuk twitter"); Status TembooChoreoUpdateChoreo; // memanggil klien Temboo // PERHATIKAN bahawa pelanggan mesti dipanggil semula, dan diisi semula dengan // argumen yang sesuai, setiap kali kaedah run () dipanggil. StatusesUpdateChoreo.begin (); // tetapkan kelayakan akaun Temboo StatusesUpdateChoreo.setAccountName (TEMBOO_ACCOUNT); StatusesUpdateChoreo.setAppKeyName (TEMBOO_APP_KEY_NAME); StatusesUpdateChoreo.setAppKey (TEMBOO_APP_KEY); // kenal pasti koreo Perpustakaan Temboo untuk dijalankan (Twitter> Tweets> StatusesUpdate) StatusesUpdateChoreo.setChoreo ("/ Library / Twitter / Tweets / StatusesUpdate"); // tambahkan maklumat akaun Twitter StatusesUpdateChoreo.addInput ("AccessToken", TWITTER_ACCESS_TOKEN); StatusesUpdateChoreo.addInput ("AccessTokenSecret", TWITTER_ACCESS_TOKEN_SECRET); StatusesUpdateChoreo.addInput ("ConsumerKey", TWITTER_CONSUMER_KEY); StatusesUpdateChoreo.addInput ("ConsumerSecret", TWITTER_CONSUMER_SECRET); // dan tweet yang ingin kami kirimkan StatusesUpdateChoreo.addInput ("StatusUpdate", tweetText); // suruh Proses berjalan dan tunggu hasilnya. Kod // return (returnCode) akan memberitahu kami sama ada pelanggan Temboo // dapat menghantar permintaan kami ke pelayan Temboo yang tidak ditandatangani int returnCode = StatusesUpdateChoreo.run (); // kod pengembalian sifar (0) bermaksud semuanya berfungsi jika (returnCode == 0) {Serial.println ("Kejayaan! Tweet dihantar!"); } lain {// kod pengembalian bukan sifar bermaksud terdapat ralat // membaca dan mencetak mesej ralat semasa (StatusesUpdateChoreo.available ()) {char c = StatusesUpdateChoreo.read (); Cetakan bersiri (c); }} StatusesUpdateChoreo.close (); // jangan buat apa-apa selama 90 saat berikutnya Serial.println ("Menunggu …"); kelewatan (90000);} gelung kosong () {// dapatkan beberapa data dari A0. analogZero = analogRead (0); tweet (); lakukan {} semasa (1); // tidak buat apa-apa}--------------------------------------------- -------------------------------------------------- ---------------------------------------- Yang mana hasilnya dengan contoh tweet berikut yang ditunjukkan di gambar di atas. Dengan contoh lakaran sebelumnya, anda dapat membina fungsi anda sendiri di sekitar fungsi tweet () untuk menghantar data apabila diperlukan. Ingatlah bahawa data yang akan dihantar sebagai tweet digabungkan menjadi String pada baris 26. Harap maklum bahawa anda tidak boleh mengeluarkan tweet seperti mesin, kerana dua sebab - satu, twitter tidak suka tweet automatik cepat - dan dua, anda hanya mendapat 1000 panggilan percuma di akaun Temboo anda setiap bulan. Sekiranya anda memerlukan lebih banyak, akaun perlu ditingkatkan dengan kos. Kesimpulan Baik Yun memberi kita cara lain untuk menghantar data melalui twitter. Itu bukan kaedah paling murah untuk melakukannya, namun agak mudah. Oleh itu, pertukaran dengan platform Arduino - kesederhanaan berbanding harga. Nantikan lebih banyak tutorial. Dan jika anda berminat untuk mempelajari lebih lanjut mengenai Arduino, atau ingin memperkenalkan orang lain ke dunia Arduino yang menarik - lihat buku saya (sekarang dalam percetakan ketiga!) "Bengkel Arduino" dari No Starch Press.

Disyorkan: