Описание устройства
Вычислительным мозгом устройства является платформа Arduino UNO, для связи с сетью используется Ethernet Shield, помимо этого, я установил LCD KeyPad Shield для вывода информации о состоянии различных устройств и команд, также установил все возможные датчики и реле.
Полный список используемых компонентов:
- Arduino UNO – мозг системы;
- Ethernet Shield – связь с сетью;
- LCD KeyPad Shield – дисплей для вывода информации;
- DHT11 – датчик температуры и влажности;
- Датчик движения;
- Реле-модуль;
- Пульт ДУ.
Вам не обязательно иметь полный список комплектующих, код написан таким образом, что его можно легко переписать под свои нужды.
Клиентская часть на Arduino
Усвойте как незыблемую истину, что чудес в мире информационных технологий не бывает, и если устройство работает не так, как вы задумывали, значит, Вы где-то ошиблись.
Итак, давайте для начала разберемся, как вообще послать какой-либо запрос к Web-серверу. Если Вы думаете, что это слишком сложно, то Вы ошибаетесь. Человек так устроен, что просто не способен создавать что-то невообразимое, в чем он сам же не смог разобраться.
В нашем распоряжении имеется устройство на базе Arduino с которого необходимо отправить запрос на WEB-сервер. Инициатором обмена данными обычно выступает браузер, в нашем случае – Arduino. Web-сервер никому и никогда просто так ничего не пошлет, чтобы он что-нибудь отправил клиенту надо, чтобы клиент его об этом попросил. Простейший HTTP запрос может выглядеть, например, так:
1 2 3 4 5 |
GET http://www.php.net/ HTTP/1.0\r\n\r\n GET — тип запроса, тип запроса может быть разным, например POST, HEAD, PUT, DELETE. http://www.php.net/ — URI от которого мы хотим получить хоть какую-нибудь информацию. HTTP/1.0 — тип и версия протокола, который мы будем использовать в процессе общения с сервером. \r\n — конец строки, который необходимо повторить два раза. |
В нашем случае запрос к серверу выглядит следующим образом:
1 2 3 |
GET /add.php?k=asREb25C&t=24.00&h=35.00 HTTP/1.1 Host: site.ru Connection: close |
Скетч программы представлен ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
#include <SPI.h> #include <Ethernet.h> #include «DHT.h» //Константы byte mac[] = { EthernetClient client; //Переменные /* |
Sorry, the comment form is closed at this time.