First project. flashing led arduino by clicking on the smartphone

Содержание

Arduino Bluetooth Control

Сокращенное название — ABC. Управляет и контролирует основные возможности API. Используется в мониторинге контактов через Bluetooth. Работает в автономном режиме. Приобщение к работе производит строго из Ардуино.

Инструменты, используемые в процессе:

  • Metrics – передает показатели о сбоях и изменениях. Те, свою очередь, приходят на телефон в виде сообщения об остановке работы. Это подобие функции, где встряхнув гаджет можно отправить данные.
  • Клавиши с указателями – служат для отправки информации.
  • Терминал – варьирует информацией с временными показателями по назначению.
  • Accelerometer – управление жестами. Смартфон превращается в механизм для регулирования машины.
  • Голос – создает речевые команды. Доступно голосовое общение с роботом.
  • Кнопки – функционируют 6 штук в горизонтальном положении. Используются для доставки информации на Arduino.

Управление проектами в дистанционном и удаленном виде стало частой необходимостью. ABC подходит для этих целей на 100%. UART (Serial) предназначается для беспроводного соединения Ардуино и PC. Данное подключение не нуждается в библиотеках и схемах.

Bluino Loader – Arduino IDE

ПО для компиляции кода в файл и загрузки его на платформу Ардуино через смартфон и USB OTG. Громоздкие кнопки и запутанные провода значительно усложняют работу над проектами. Для упрощенного контроля удаленным администрированием предоставляется графический идентификатор Bluino Loader IDE. Разрабатывает проекты, доступные триггеру. Подключается к всемирной паутине с помощью: Wi-Fi, Ethernet или через накопитель ESP8266. Когда необходимые процедуры будут выполнены и произойдет начало работы, приложение даст сигнал.

Настройка софта для создания проектов займет не более 5 минут. Матобеспечение настраивается по выбору пользователя. Простой и удобной софт. Для проверки заливают скетч в микроконтроллер и убеждаются в том, что все работает как надо. Мигающий диод подаст сигнал о правильности выполняемых действий. Далее приступают к прошивкам.

Virtuino

Программа для Андроид, предназначенная для мониторинга сенсора. Управляет электро устройствами через Bluetooth, Wi-Fi или Интернет.

При помощи Виртуино создаются:

 Приложение способно совмещать несколько проектов в один. Управляет отличными платформами единовременно через Bluetooth и Wi-fi. Бесплатно в использовании. Относится к подкатегории System Maintenance. Есть возможность проектировать внутреннее оформление с разной визуализацией.

К ним относятся:

  • светодиоды;
  • переключатели;
  • диаграммы;
  • счетчики;
  • аналоговые приборы.

Обучаться Virtuino можно по учебным пособиям и видео урокам с библиотечной поддержкой. Пока приложение работает в режиме английского языка.

Качаем приложение и подключаемся к нашему Arduino

Заходим в раздел сайта «Скачать мобильное приложение» и загружаем на смартфон или планшет приложение. Конечно же ваш смартфон/планшет должен иметь встроенный Bluetooth.

Запускаем приложение. Включаем Bluetooth, если он не включен. Автоматически начинается поиск устройств. Все найденные устройства будут показаны в списке.

По умолчанию модули HC-04 (05/06/07) имеют запрограммированное имя «INVOR» или «HC-04» («HC-05″,»HC-06»). Если в списке устройств появилось такое — то это ваше. Щелкаем в него. После некоторого времени, необходимого на соединение с модулем, вам будет предложено ввести пароль для сопряжения. Опять же модули серии HC-04 (05/06/07) имеют запрограммированный пароль «1234». Вводим его. И ВУА-ЛЯ, нам открылся наш интерфейс с большущей кнопкой на весь экран!

Нажимаем на эту огромную кнопку и наблюдаем, как загорается светодиод на плате Arduino! Все просто, все работает!

Прошивка базової конфігурації

У папці Tools є утиліта для прошивки та безпосередньо сам файл прошивки. Для більшості користувачів цього є цілком достатньо. Виконавши декілька простих кроків, ви зможете перетворити плату у радіоапаратуру для керування моделями.

