Отправка аналоговых входных данных из последовательного порта в Google Таблицы

Поэтому я пытаюсь использовать свой Arduino Uno, пока покупаю компоненты для своего следующего проекта.

Я использовал проект Digital Hourglass из Starter Kit, чтобы быть уверенным, что я встаю и двигаюсь каждые 20 минут, пока я дома. Датчик температуры также был включен в Starter Kit, поэтому я решил, что могу использовать его, поскольку у меня есть дополнительные контакты ввода/вывода.

Я написал код в Arduino IDE для отображения температуры и текущего времени. Я использую: #include (Time.h), чтобы также показать текущее время. У меня два вопроса.

Конечная цель:

Таблица Google (Cloud), к которой я могу получить доступ откуда угодно, которая может показать мне температуру в моей квартире в течение дня. Я могу отслеживать, как тенденция меняется с течением времени в течение дня, недели или месяца.

  1. Какой лучший способ вывести текущее время: в секундах с 1970 года (время Unix) или в формате даты и времени? Я думаю, это вопрос предпочтений.

  2. Как вывести данные из последовательного порта Arduino напрямую в Google Sheets? Это может быть сложно, поэтому другой вариант — включить Arduino утром и отключить питание в конце дня, вывести последовательный порт в файл .txt, а затем импортировать в Google Sheets. Как это сделать?

, 👍2


3 ответа


1

Я бы использовал ESP8266 и IFTTT.

https://ifttt.com/maker_webhooks https://ifttt.com/google_drive

Вы можете написать что-то на своем ПК, что будет брать последовательный вывод от Aurdino и отправлять REST-сообщение в IFTTT.

,

Да, я недавно заказал комплект Sparkfun Photon для большого количества обучения IoT. Этот проект, о котором я писал, в частности, не предназначен для IoT-проекта. Он предназначен для того, чтобы научиться просто документировать данные для последующей обработки с использованием последовательного соединения. Спасибо!, @mattcurrentjr


2
  1. Используйте формат отметки времени Google: MM-dd-yyyy hh:mm:ss, см. Google Sheets API v4 — Форматы дат и чисел.

  2. Есть несколько способов. Например:

    • ПК, подключенный к Интернету, с программным обеспечением на нем, которое прослушивает данные от Arduino. Он будет получать данные Arduino через последовательный порт, а затем отправлять их через Интернет в Google.

    • Wi-Fi или сетевой шилд, подключенный к Интернету. Затем вы можете использовать API Google для отправки данных напрямую с Arduino, см. API Google Sheets v4 - Writing.

    • Или, как вы упомянули, физически достаньте SD-карту и вручную загрузите данные.

,

Первая — это идея. Я оставляю Arduino подключенным к моему ноутбуку в течение дня, пока меня нет. Не должно быть так уж сложно отредактировать скрипт, чтобы хотя бы пересылать эти данные из Arduino в документ .txt. Может быть, я недостаточно изучил Arduino Playground. Это должно работать с любым аналоговым датчиком., @mattcurrentjr


0

Разве не было бы здорово, если бы данные из Arduino, полученные через последовательный порт, можно было бы вставлять непосредственно в локальный URL-адрес электронной таблицы Google, без использования каких-либо API или запросов Post?

Насколько мне известно, Google Spreadsheets может обновляться (человеком) на локальном компьютере даже без подключения к Интернету.

Какая будет польза?

Если в конечном итоге интернет пропадет на несколько часов, данные Arduino не будут потеряны.

В предоставленных хороших рабочих решениях интернет всегда обязателен, если я правильно вижу. Нет интернета? Потеряны данные. Мне так кажется.

Но я действительно не знаю, может ли скрипт получить последовательные данные из Arduino, а затем обновить существующий URL-адрес электронной таблицы Google, как это сделал бы человек (набрав новую строку).

Скрипт autoit или autohotkey подойдет для компьютеров с Windows, имитируя щелчки мыши и ввод текста, но должны существовать и более красивые решения.

Такое решение будет накапливать данные с интернетом или без него, и как только интернет вернется, все данные будут обновлены в облаке. Если я правильно вижу. (Извините, если я допустил ошибку).


Думаю, у меня есть не такое уж плохое решение: сохранить все данные в текстовом файле. Затем периодически пытаться обновить все данные в таблице Google с помощью API Таблиц или любым интернет-зависимым способом (веб-приложение и т. д.).

В этом случае, если нет интернета, данные все равно накапливаются в текстовом файле. Когда интернет возвращается, данные не теряются.

,