- Arduino Serial Monitor for Android Apps
- Introduction: Arduino Serial Monitor for Android Apps
- Step 1: Requirements
- Step 2: Adding COM Port
- Step 3: Configure Arduine IDE
- Step 4: Configure Bluetooth Connection
- Step 5: Test
- Be the First to Share
- Просмотр последовательного монитора Arduino на смартфоне
- Компоненты
- Идея проекта
- Решение
- Arduino/Android BLUETOOTH Serial Monitor APP For Arduino © CC BY-SA
- Arduino/Android BLUETOOTH Serial Monitor APP for Arduino Using the HC-06 and ANDROID
- Introduction: Arduino/Android BLUETOOTH Serial Monitor APP for Arduino Using the HC-06 and ANDROID
- Step 1: Schematic, Example Code & Parts List.
- Attachments
- Step 2: How to Change the Name of Your HC-06
- Serial Monitor. Общаемся с компьютером
- Работа с массивами и строками
- Приём данных
- Управление светодиодом с клавиатуры
- Другие варианты
- Дополнительное чтение
Arduino Serial Monitor for Android Apps
Introduction: Arduino Serial Monitor for Android Apps
The Arduino IDE has a feature that can be a great help in debugging sketches or controlling Arduino from your computer’s keyboard.
The Serial Monitor is a separate pop-up window that acts as a separate terminal that communicates by receiving and sending Serial Data.
You will use the Serial Monitor to debug Arduino Software Sketches or to view data sent by a working Sketch.
Step 1: Requirements
You mustn’t have an Arduino connected by USB to your computer to be able to activate the Serial Monitor but we use Bluetooth COM Port instead.
Step 2: Adding COM Port
First of all Open Bluetooth Setting on your PC
If you don’t have a COM Port Click Add as in the first picture next choose Incoming As In The Second Picture Then Click OK.
Now you have a COM Port with number As In The third Picture.
Step 3: Configure Arduine IDE
First of All open Arduino IDE.
next go to tools Add Tip Ask Question Comment Download
Step 4: Configure Bluetooth Connection
to begin with you have to turn on Bluetooth in both PC and Android Device .
Secondly Pair them with each other .
Next Open the Android App.
Then Connect Android App to your PC Bluetooth.
Lastly test your App .
Step 5: Test
Be the First to Share
Did you make this project? Share it with us!
Источник
Просмотр последовательного монитора Arduino на смартфоне
Рассмотрим как просматривать последовательный монитор и Arduino на смартфоне через Wi-Fi, не устанавливая никаких мобильных приложений.
Компоненты
Для реализации нашей идеи нам понадобятся следующие комплектующие:
PHPoC Shield и PHPoC WiFi Shield — это интернет-экраны (шилды) для Arduino Uno и Arduino Mega.
Эти щиты имеют встроенный веб-сервер и сервер WebSocket. Они содержат некоторые встроенные веб-приложения. Одно из встроенных веб-приложений — «Web Serial Plotter». Web Serial Plotter похож на Serial Plotter в Arduino IDE, за исключением следующих моментов:
- Доступ к веб-плоттеру через веб-браузер через Интернет (последовательный плоттер доступен в Arduino IDE через USB-кабель).
- Доступ к Web Serial Plotter можно получить из любой ОС (Android, iOS, Windows, macOS, Linux) без какой-либо установки.
- Сетевой последовательный плоттер легко настраивается через страницу настроек.
Идея проекта
Инструменты Serial Monitor (последовательный монитор) и Serial Plotter (последовательный плоттер) в IDE Arduino используются не только для отладки, но и для мониторинга.
Использовать эти инструменты для мониторинга обычно не очень удобно, потому что:
- Доступны только с ПК => Нет мобильности
- Нужно подключить ПК к Arduino через USB-кабель => ограничение расстояния, малое расстояние
Но мы можем использовать другие инструменты. Использование Web Serial Monitor и Web Serial Plotter дают нам:
- Доступ на любом ПК, смартфоне и планшете, если доступен веб-браузер => мобильность
- Подключение через WiFi => неограниченное расстояние (через Интернет)
- Не требуется установка какого-либо программного обеспечения или приложений
Решение
Для реализации мониторинга без использование приложений мы проделаем шаги, которые представлены ниже.
1. Соединяем шилд PHPoC Shield 2 или PHPoC WiFi Shield 2 с Arduino. По сути — просто одеваем одно на другое.
Arduino связывается с PHPoC [WiFi] Shield через контакты 10, 11, 12 и 13 на Uno и контакты 10, 50, 51 и 52 на Mega. Следовательно, эти выводы НЕ МОГУТ использоваться для общего ввода / вывода.
2. Устанавливаем библиотеку Arduino для этого щита с GitHub.
3. Загружаем в Ардуино код, который представлен ниже. В этом примере кода показано, как использовать «Web Serial Plotter».
4. Откройте веб-браузер и введите IP-адрес PHPoC Shield:
Нажмите «Web Serial Monitor» и «Web Serial Plotter» один за другим, мы увидим Serial Monitor и Serial Plotter на мобильном телефоне, как показано ниже.
На этом всё. Таким нехитрым способом мы можем просматривать последовательный монитор на смартфоне.
Источник
Arduino/Android BLUETOOTH Serial Monitor APP For Arduino © CC BY-SA
Hello world! Today I made an Android app that simply reads values/text that are printed to the Arduino serial using the Bluetooth module.
| × | 1 | ||
| × | 1 | ||
| × | 1 | ||
| × | 1 |
Hello world! Today I made an Android app that simply reads values or text that are printed to the Arduino serial using the Bluetooth module HC-06/05 or any other modules. You don’t need to set anything in the Arduino code. Just simply Serial.println(); will display the value or text in the Android app. You can use it for many things.
Follow the next steps for the schematic, example code parts list. Go to GOOGLE PLAY to download my APP. If you want the source of the app you can contact me.
Step 1: Parts list.
Make sure not to have the Bluetooth connected when uploading the code!
Parts list.
- Arduino Uno, or any copy will do. I used the RobotDyn Uno.
- Set of jumper wires. MM/FF/MF
- HC-06 Bluetooth module.
- Android Phone.
Follow the next step to find out how to rename your Bluetooth module and change baud rate (Optional).
Step 2: How to change the name of your HC-06
What is needed?
How to connect the Programmer?
Lets get started.
- Connect the USB TTL programmer to the HC-06
- Plug in the USB and open up The Arduino IDE
- Open the serial monitor.
- Type «AT» without quotes. You should see a respond in the Serial monitor saying «OK»
- Type «AT+NAMExyz» Sets the module name to “xyz” (Replace xyz with the name you want.) response should be OKsetname.
- Type «AT+PIN1234» Sets the pin to 1234 (replace 1234 with your desired pin) respond should be OKsetPIN For more info on changing baudrate etc. i included a PDF file. Good luck!
Источник
Arduino/Android BLUETOOTH Serial Monitor APP for Arduino Using the HC-06 and ANDROID
Introduction: Arduino/Android BLUETOOTH Serial Monitor APP for Arduino Using the HC-06 and ANDROID
Hello world! Today i made a Android app that simply reads values or text that are printed to the arduino serial using the bluetooth module HC-06/05 or any other modules. You don’t need to set anything in the arduino code. Just simply Serial.println(); will display the value or text in the android app. You can use it for many things.
Follow the next step for the schematic, example code parts list.
Go to GOOGLE PLAY to download my APP. If you want the source of the app you can contact me.
Step 1: Schematic, Example Code & Parts List.
make sure not to have the bluetooth connected when uploading the code!
Parts list.
- Arduino uno, or any copy will do. i used the RobotDyn Uno.
- Set of jumper wires. MM/FF/MF
- HC-06 Bluetooth module.
- Android Phone.
Follow the next step to find out how to rename your Bluetooth moduleand change baud rate (Optional)
Attachments
Step 2: How to Change the Name of Your HC-06
What is needed?
1 x USB to TTL microcontroller programmer to connect to your HC-06
How to connect the Programmer?
Lets get started.
- connect the USB TTL programmer to the HC-06
- Plug in the USB and open up The Arduino IDE
- Open the serial monitor.
- Type «AT» without quotes. You should see a respond in the Serial monitor saying «OK»
- Type «AT+NAMExyz» Sets the module name to “xyz” (Replace xyz with the name you want.) response should be OKsetname.
- Type «AT+PIN1234» Sets the pin to 1234 (replace 1234 with your desired pin) respond should be OKsetPIN For more info on changing baudrate etc. i included a PDF file. Good luck!
Источник
Serial Monitor. Общаемся с компьютером
Для общения между платой Arduino и компьютером или другим устройством в контроллере используется интерфейс UART или USART, который в сочетании со встроенным в UNO USB-to-UART конвертером, позволит установить двунаправленую связь с компьютером через виртуальный последовательный порт. У некоторых моделей Arduino может быть несколько портов. Порт соединяется через цифровой пин 0 (RX) и 1 (TX) при подключении к компьютеру через USB, поэтому не используйте пины 0 и 1 для ввода/вывода.
Раньше на старых компьютерах были COM-порты, сейчас они создаются виртуально при помощи микросхемы FTDI, когда мы подключаем плату к компьютеру через USB.
Вам часто придётся использовать общение между устройствами для обмена информацией. Можно как посылать сигнал с компьютера, например, с клавиатуры, так и принимать сигналы с платы. Это полезно, чтобы узнать, что вообще происходит с сигналом из нужного вывода платы.
В Arduino IDE есть специальный значок с изображением лупы, который запускает Serial Monitor (монитор порта).
Для корректной работы с портом требуется выполнение двух условий: выбрать правильный COM-порт, выбрать скорость работы в скетче, которая должна совпадать со скоростью, выбранной в мониторе порта.
Для общения используется класс Serial. В методе setup() мы открываем порт для общения функцией Serial.begin() с указанием скорости в бодах (baud). Бод — это количество изменений сигнала в секунду. В нашем случае сигналы могут быть только двоичными, так что скорость в бодах соответствует скорости в битах в секунду. Можно использовать любую скорость, главное чтобы на приёмной и передающей сторонах они были одинаковыми. Доступные скорости можно посмотреть в настройках порта. Значение 9600 является стандартным и его можно не менять (9600 бод — 960 символов — один стартовый бит, восемь бит на сам символ и конечный бит). Если установить неправильную скорость, то вместо данных получим «мусор» — данные, которые нельзя обработать. Для обмена данными между другими компонентами скорость может быть и выше, например между платой и Bluetooth-модулем.
На платах Arduino Mega и Arduino Due доступны также Serial1, Serial2, Serial3.
Чтобы отправить сообщение в порт, используются методы print() (символы идут подряд) или println() (с переводом на новую строку).
Давайте выведем какое-нибудь сообщение. Это можно сделать в методе setup(), так как нам не нужно повторять одну и ту же фразу бесконечно. Метод loop() оставляем пустым.
Если посылаем строку, то обрамляем её кавычками. Если число, то кавычки не используем. Изменим функцию setup().
Можно заменить строки и числа на переменные. Перепишем пример.
Немного о числах. При работе с дробными числами, можно указать число знаков после запятой.
Работа с массивами и строками
Разберём пример отправки строк в случайном порядке. Любая строка уже является массивом символов. Поэтому вместо типа String, можно использовать массив char[]. Для примера создадим массив из четырёх имён и будем выводить их в случайном порядке через разные промежутки времени, используя функцию random().
Приём данных
Выводить данные в порт просто. А вот принимать данные с компьютера и других источников сложнее. При отправлении данных, они складываются в буфер, ожидая, когда плата их прочитает. Объём буфера составляет 64 байта. Чтобы постоянно не читать пустой буфер, есть специальная функция проверки буфера Serial.available(). Она возвращает число байт, которые лежат в буфере. Обычно в коде создают условие проверки — если в буфере больше 0 байт, то выполняем какие-то команды.
Для демонстрации создадим странный пример — создадим переменную, присвоим ей данные через Serial.read() и попросим её прислать полученные данные через Serial.print(). Получится круговорот данных или эхо.
Проверяем на числах. Отправляем число 9, а получаем 57. Если вы получаете две строки с числами 57 и 10, то в нижней части окна выберите настройку No line ending вместо Newline.
Попробуем также отправить букву. Опять вместо t возвращается 116. Ерунда какая-то. Всё просто, функция read() работает с символьными значениями и мы видим код символа из стандартной таблицы символов ASCII.
Чтобы решить проблему, нужно изменить тип данных на char.
Вроде проблема решена. Мы можем принимать отдельные цифры и буквы. Но буквы только английские, а числа только однозначные.
Если мы планируем работать только с однозначными числами, то можно написать такой код.
Решение какое-то половинчатое. А как быть с большими числами или словами?
Если отправить двузначное число 23, то ответ разбивается на части — 2 и 3. Получается, что переменная получит последнее число 3 (промежуточные значения перезаписываются). Чтобы обработать всё число, нужно использовать метод parseInt().
Теперь вы можете вводить любые числа. Но, наверное, вы заметите теперь небольшую задержку в ответах. Метод внутри себя перемалывает данные. Кстати, вы можете использовать и обычные символы. Если набор символов состоит только из букв, то вернётся 0. Если будут попадаться и цифры, то будут возвращаться цифры. Попробуйте комбинировать различные сочетания цифр и букв, чтобы понять, как будут обрабатываться данные.
Управление светодиодом с клавиатуры
Напишем пример управления встроенным светодиодом с клавиатуры. Если нажата клавиша 1, то светодиод должен загореться, при нажатии клавиши 0 выключим светодиод.
Часть кода нам уже знакома — мы используем встроенный светодиод под номером 13.
Сигнал от компьютера поступает в виде байта. Создаём новую переменную incomingByte для этих целей.
Последовательный порт включается командой begin() с указанием скорости.
Если с компьютера поступает сигнал, то функция available() вернёт количество байт, доступное для чтения. Таким образом, мы просто убеждаемся, что какой-то сигнал пришёл (больше нуля).
После первой проверки мы проверяем введённый символ, который может быть представлен и как байт. Если символ равен единице, то включаем светодиод, как мы делали раньше. Если символ равен 0, то выключаем.
Как это выглядит на практике. Заливаем скетч и запускаем Serial Monitor (Ctrl+Shift+M). В окне Serial Monitor наверху есть текстовое поле. Вводим в него числа 1 или 0 и нажимаем кнопку Send. Можно также нажать клавишу Enter для быстрого ввода.
Для общего развития в скетч добавлены также две строчки кода, определяющие код нажатой клавиши. Таким образом вы можете узнать код для клавиш 0 и 1. Вы также можете нажимать и на другие клавиши, они не повлияют на светодиод, но вы увидите коды клавиш.
Чуть более сложный пример, когда строка задана в виде массива и символы выводятся по очереди.
Функция Serial.end() закрывает последовательное соединение, порты RX и TX освобождаются и могут быть использованы для ввода/вывода.
В различных уроках вы будете принимать сигналы от платы Arduino. Это полезно, например, для отладки приложения, когда вы выводите сообщения и по ним ориентируетесь, какая часть программа работает, а какая — нет. Способность общения между Arduino и компьютером очень важна. Вы можете принимать сигналы не только в Arduino IDE, но и в других приложениях на компьютере. Например, в связке с Arduino часто используют приложение Processing, в котором рисуют графики поступаемых сигналов.
Если вы больше не нуждаетесь в получении данных, то закрывайте окно Serial Monitor.
Также существует библиотека SoftwareSerial. Она позволяет осуществить последовательную передачу данных через другие цифровые контакты Arduino.
Другие варианты
Чтение данных из последовательного порта возможно другими способами. Ищите расширения, например, Arduino Chrome Serial Monitor. На видео можно посмотреть, как создать расширение самостоятельно.
На C# также можно написать приложение, которое будет уметь считывать данные.
Processing также умеет работать с последовательным портом.
Дополнительное чтение
ASCIITable — распечатываем таблицу символов ASCII в разных форматах
Источник