Покрокова інструкція

  1. Підключаєте плату до USB-порту вашого комп’ютера.
  2. Встановлюєте драйвери у відповідності до інструкцій виробника плати

Драйвер CH340 з офіційного сайту можна скачати тут https://docs.wemos.cc/en/latest/ch340_driver.html

  1. Заходите у диспечер пристроїів і перевіряєте, чи всі драйвери встановлено і чи ваша плата розпізнається системою.
  • Відкриваєте панель керування комп’ютером.

  • Переходите на пункт «Диспетчер пристроїв».
    Ймовірно, ваша плата буде називатися ‘USB-Serial CH340 (COM_)’

  • Запамятовуєте, який номер порта отримала ваша плата (у моєму випадку — №3)

  1. Запускаєте Tools/1 upload.bat
  2. Після старту скрипт запитає номер порта, до якого під’єднано вашу плату
  3. Вводите номер (тільки цифру), натискаєте Enter
  4. Чекаєте, поки завершиться процеc завантаження

Все — плата прошита.

З цього моменту нею можна користуватись.

Якщо ж ви бажаєте змінити деякі налаштування (діапазон повороту сервоприводу, стартову швидкість, яскравість світла тощо), то додатково необхідно завантажити в пам’ять контроллера модуль налаштувань.

Создать систему мониторинга температуры и влажности

Business & Finance

На самом деле система уже есть, но я решил её переделать чуть ли не с нуля.

В систему входит:

  • Arduino Duemilanove
  • DHT11 для мониторинга температуры и влажности дома
  • DHT22 длямониторинга температуры и влажности на улице
  • Монохромный LCD-дисплей для отображения данных
  • Raspberry Pi

Arduino должна собирать данные с датчиков, отображать их на дисплее, а так же передавать Raspberry Pi.

Raspberry Pi должна принимать данные, в реальном времени отображать текущие показания на веб-странице, раз в 5 минут писать показания в базу данных и отправлять насервис народного мониторинга.

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

  1. Устройство будет представлять собой Arduino + два датчика температуры и влажности (один уличный DHT22, один домашний DHT11) + монохромный LCD-дисплей. Уличный датчик будет вынесен за окно и находиться в непрозрачной емкости (для предотвращения попадания прямых солнечных лучей и влаги). Планируется пластиковая бутылка, разрезанная наполовину (часть с горлышком).

    Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода-вывода и среда разработки на языке Processing/Wiring.

    В данном случае используется Arduino Duemilanove (не оригинальная).

    Ниже фото как это выглядело раньше =)

  2. Собственно из-за прошивки всё и началось, я её потерял (не сделал бэкап при переустановке ОС). Конечно я мог написать такую же, но решил переделать всё.

    Нам нужнополучить с уличного и домашнего датчика данные о влажности и температуре, отобразить на дисплее, а также сформировать JSON-подобную строку с данными и отправить через SerialPort (USB в данном случае) на сервер.

    Данные поступают по мере изменения температуры или влажности на одном из датчиков.

    Для простоты работы воспользуемся библиотеками для датчиков серии DHTи LCDдисплея. Писать будем в Arduino IDE.

  3. На этом этапе немного поиграемся с разными языками программирования, получая JSON через Serial Port.

    Немного поменял данные, которые принимает Raspberry Pi.

  4. OC (Raspbian) на Raspberry Pi я уже порядочно позасрал. Хотел бы поставить чистенькую ось.

    Сюда же будет входить установка полезных утилиток, драйверов (для wi-fi адаптера) и т.д.

  5. Программка должна слушать Serial Port, ловить JSON-строку, если есть ошибки – сообщать о них, и записывать ошибку в БД, а так же отправлять данные о погоде на narodmon.ru, в базу данных и на сайт.

  6. Веб-сервером я скорее всего выберу nginx, хоть с Apache2 я знаком лучше.

    Веб-сервер должен будет держать не один сайт, нагрузка планируется небольшая.

    Так же веб-сервер должен работать с тремя доменами (по меньшей мере).

  7. Базой данных скорее всего станет MySQL. У неё есть очень удобная админка (phpMyAdmin), у других тоже есть, но этот набор привычнее.

  8. Как-то всё это дело нужно будет оформить, чтобы пользоваться было приятно.

  9. Нужно получать набор данных из БД и показывать на сайте в виде графиков. Графики, которые я использовал в прошлый раз не отображались на мобильных телефонах. Нужно найти те, которые будут работать везде.

  10. Процесс от получения датчиками информации, до вывода их на сайт довольно большой, поэтому ошибки неизбежны. Собственно цель данного этапа отловить их все и исправить.

  11. Система целиком работает какое-то время, чтобы можно было сделать о неё какие-то выводы.

    Например с прошлой системой было много проблем:

    • Если умирал роутер, то после его перезагрузки Raspberry сама к нему не подключалась, нужно было перезагружать.
    • После перезагрузки Raspberry Pi все скрипты приходилось включать вручную.
    • Не устраивала работа веб-сервера.
  12. Погонять тестовые странички, разные домены, CGI-сценарии и т.д.

  13. В прошлый раз всё крутилось на PHP (в плане сайта). Теперь я хочу сайт сделать на Python.

  • 5669
  • 09 March 2014, 08:08

