Простое построение удаленных данных с помощью Android / Arduino / PfodApp: 6 шагов
Простое построение удаленных данных с помощью Android / Arduino / PfodApp: 6 шагов
Anonim
Простое построение удаленных данных с помощью Android / Arduino / PfodApp
Простое построение удаленных данных с помощью Android / Arduino / PfodApp

Для построения графика данных по дате / времени с использованием только millis () Arduino см. Этот InstructableArduino Построение / регистрация даты / времени с использованием Millis () и PfodApp.

В этом руководстве показано, как построить данные датчика Arduino на вашем мобильном устройстве Android и записать их для последующей загрузки на свой компьютер. Эти инструкции также доступны на www.pfod.com.au Не требуется программирования для Android и очень мало требуется для программирования Arduino. Это расширение Simple Mobile Data Logging с использованием pfodApp.

Шаг 1. Быстрый старт печати

Быстрый старт печати
Быстрый старт печати

a) Получите плату Arduino и модуль Bluetooth (например, Uno и Bluetooth Shield или FioV3 + Bluetooth) b) Установите Arduino IDE c) Подключите плату Arduino (модуль bluetooth не подключен) с помощью кабеля USB. г) Скопируйте этот эскиз в IDE Arduino, скомпилируйте и загрузите его в плату Arduino) д) Присоедините модуль Bluetooth Shield к Uno (Bluetooth Shield предварительно настроен на 9600 бод, НО установите переключатель 3V / 5V на 5V и установите переключатель To Board / To FT232 в положение To Board f) Загрузите свой Android Mobile с помощью pfodApp. g) Установите соединение между вашим мобильным телефоном и модулем Bluetooth, как описано в pfodAppForAndroidGettingStarted.pdf. h) Запустите pfodApp и подключитесь к плате Arduino через модуль Bluetooth. я закончил. Теперь ваш мобильный телефон будет сохранять и отображать счетчики преобразователя Arduino AtoD для входа A0.

Шаг 2: набросок

Набросок построения
Набросок построения

Для построения графика с использованием pfodApp требуются две вещи: - а) поток данных (в формате CSV) и б) команда построения графика из pfodDevice (Arduino). Скетч SimpleDataPlotting.ino выполняет только две функции. Сначала он считывает аналоговый вход A0 один раз в секунду и отправляет текущие секунды и счетчики в формате CSV. Во-вторых, когда pfodApp подключается и запрашивает главное меню, эскиз отвечает командой построения, чтобы начать построение измерений. Вот код, который выполняется раз в секунду для чтения аналогового входа A0 и записи текущих секунд, считая до соединения Bluetooth. // читать A0 один раз в секунду int val = analogRead (0); // A0 // вывод текущего времени и чтение в формате csv parser.print (thisMillis / 1000); // первое поле - время в секундах parser.print (","); // поля разделяются запятой parser.println (val); // новая строка завершает запись данных

Вот код, который отвечает на запрос pfodApp для главного меню pfodDevice (Arduino Uno).

