Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Cервер домашней метеостанции на Arduino + Виджет на Android. Добавление датчика BMP085

Не прошло и двух месяцев с момента заказа на eBay датчика BMP085, и вот он пришел!

meteo-bmp085.jpg

Необходимо добавить функционал серверу домашней метеостанции и виджету для Android, отображающему данные с сервера (см. статью).

Итак, модуль BMP085 - цифровой датчик атмосферного давления с низким энергопотреблением. Также, датчик позволяет измерять температуру. Интерфейс подключения: I2C. Напряжение питания датчика 1.8-3.6 В

 Подключается модуль к Arduino также, как и другие I2C устройства:

  • VCC - VCC (3,3 В); 
  • GND - GND; 
  • SCL - к аналоговому выводу 5;
  • SDA - к аналоговому выводу 4.

Схема приобретает следующий вид

Схема подключения датчиков к Arduino

Вносим изменение в скетч Arduino. Напоминаю - с помощью Ethernet shield на Arduino поднят web-сервер, который при обращении к нему, опрашивает датчики и отдает результат в формате JSON. Необходимо добавить опрос датчика давления и выдачу данных с этого датчика в JSON.

Arduino библиотеку BMP085 можно скачать здесь.

Проверяем - обращаемся к серверу метеостанции и получаем ответ:

arduinometeo1-2.jpg

Теперь вносим изменения в Android проект.

Получаем следующий вид виджета

arduinometeo1-3(1).png

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Плата Arduino
Arduino Uno
1 Поиск в магазине ОтронВ блокнот
Датчик температуры
DS18B20
3 Поиск в магазине ОтронВ блокнот
Датчик температуры
DHT11
1 Поиск в магазине ОтронВ блокнот
R4-R6 Резистор
4.7 кОм
1 Поиск в магазине ОтронВ блокнот
Датчик давленияBMP0851 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 Участие в конкурсе 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (14) | Я собрал (0) | Подписаться

0
raxp #
Вы уже решили вопрос с выгрузкой данных на внешний хост?
Ответить
0

[Автор]
victoruni #
Нет, мне нужно в таком виде, как сейчас. Отправку данных на сайт я делал, у меня были наработки (отправка arduino + скрипт php в базу данных mysql - 2 вида см. - online-spravka.ru и lermontov-kmv.ru, только данные сейчас не отправляются), если вам нужно поищу.
Ответить
0
Кирилл #
Не проще по FTP заливать данные на хостинг. Чем скрипты воротить и обращаться к ним по http?
Ответить
0
talibanich #
Ну тут кому что и зависит от задач. Мне например удобнее и проще работать с PHP/MySQL, чем по крону потом парсить файл на серваке и делать те-же манипуляции с ним на PHP/MySQL. Плюс FTP - это соблюдение протокола: открыть сессию, логин-пароль, команды и т.п. В случае http - послал обычный GET/POST запрос и данные получены.
Ответить
+1

[Автор]
victoruni #
Это отправка из Arduino - по http уже есть встроенная библиотека - и клиент, и сервер - есть варианты
- хочешь вызов php-скрипта на сайте с отправкой по get,
- хочешь опрос с сайта раз в минуту обращением к серверу и парсинг (как сейчас)
Код занимает несколько строк и на arduino, и на php. Работы - максимум на день.
Ответить
0
Николай #
А как выглядит эта схема в натуре, так сказать? Что-то схемы не научился все никак читать, а замутить что-то хочется на ардуинке. К тому же непонятно, как 1-wire датчики подключаются аж 3 проводами? Разве их смысл не в 1 проводе?
Ответить
0

[Автор]
victoruni #
"1-wire датчики подключаются аж 3 проводами? Разве их смысл не в 1 проводе?"
- Vcc, GND + 1 провод
Ответить
0
Алексей #
Скажите пожалуйста с http://ru.aliexpress.com/item/ENC28J60-LAN-Ethernet-Network-Board-Module-for-arduino-25MHZ-Crystal-AVR-51-LPC-STM32-3-3V/32398230857.html будет работать?
Че то не получается
Ответить
0

[Автор]
victoruni #
Нет - для работы с этим шилдом нужна другая библиотека - нужно делать изменения в скетче arduino
Ответить
0
Алексей #
Все получилось сделать на ардуино. А что касается андроид виджета - ни чего не работает и не понятно как установить там свои настройки IP адреса. Буду признателен за инструкцию! Просто вы дали виджет, а описания нет что и как! Может я конечно совсем чайник на андроид
Ответить
0
vovka1021 #
Присоединяюсь. Сделайте описания виджета. Как изменить на свой ip? А то как то не до конца оформлена тема!
Ответить
0

[Автор]
victoruni #
К проекту приложен проект для eclipse, там в файле MeteoVidget.java прописаны значения внешнего и внутреннего ip
public static String IP_METEO_EXT = "77.39.20.142";
public static String IP_METEO_INT = "192.168.0.111";
Ответить
0
vovka1021 #
Какой эклипс скачать? Eclipse IDE for Java EE Developers?
Ответить
0
vovka1021 #
Мой вопрос не актуален. Решил проблему простым разбором .apk
Пункт настройки не доработаны или я что-то неправильно собрал?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="**** Настройки ****"
android:paddingLeft="10dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="IP внутренний"
android:paddingLeft="10dp"
/>
<EditText
android:id="@+id/ip_int"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="192.168.0.111" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="IP внешний"
android:paddingLeft="10dp"
/>
<EditText
android:id="@+id/ip_int"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="77.39.66.172" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Порт"
android:paddingLeft="10dp"
/>
<EditText
android:id="@+id/ip_int"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="10001" />
</LinearLayout>
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Raspberry Pi 2
Raspberry Pi 2
Макетная плата для пайки (10 шт) 200 Вт усилитель класса D на IRS2092
вверх