ArduinoDroid — Arduino IDE

Используется программистами как средство редактирования кодов и создания программ. Особенность – написанный скетч превращается в СС+, компилируется и грузится в Arduino. Отлично подходит для работы новичков в этой области. Приложением можно пользоваться бесплатно и в открытом доступе.

Первым шагом в использовании будет заливка скетча на микроконтроллер. Далее нажав кнопку «Загрузить» необходимо дождаться окончания загрузки. Мигающий светодиод означает, что все было сделано правильно. Все готово к написанию и использованию прошивок.

ArduinoDroid – легкий в использовании софт. Проводит редактирование, компилирование и загрузку кодов в плату с мобильного устройства или планшета. Так же рекомендуется проводить редактирование шифра или заливать готовый, если программа забанена..

Налаштування

Для налаштування вам необхідно на телефоні під’єднатися до Wi-Fi мережі Wemos_00000000 (замість нулів буде серійний номер вашої плати).
Стандартний пароль — 12345678. Ви можете його змінити за вашим бажанням.

Після підключення відкриваєте веб-переглядач і переходите за адресою 192.168.4.1 — це адреса для налаштувань.

Налаштування точки доступу

  • SSID — назва вашої моделі у Wi-Fi мережі. Це може бути, наприклад, номерний знак, або ваш нікнейм…
  • PASSWORD — пароль доступу. Типово встановлено 12345678

Налаштування сервоприводу

  • center — Положення сервоприводу при русі прямо, в градусах
  • left — Положення сервопривду при вивороті коліс до упору в ліво, в градусах
  • right — Положення сервопривду при вивороті коліс до упору в право, в градусах
  • Stearing potenciometer linearity — лінійність керма
    • Linear — кермо лінійне. Відхилення керма на 1 градус повертає колеса на 1 градус.
    • Y = X^2/X кермо не лінійне. При позиціях, близьких до нуля, на один градус зміни положення керма колеса повертаються менше.
      При позиціях, близьких до крайніх положень, колеса повертаються швидко. На високих швидкостях це дозволяє маневрувати плавніше.

Налаштування тягового мотора

  • Minimum PWM speed — мінімальне значення ШІМ, яке необхідне для того, щоб мотор міг зрушити модель з місця.
  • Speed potenciometer linearity — лінійність значень потенціометра.
    • Linear — потенціометр лінійний.
    • Y = X^2/X Потенціометр не лінійний. При позиціях близьких до нуля на одиницю зміни положення потенціометра швидкусть наростає повільно.
      При позиціях, близьких до максимальних положень, швидкість наростає швидко.