байт cmd = parser.parse (); if (cmd! = 0) {// проанализировали полное сообщение {to} if ('.' == cmd) {// pfodApp запросил главное меню // отправить обратно "открытый экран построения" parser.print (F ("{= Аналоговый график A0 | Время (сек) | Счетчики}")); // это главное меню} else if ('!' == cmd) {// Команда CloseConnection closeConnection (parser.getPfodAppStream ()); } else {// неизвестная команда parser.print (F ("{}")); // всегда отправлять обратно pfod msg, иначе pfodApp отключится. }}

Когда pfodApp вашего мобильного телефона подключается, он автоматически запрашивает главное меню (отправляя сообщение {.}), Синтаксический анализатор в скетче (см. Код внизу скетча) анализирует {.} И возвращает '.'. команда. Затем скетч отправляет обратно команду построения графика {= Аналоговый график A0 | Время (сек) | A0 Counts} Эта команда инструктирует pfodApp открыть экран под названием «Analog A0 Plot» и построить график времени по счетам. Затем pfodApp сканирует поступающие необработанные данные и ищет строки с двумя полями, принимает первое поле как значение x, а второе как значение y и добавляет эту точку на график. Каждый раз, когда открывается экран построения графика (или экран необработанных данных), pfodApp начинает сохранять все необработанные данные в локальный файл на вашем мобильном телефоне. PfodApp продолжает сохранять данные, пока вы не выйдете из pfodApp. Вы можете загрузить этот файл на свой компьютер для дальнейшей обработки (см. Один из последующих шагов). Есть ряд других опций для команды plot, которые позволяют игнорировать некоторые поля, устанавливать масштабы графика, строить несколько графиков на одной диаграмме и т. Д. См. PfodSpecification для деталей и примеров. PfodApp может делать гораздо больше, чем просто строить графики, см. Эти примеры. График выше является примером двух диаграмм, на одной из которых есть два графика. Этот сюжет от ArduMower Сделай сам робот-косилка! который использует тот же pfodApp для управления газонокосилкой. Тот же pfodApp используется для управления всеми pfodDevices. Именно pfodDevices полностью определяет, какие экраны отображаются пользователям.

Шаг 3: Подробнее

Подробнее
Подробнее
Подробнее
Подробнее

Последняя версия pfodApp, доступная в Android Market, позволяет отображать необработанные данные, отправленные устройством pfodDevice (например, Arduino), и сохранять их в файл для дальнейшего использования. См. PfodAppForAndroidGettingStarted.pdf, чтобы узнать, как загрузить файл с мобильного телефона Android на компьютер. Для построения графика требуются две вещи: - а) поток данных (в формате CSV) и б) команда построения графика из pfodDevice. Ваше pfodDevice (Arduino) может отправлять любой тип данных вне сообщений pfod. сообщения pfod, заключенные в {}, что отличает их от других данных. Если вы хотите построить данные, вам необходимо отправить данные в формате CSV. Это значения данных, разделенные запятыми и заканчивающиеся новой строкой (CR, LF или CR LF). Например105, 680 Когда pfodDevice хочет отобразить график пользователю, pfodDevice отправляет команду построения графика. Ваш скетч Arduino полностью контролирует то, что строит pfodApp. Команда plot дает заголовок экрану графика и указывает, какой поток необработанных данных нужно отобразить и какие поля из этого потока. Различные потоки необработанных данных имеют разное количество полей, разделенных запятыми. Количество баров | в команде построения графика должно соответствовать количеству полей в потоке данных, который вы хотите построить. Строки данных с другим количеством полей игнорируются для этого графика. Для команды построения графика есть несколько параметров, позволяющих выбрать поля для построения графика, установить масштабы и единицы измерения, а также разместить несколько графиков на одном графике. Самый простой - отправить значения x в качестве первого поля и значения y в качестве следующих полей, а затем в команде построения назовите ось x и ось y, например. {= Аналоговый график A0 | Время (сек) | A0 Counts} название сюжета | поле значений x | Поле значений y. Вы также можете просмотреть необработанные данные, отправляемые на ваш мобильный телефон. Доступ к экрану «Необработанные данные» можно получить из pfodApp с помощью меню вашего мобильного телефона или он может быть открыт с помощью pfodDevice, отправившего сообщение streamingRawData, {= Title Of the Screen Goes Here}, то есть усеченную версию команды построения графика. В любом случае открывается экран исходных данных pfodApp, на котором будут отображаться данные, которые были отправлены из pfodDevice. Когда экран открыт, pfodApp начнет сохранять данные в файл. Имя файла отображается каждый раз при открытии экрана (или экрана построения графиков). Чтобы предотвратить заполнение вашего мобильного телефона данными, которые вам не нужны, pfodApp не начинает записывать данные на SD-карту мобильного телефона до тех пор, пока не откроется экран сырых данных или экран построения графика после каждого нового подключения. При первом открытии экрана «Необработанные данные» после нового подключения в файл при его открытии записывается до 4 Кбайт ранее полученных данных (с момента установления подключения). Эти данные также доступны для графика. В большинстве случаев это означает, что все необработанные данные, отправленные с момента установления соединения, будут сохранены. Когда соединение закрывается, записываются последние данные и файл закрывается. Если файл уже существует, из предыдущего подключения, он добавляется при каждом последующем подключении. Вы можете скачать и удалить файл со своего компьютера. См. PfodAppForAndroidGettingStarted.pdf, чтобы узнать, как получить доступ к файлу с вашего компьютера.

