Фев 012020
 

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

Вычислительным мозгом устройства является платформа 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»

//Константы
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Мак адрес

EthernetClient client;

//Переменные
unsigned long int timeConn = millis(); // Частота отправки данных о t/h на сервер
float h; // Значение температуры
float t; // Значение влажности
char server[] = «site.ru»;

/*

Понравилось? Поделитесь:

:

Sorry, the comment form is closed at this time.