Налаштування світла

  • Head light PWM — значення ШІМ для переднього світла фар
  • High light PWM — значення ШІМ для дальнього світла фар
  • Parking light PWM — значення ШІМ для габаритних стоянкових вогнів
  • Turn light PWM — значення ШІМ для поворотів та аварійної світлової сигналізації
  • Stop light duration — проміжок часу, на який включається стоп-сигнал після зупинки моделі
  • Back light timeout — проміжок часу, через який вимикається світло заднього ходу після зупинки моделі
  • Back light PWM — Значення ШІМ для світла заднього ходу

BT Voice Control for Arduino

Главное предназначение данного софта – передача ультразвуковых сигналов сквозь преобразователи. Они соединены с платформой Arduino андроид благодаря Bluetooth порту. Главный модуль в работе — HC-05. Он передает интервал между объектами.  Данные отображаются в смартфоне и на Hub диске портала, через это приложение.

BT Voice Control – это голосовое управление Ардуино. Владеет функцией распознавания команд: forward, back, left, right. Чувствительные датчики переадресовывают расстояние в объект Arduino. Далее при помощи модуля Bluetooth HC-05 направляет его в приложение. Программа сэкономит время, тратящееся на набор команд вручную.

Bluetooth Controller 8 Lamp

Платформа Arduino была создана в 2003 году. Всеобщего внимания она достигла, благодаря низкой цене, а также многомилионному сообществу, направленного на углубленное изучение программирования. Микропроцессоры и микроконтроллеры поставляются с платами. Самыми популярными считаются Arduino. Итальянские модели имеет много функций по расширению и исследованию встроенных Pro систем.

Bluetooth Controller 8 Lamp создан для регулировки функций Ардуино 8 канальным контроллером. Работает при помощи модулей Bluetooth HC-05, HC-06 и HC-07. 8 кнопочный интерфейс соответствует каждой лампочке.

Метод активен только в пределах видимости. В сравнении с другими беспроводными способами — этот самый дешевый. Комплектующие платы стоят менее 1 доллара. Для работы подходят даже подержанные варианты. Статичные девайсы, используя инфракрасный контроллер в потолочных светодиодных лентах, решают легко проблемы, возникшие в процессе.

Функция loop

Функция loop() имеет вызов обработчика RemoteXY_Handler (). Не удаляйте этот код. Обработчик RemoteXY_Handler должен вызываться в каждом цикле программы. Вызов необходим для того, что бы библиотека RemoteXY могла обработать очередную порцию данных об элементах управления, переданных со смартфона и предать на смартфон новые данные о состоянии элементов индикации.

В функции loop вы реализуете программу, решающую вашу задачу с использованием графического интерфейса. Для взаимодействия с графическим интерфейсом вы должны использовать поля структуры RemoteXY, которые соответствуют элементам управления и индикации интерфейса. Для того, что бы узнать состояние элемента управления, вы должны причитать поле данных, соответствующее этому элементу. Что бы изменить состояние элемента индикации на графическом интерфейсе, вы должны записать новое значение в поле структуры RemoteXY, соответствующее этому элементу.

Внимание. Не рекомендуется в процедуре loop использовать задержки delay () и другие

Если обработчик RemoteXY_Handler не сможет во время передать необходимую информацию на смартфон, произойдет разрыв соединения.

Пример кода для взаимодействия с элементами управления и индикации

Download the mobile app and connect to our Arduino

Go to the section of the site «Download mobile application» and download to your smartphone or tablet the application. Of course your smartphone/tablet should have a built Bluetooth.

Run the application. Turn on Bluetooth, if it is off. Automatically begins searching for devices. All devices found will be listed.

Default modules HC-04 (05/06/07) are programmed name «INVOR» or «HC-04» («HC-05», «HC-06»). If the list of devices there is this name — it is your devise. We click on it. After some time required for connection to the module, you will be prompted to enter the password for pairing. The modules of HC-04 (05/06/07) have programmed password is «1234». Enter it. And end, we have opened our interface with a big button on the full screen!

Click on this button and look, as LED is blink on the board Arduino! Quite simply, it works!