Шаг 4: Тестирование с помощью SerialMonitor

Тестирование с помощью SerialMonitor
Тестирование с помощью SerialMonitor
Тестирование с помощью SerialMonitor
Тестирование с помощью SerialMonitor

Перед подключением через Bluetooth вы можете протестировать скетч с помощью Arduino IDE SerialMonitor. Сначала удалите плату Bluetooth, потому что она использует те же соединения TX / RX, что и для программирования USB и последовательного подключения монитора, а затем скопируйте и вставьте эскиз (SimpleDataPlotting.ino) в IDE Arduino и запрограммируйте плату Arduino. Затем откройте Arduino IDE SerialMonitor. Вы можете увидеть данные, отправляемые платой Uno. Затем введите {.} И нажмите «Отправить», чтобы отправить команду getMainMenu, {.} Это то, что pfodApp отправит первым при подключении. Эскиз отвечает командой Plotting. {= Analog A0 Plot | Time (sec) | A0 Counts}, который попросит pfodApp открыть экран построения и начать построение данных. При этом также начинается сохранение данных в файл. См. PfodSpecification для получения подробной информации обо всех сообщениях и экранах, которые поддерживает pfod (протокол для обнаружения операций).

Шаг 5. Подключение к мобильному устройству Android

Подключение к мобильному устройству Android
Подключение к мобильному устройству Android
Подключение к мобильному устройству Android
Подключение к мобильному устройству Android

Все в порядке, теперь вы можете закрыть Arduino IDE и SerialMonitor и прикрепить щит Bluetooth, как показано ранее. Чтобы подключиться к вашему Android Mobile, сначала установите pfodApp из Android Market, затем следуйте руководству pfodAppForAndroidGettingStarted.pdf, чтобы связать ваш Bluetooth Shield с вашим мобильным телефоном и настроить соединение Bluetooth pfodApp. Свое соединение я назвал «Простая регистрация данных». Затем выберите соединение «Простая регистрация данных», чтобы подключиться к простому регистратору данных. Как только pfodApp подключается, он отправляет сообщение {.}, На которое скетч отвечает сообщением {= Analog A0 Plot | Time (sec) | A0 Counts}, которое сообщает pfodApp построить график данных, а также начать сохранение данных. На этом графике я подключил A0 к Gnd и 5,5 В и 3,3 В, а также оставил его плавающим, просто улавливая шум.

Шаг 6: перенос данных на ваш компьютер

Перенос данных на ваш компьютер
Перенос данных на ваш компьютер

В pfodAppForAndroidGettingStarted.pdf подробно описано, как подключить мобильный телефон к компьютеру через USB и как включить запоминающее устройство USB, чтобы вы могли просматривать его со своего компьютера. Вы найдете все файлы с необработанными данными в папке pfodAppRawData. Как показано выше, Simple Data Logger сохранял данные в / pfodAppRawData / Simple Data Logging.txt pfodApp использует имя соединения в качестве имени файла для сохранения данных. Расширения Simple Data Logger Теперь, когда у вас есть простой регистратор данных который одновременно отображает и сохраняет ваши данные, вы можете изменить эскиз, чтобы отправить обратно свои собственные данные. Просто запишите свои данные в формате CSV на то же последовательное соединение, которое подключено к вашему модулю Bluetooth. Если у вас более двух полей данных, вам нужно будет изменить команду построения графика. См. PfodSpecification для деталей и примеров.