Прошу помощи новичку по датчику DHT11

CityCat
CityCat аватар
Offline
Зарегистрирован: 13.06.2013

Andrei83 пишет:

Тоесть правильно ли я тебя понял: если я в этом php скрипте допишу код записи значений этих переменных в mysql, то с заданной в ардуине задержкой ардуина формирует запрос к скрипту, который в свою очередь будет писать данные в базу? И только другим php скриптом я могу вытаскивать данные с базы и выводить их в браузер. Так?

Абсолютно верно!

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

leshak
Offline
Зарегистрирован: 29.09.2011

Andrei83 пишет:

Тоесть правильно ли я тебя понял: если я в этом php скрипте допишу код записи значений этих переменных в mysql, то с заданной в ардуине задержкой ардуина формирует запрос к скрипту, который в свою очередь будет писать данные в базу? И только другим php скриптом я могу вытаскивать данные с базы и выводить их в браузер. Так?

Почти верно.

"Почти" состоит в том, что вы описали наиболее типичный сценарий. Именно так обычно и выглядят подобные законченные решения. Если сделаете так - все должно работать.

Но это не единственный возможный. Возможны вариации

1. Сохранять полученные из запроса параметры скрипт может не только в базу, но и в текстовый файлик (который потом можно тупо открыть блокнотом), отправлять на почту и т.д. и т.п. Что вам проще удобнее. Вообщем главное "что-бы сохранил хотя-бы куда-нибудь, где вы позже сможете до них добратся". mysql - один из вариантов.
2. В случае mysql, не обязательно писать "другой php скрипт". Сама mysql имеет средства просмотра "что в ней записано". Есть и готовые "другие скрипты" позволяющие из браузера "полазить по базе", типа phpMyAdmin и т.п.

Вообщем, обычно вначале сохраняют в базу или файл. Убеждаются что запись в базу происходит нормально и все работает. И только потом пишут "другим php скриптом я могу вытаскивать данные с базы" для того что-бы к данным было удобнее/проще добиратся и они красивее выглядели.

 

leshak
Offline
Зарегистрирован: 29.09.2011

[потертый дубликат]

leshak
Offline
Зарегистрирован: 29.09.2011

[потертый дубликат]

leshak
Offline
Зарегистрирован: 29.09.2011

[потертый дубликат]

leshak
Offline
Зарегистрирован: 29.09.2011

[потертый дубликат]

leshak
Offline
Зарегистрирован: 29.09.2011

[потертый дубликат]

Andrei83
Offline
Зарегистрирован: 25.03.2014

Вот теперь понятна хотябы сама логика работы.

Можете еще пояснить фразу "Я бы запускал на стороне ардуины не клиента, а сервер, который по запросу скрипта на php от компа отдавал бы строку". Я правильно понимаю, что для этого варианта нужен php скрипт, который формирует запрос к примеру типа 192.168.0.103/$1 , где 192.168.0.1 - это IP Ethrnet шилда  Arduino, скетч на ардуино обрабатывает этот запрос и если после символа $ стоит 1 снимает данные с датчика DHT и что проислодит далее ? Я так понимаю, что потом Arduino переходит в режим клиента и по средством формирования запроса GET передает в другой php, который пишет в базу или не так?

leshak
Offline
Зарегистрирован: 29.09.2011

Andrei83 пишет:

Вот теперь понятна хотябы сама логика работы.

Можете еще пояснить фразу "Я бы запускал на стороне ардуины не клиента, а сервер, который по запросу скрипта на php от компа отдавал бы строку". Я правильно понимаю, что для этого варианта нужен php скрипт, который формирует запрос к примеру типа 192.168.0.103/$1 , где 192.168.0.1 - это IP Ethrnet шилда  Arduino, скетч на ардуино обрабатывает этот запрос и если после символа $ стоит 1 снимает данные с датчика DHT и что проислодит далее ?

А далее он формирует ответ. Раз он сервер. В ответ входят показания датчика. php скрипт который дернул эту ардуину должен распарсит этот ответ. найти в нем данные. Ну и что-то с ними сделать (сохранить в базу, послать почту и т.п.)

Но... все зависит от того что вы хотите. Если у вас задача "просто посмотреть температуру" и сохранять данные на будущие вам не нужно, то вообщем-то и php скрипт не нужен.

"Дернуть ардуину", можно и браузером. http://192.1680.103/gettemp

Арудина ответит, браузер покажет ответ арудины. Ну и собственно все. Если ардуина ответить Html-лем, а не "тупо текстом", то браузер "покажет красиво" (ну насколько у вас хватить знаний html/css и желания красоту наводить).

 

Andrei83 пишет:

Я так понимаю, что потом Arduino переходит в режим клиента и по средством формирования запроса GET передает в другой php, который пишет в базу или не так?

Нет.

Andrei83
Offline
Зарегистрирован: 25.03.2014

Ок, спасибо, план действий в принципе понятен, буду пробовать

leshak
Offline
Зарегистрирован: 29.09.2011

Да что там пробовать, просто посмотрите пример идущий с библиотекой. WebServer.ino 

Там все готовое. Разница только в том, что в примере "ответ" формируется из состояния аналоговых входов (делается analogRead()), а вам нужно читать свои DHT11.

Потом дергаете в браузере и смотрите температуру...

Andrei83
Offline
Зарегистрирован: 25.03.2014

leshak пишет:

Да что там пробовать, просто посмотрите пример идущий с библиотекой. WebServer.ino 

Там все готовое. Разница только в том, что в примере "ответ" формируется из состояния аналоговых входов (делается analogRead()), а вам нужно читать свои DHT11.

Потом дергаете в браузере и смотрите температуру...

А можно заставить php дергать ардуинку с какойто переодичностью чтобы складывать данны е БД?

leshak
Offline
Зарегистрирован: 29.09.2011

Andrei83 пишет:

А можно заставить php дергать ардуинку с какойто переодичностью чтобы складывать данны е БД?

Можно. В первом ответе на эту тему inspiritus вам про это и говорил.

Что-бы легче понять его ответ

"мискл" - жаргонное mysql (база вообщем).
крон  это cron — Википедия

Правда в винде у вас крона нет. Его ближайшим аналогом будет Планировщик заданий Windows 7 ‹ Windows 7 — Впечатления и факты

----------

А вообще, для винды .php это не есть "родное" (имеется ввиду LAMP стек). Для винды "родное", это

IIS - веб сервер - аналог апача
С#/.net - сам язык, аналог .php (ну не "аналог", а "конкрент", он все-таки "намного шире". но может решать те же задачи что и php).
Ms Sql - база (есть бесплатный вариант) - конкрент mysql.