https://youtube.com/watch?v=A2a9Ow41kiU

Обзор Bluetooth датчика температуры и влажности для умного дома Xiaomi / Kvazis House / iXBT Live

Здравствуйте друзья.В этом обзоре я расскажу про новый датчик системы умного дома Xiaomi —  датчик температуры и влажности с жидкокристаллическим дисплеем. Кроме дисплея, датчик обладает еще одной особенностью –  он работает через интерфейс Bluetooth.

Где купить?

Gearbest  Banggood  Aliexpress

Что собой представляет этот датчик, его возможности, способы подключения и использования — далее в в моем обзоре.

Встречаем по одежке

Поставляется датчик в прозрачном блистере, этим он также отличается от белых коробок других датчиков экосистемы.

На задней стороне указаны параметры датчика, большей частью на китайском языке, что говорит о его ориентированности на китайский рынок.

Датчик достаточно крупный, упакован хорошо, по коробке не болтается.

Комплект поставки, габариты

Кроме датчика в комплекте –  магнитная платформа для крепления на стену и батарейка формата ААА.

https://youtube.com/watch?v=PILKDWz3YoQ

Платформа для установки  оборудована специальным магнитным держателем, сзади — находится полоска двустороннего скотча. На задней стороне датчика находится выемка для установки на платформе, батарейный отсек и кнопка для сопряжения по Bluetooth.

Датчик имеет круглую форму диаметром 6 см, большую часть лицевой поверхности занимает экран, в нижней части находятся отверстия для датчиков температуры и влажности.

Толщина датчика 2 см, в нижней торцевой части имеется еще одно отверстие для измерения.

Датчик — очень чувствительный показания меняются моментально в зависимости от окружающей среды, мгновенно реагирует на пальцы когда его взять в руки. Скорость изменения показаний можно будет увидеть в моем видеообзоре, ссылка на который будет в конце.

Приложение

После установки батарейки в датчик, приложение mihome сразу же обнаруживает новое устройство. Для сопряжения с приложением на датчике необходимо нажать и удерживать кнопку сопряжения пока не начнёт моргать индикатор Bluetooth. После чего датчик подключится в систему.

Датчик появляется в списке устройств он уже имеет собственную иконку, показания температуры и влажности видны прямо в строке нет необходимости заходить в плагин. В плагине показания температуры и влажности показываются с точностью до десятых долей, в настройках доступный стандартные действия по переименованию датчика указания его месторасположения, обновлению прошивки и удалению из системы.

Самый главный вопрос — как датчик взаимодействует с другими устройствами умного дома? В текущей версии приложения mihome, во вкладке  Profile имеется опция Bluetooth — войдя в которую становится доступен список bluetooth шлюзов в системе.

Покрытие Bluetooth достаточная для использования в в квартире — датчик видbnся даже через две кирпичные стены.

Устройства, которые является Bluetooth шлюзами и есть той связкой между этим датчиком и другими устройствами системы умного дома.

 Для получения данных от этого датчика нет необходимости находиться от него в радиусе действия Bluetooth эти данные также доступны из любой точки мира где есть интернет как и с других датчиков системы.

При срабатывании этого сценария но управляющий смартфон приходит уведомление лог событий ведётся в журнале уведомлений приложение Mi Home.

Через некоторое время работы датчика накапливаются статистические данные которые можно просмотреть в плагине датчика виде графиков в разрезе дней, недель и месяцев.

Заключение

В качестве вывода можно сказать что это весьма интересный и удачные датчик в первую очередь за счёт визуального отображения текущих параметров влажности и температуры.

Но при его покупке необходимо учитывать что для связки система умного дома и работы сценариев Вам необходимо иметь хотя бы одно устройство которое является Bluetooth шлюзом, на данный момент это настольная лампа и камера, думаю что в скором времени можно ожидать потолочных светильников. 

И традиционно видео версия обзора:

Спсаибо за внимание

Приложение Blynk

