مقدمه
این دومین مورد از مجموعه آموزش هایی است که کاربردهای مختلف آردوینو یون را بررسی می کند. در این مقاله بررسی خواهیم کرد که Arduino Yún شما چگونه میتواند دادههایی را که از ورودیهای آنالوگ و دیجیتال و یک IC ساعت بیدرنگ گرفته میشود به صفحه گسترده Google Docs آنلاین ارسال کند. انجام این کار به شما یک روش ساده و ارزان برای جمعآوری دادهها در زمان واقعی و داشتن توانایی تجزیه و تحلیل دادهها از تقریباً هر نقطه و صادرات آن با تلاش بسیار کم میدهد.
شروع به کار
اگر قبلاً این کار را نکرده اید، مطمئن شوید که Arduino Yún شما می تواند از طریق WiFi یا کابل به شبکه شما متصل شود - و یک حساب Temboo دریافت کنید (ما در اینجا این کار را انجام می دهیم ). و شما نیاز دارید (در زمان نگارش) IDE نسخه 1.5.4 که از وب سایت آردوینو قابل دانلود است . در نهایت، به یک حساب Google نیاز خواهید داشت، بنابراین اگر آن را ندارید - در اینجا ثبت نام کنید
مرحله 1: آزمایش اتصال Arduino Yún-Google Docs
در این مثال اول، طرح ارائه شده توسط Temboo را اجرا می کنیم تا بتوانید تأیید کنید که همه چیز همانطور که باید کار می کند. اول از همه، یک صفحه گسترده در Google Docs ایجاد کنید. همانطور که در تصویر بالا نشان داده شده است، آن را "ArduinoData" بنامید و دو ستون اول را به عنوان "زمان" و "حسگر" برچسب گذاری کنید.
همیشه ستون های مورد نیاز را برچسب گذاری کنید. شما می توانید آنها را هر چه نیاز دارید صدا بزنید. برای کاربران جدید گوگل، URL نشان داده شده در مثال من با آدرس شما متفاوت خواهد بود. سپس طرح زیر را در IDE کپی کنید:
———————————————————————————————————-
/*
SendDataToGoogleSpreadsheet
الحاق یک ردیف داده به صفحه گسترده Google را نشان می دهد از Arduino Yun
با استفاده از Temboo Arduino Yun SDK.
این کد نمونه در دامنه عمومی است.
*/
#include <Bridge.h>
#include <Temboo.h>
#include "TembooAccount.h" // حاوی اطلاعات حساب Temboo است
/*** مقادیر خود را در زیر جایگزین کنید: ***/
// توجه داشته باشید که برای امنیت بیشتر و قابلیت استفاده مجدد، می توانید
// از دستورات #define برای تعیین این مقادیر در یک فایل .h استفاده کنید.
const String GOOGLE_USERNAME = "Your-google-username";
const String GOOGLE_PASSWORD = "گذرواژه-google-شما";
// عنوان صفحهگستردهای که میخواهید دادهها را به
// ارسال کنید (توجه داشته باشید که این در واقع باید عنوان صفحهگسترده Google
// باشد که در حساب Google Drive/Docs شما وجود دارد و
// همانطور که در بالا توضیح داده شد پیکربندی شده است.)
const String SPREADSHEET_TITLE = "عنوان صفحه گسترده شما";
Const طولانی بدون علامت RUN_INTERVAL_MILLIS = 60000; // هر چند وقت یکبار Choreo را اجرا کنیم (در میلی ثانیه)
// آخرین باری که Choreo را اجرا کردیم
// (به 60 ثانیه قبل راه اندازی شد، بنابراین
// Choreo بلافاصله با راه اندازی اجرا می شود)
unsigned long lastRun = (unsigned long) -60000;
void setup() {
// برای اشکال زدایی، منتظر بمانید تا کنسول سریال متصل شود
Serial.begin(9600);
تاخیر(4000);
while(!Serial);
Serial.print ("Initializing the Bridge...");
Bridge.begin();
Serial.println ("انجام شد");
}
void loop()
{
// دریافت تعداد میلی ثانیه هایی که این طرح
برای مدت طولانی بدون علامت اجرا می شود = millis();
// اگر 60 ثانیه از آخرین باری که دویدیم، دوباره اجرا کنید
if (now – lastRun >= RUN_INTERVAL_MILLIS) {
// به یاد داشته باشید 'now' به عنوان آخرین باری که choreo را اجرا کردیم
lastRun = now;
Serial.println ("دریافت مقدار سنسور...");
// مقداری را که میخواهیم به صفحهگستردهمان اضافه کنیم
، بدون علامت sensorValue = getSensorValue();
Serial.println("الحاق مقدار به صفحه گسترده...");
// برای ارسال درخواست Choreo به Temboo
TembooChoreo AppendRowChoreo به یک شی Process نیاز داریم.
// کلاینت Temboo را فراخوانی کنید
// توجه داشته باشید که کلاینت باید
هر بار که متد run() آن فراخوانی می شود دوباره فراخوانی شود و با // آرگومان های مناسب دوباره جمع شود.
AppendRowChoreo.begin();
// تنظیم اعتبار حساب Temboo
AppendRowChoreo.setAccountName(TEMBOO_ACCOUNT);
AppendRowChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
AppendRowChoreo.setAppKey(TEMBOO_APP_KEY);
// شناسایی Temboo Library برای اجرا (Google > Spreadsheets > AppendRow)
AppendRowChoreo.setChoreo("/Library/Google/Spreadsheets/AppendRow");
// ورودی های مورد نیاز Choreo را تنظیم کنید
// برای جزئیات کامل در مورد ورودی های این Choreo // نام کاربری Google خود (معمولاً آدرس ایمیل شما) به https://www.temboo.com/library/Library/Google/Spr… // مراجعه کنید. AppendRowChoreo.addInput("نام کاربری"، GOOGLE_USERNAME); // رمز عبور حساب Google شما AppendRowChoreo.addInput("Password", GOOGLE_PASSWORD); // عنوان صفحه گسترده ای که می خواهید به AppendRowChoreo.addInput اضافه کنید ("SpreadsheetTitle", SPREADSHEET_TITLE); // تبدیل مقادیر زمان و حسگر به رشته جدا شده با کاما String rowData(now); rowData += “,”; rowData += sensorValue; // آیتم ورودی RowData را اضافه کنید AppendRowChoreo.addInput("RowData", rowData); // Choreo را اجرا کنید و منتظر نتایج بمانید // کد بازگشتی (returnCode) نشان دهنده موفقیت یا شکست unsigned int returnCode = AppendRowChoreo.run(); // کد بازگشتی صفر (0) به معنای موفقیت است اگر (returnCode == 0) { Serial.println(“Success! Appended” + rowData); Serial.println(""); } else { // کد بازگشتی هر چیزی غیر از صفر به معنای شکست است // خواندن و نمایش هرگونه پیام خطا در حالی که (AppendRowChoreo.available()) { char c = AppendRowChoreo.read(); Serial.print(c); } } AppendRowChoreo.close(); } } // این تابع خواندن مقدار یک حسگر بدون علامت طولانی getSensorValue() { return analogRead(A0); }
اکنون به دنبال دو خط زیر در طرح بگردید :
const String GOOGLE_USERNAME = "Your-google-username";
const String GOOGLE_PASSWORD = "گذرواژه-google-شما";
اینجا جایی است که نام کاربری و رمز عبور حساب Google خود را قرار می دهید. به عنوان مثال، اگر حساب Google شما "C I5@gmail.com " و رمز عبور "RS2000Escort" باشد، دو خط به این صورت خواهد بود:
const String GOOGLE_USERNAME = " CI5@gmail.com ";
const String GOOGLE_PASSWORD = "RS2000Escort";
در مرحله بعد، باید نام صفحه گسترده را در طرح وارد کنید. به دنبال خط زیر باشید:
const String SPREADSHEET_TITLE = "عنوان صفحه گسترده شما";
و عنوان صفحه گسترده خود را به ArduinoData تغییر دهید.
در نهایت، فایل هدر خود را با کپی کردن داده های فایل هدر از اینجا (پس از ورود به Temboo) در یک فایل متنی و ذخیره آن با نام TembooAccount.h در همان پوشه طرح خود از بالا ایجاد کنید. میدانید که این کار هنگام باز کردن طرح موفقیتآمیز بوده است، زیرا فایل هدر را در برگه دوم مشاهده خواهید کرد، به عنوان مثال در تصویر دوم بالا.