Передача файлов через контроллер сайтов zarabotoknavideo.ru

Передача файлов через контроллер сайтов

Отправка данных с Arduino на WEB-сервер GET-запросом

Здравствуйте уважаемые пользователи сайта «паяльник», сегодня мне хотелось бы поделиться своим опытом проектирования и разработки устройства под управлением Arduino, основная задача которого сбор данных с датчиков и отправка их на полноценный WEB-сервер с PHP/MySQL.

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

Описание устройства

Вычислительным мозгом устройства является платформа Arduino UNO, для связи с сетью используется Ethernet Shield, помимо этого, я установил LCD KeyPad Shield для вывода информации о состоянии различных устройств и команд, также установил все возможные датчики и реле.

Полный список используемых компонентов:

  • Arduino UNO – мозг системы;
  • Ethernet Shield – связь с сетью;
  • LCD KeyPad Shield – дисплей для вывода информации;
  • DHT11 – датчик температуры и влажности;
  • Датчик движения;
  • Реле-модуль;
  • Пульт ДУ.

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

Клиентская часть на Arduino

Усвойте как незыблемую истину, что чудес в мире информационных технологий не бывает, и если устройство работает не так, как вы задумывали, значит, Вы где-то ошиблись.

Итак, давайте для начала разберемся, как вообще послать какой-либо запрос к Web-серверу. Если Вы думаете, что это слишком сложно, то Вы ошибаетесь. Человек так устроен, что просто не способен создавать что-то невообразимое, в чем он сам же не смог разобраться.

В нашем распоряжении имеется устройство на базе Arduino с которого необходимо отправить запрос на WEB-сервер. Инициатором обмена данными обычно выступает браузер, в нашем случае – Arduino. Web-сервер никому и никогда просто так ничего не пошлет, чтобы он что-нибудь отправил клиенту надо, чтобы клиент его об этом попросил. Простейший HTTP запрос может выглядеть, например, так:

Читать еще:  Как убрать ненужные файлы с компьютера?

В нашем случае запрос к серверу выглядит следующим образом:

Скетч программы представлен ниже:

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

Серверная часть

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

Арендовать полноценный Web сервер мы, конечно, не будем, потому что это дорого, да и попросту неразумно, обойдемся услугой хостинга. Хостинг – это не компьютер и не программа, а услуга по предоставлению вебмастеру для его сайта места на своих серверах. Требования к хостингу минимальны: php не ниже 5.3, MySQL с субд.

Код серверной части прикреплен к данной статье. Для удобства он разбит на несколько файлов:

  1. /system/core.php – «ядро» нашего сервера, здесь прописываются данные для подключения к базе данных.
  2. /system/functions.php – здесь содержатся различные пользовательские функции, которые нам понадобятся при работе.
  3. /style/ — стили CSS.
  4. .htaccess – Содержит настройки для сервера. По умолчанию выставлен часовой пояс +3 (Москва).
  5. _sever.sql – дамп БД. Данный файл необходимо импортировать в базу данных.
  6. Index.php – наш главный файл (страница), который будет выводить информацию о состоянии датчиков.
  7. Add.php – данный файл будет принимать и обрабатывать данные от Arduino.

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

Читать еще:  Где находится видеокарта в системном блоке компьютера?

Заключение

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

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

Ссылка на основную публикацию
Adblock
detector