Этакий разработчик идей, имеющий открытый вход  к запуску на платформе Ардуино. Главное требование в использовании – наличие интернета: Wi-Fi или мобильный трафик. Только в этом случае Blynk будет готов к выполнению. Начать использование можно спустя несколько  минут, после окончания настроек. Программой поддерживается АО по выбору пользователя.

Основные функции приложения Blynk заключаются в управлении устройствами при помощи удаления и добавления протоколов HTTP,  а также запросов GET и POST. Значения параметров можно обновлять и получать. Запросы обновляются в самом приложении.

Вариативность – важная точка программы. Имея связь с работающими платформами, можно соединиться с сервером любым удобным способом. Данный инстинктивный портал обладает простотой в использовании над проектом. Библиотека постоянно обновляется для всех приложений Arduino Blynk.

Клиентов, желающих включать кофе машинку со своего смартфона, заинтересует это приложение. Это, пожалуй, единственный сервис с подобными возможностями. И не смотря на, то, что он практически безлимитный, является трудным Openhab. В сравнении с другими сервисами обладает быстрой скоростью при запуске.

Использование датчиков внешней среды (освещенности, температуры, влажности воздуха, давления) при программировании на android

  Android предоставляет методы, с помощью которых можно узнать различные свойства окружающей среды за счет датчиков, встроенных в устройство. Так, вы можете узнать:

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

Поэтому очень важно правильно обрабатывать исключительные ситуации

  Это перевод этой статьи

В отличие от акселерометра, вышеперечисленные датчики возвращают всего одно значение параметра внешней среды — например, температуру в градусах Цельсия или давление в гектопаскалях (это примерно 1/1000 часть атмосферы).Датчики параметров внешней среды в Android:Чтобы получить данные о состоянии окружающей среды, сначала нужно создать объект класса SensorManager, с помощью которого можно получит экземпляр класса конкретного датчика. Потом нужно зарегестировать listener в onResume() и начать регистрацию данных в onSensorChanged(). Пример:public class SensorActivity extends Activity implements SensorEventListener {
  private SensorManager mSensorManager;
  private Sensor mPressure;   @Override
  public final void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);     // Берем эксемпляр класса SensorManager, и получаем из него экзепляр класса датчика давления
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mPressure = mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE);
  }   @Override
  public final void onAccuracyChanged(Sensor sensor, int accuracy) {
    // Если точность датчика изменилась
  }   @Override
  public final void onSensorChanged(SensorEvent event) {
    float millibars_of_pressure = event.values;
    // Сделать что-то с полученными данными()
  }   @Override
  protected void onResume() {
    // Регистрируем listener
    super.onResume();
    mSensorManager.registerListener(this, mPressure, SensorManager.SENSOR_DELAY_NORMAL);
  }   @Override
  protected void onPause() {
    // Приостановить считывание данных, чтобы датчик не использовал заряд батареи
    super.onPause();
    mSensorManager.unregisterListener(this);
  }
}Использование датчика влажности воздуха аналогично использованию предыдущих. Кроме того, если устройство поддерживает датчик внешней температуры и влажности воздуха, можно легко вычислить точку росы и абсолютную влажность воздуха.Точка росы — такая температура воздуха, при которой водяной пар становится насыщеным и конденсирует в воду. Она рассчитывается по формуле:[ln(RH/100%) + m·t/(Tn+t) ] * Tn · ———————————— m – [ln(RH/100%) + m·t/(Tn+t)]

Где:

  • t = температура воздуха, C
  • RH = относительная влажность воздуха (%)
  • m = 17.62
  • Tn = 243.12

Абсолютная влажность воздуха — масса водяного пара в заданном объеме воздуха измеряется в grams/meter3. Формула для расчета:[(RH/100%) · A · exp(m·t/(Tn+t) ]* 216.7
————————————
273.15 + t

Где:

  • dv = абсолютная влажность воздуха в grams/meter3
  • t = температура, C
  • RH = относительная влажность воздуха (%)
  • m = 17.62
  • Tn = 243.12 C
  • A = 6.112 hPa