<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Урок 12. aREST. Милашка розетка]]></title><description><![CDATA[<h2>Цель урока</h2>
<p dir="auto">Привет! Сегодня мы научимся управлять розекткой через Интернет с помощью сервиса aREST (рис. 1).</p>
<p dir="auto"><img src="https://pp.userapi.com/c840333/v840333213/7b9fc/pKP4F1IG8Ro.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 1</p>
<p dir="auto">Необходимо реализовать возможность взаимодействия с M5 через Интернет при условии того, что мы не имеем статического IP-адреса, выделенного оператором. Формирование и отправка команд должна производиться через Веб-панель управления.</p>
<p dir="auto">При включении устройства пользователю будет предложено вставить карту памяти. На карте памяти будут находится следующие файлы:</p>
<ul>
<li>файл с известными Wi-Fi-сетями (/system/wifi.ini);</li>
<li>звуковой файл (/cutesocket/nya.mp3);</li>
<li>изображения эмоций (/cutesocket/0..2.jpg).</li>
</ul>
<h2>Краткая справка</h2>
<p dir="auto">Иногда возникает необходимость во взаимодействии с вещами через Интернет. Тут многие сталкиваются с проблемой доступа извне. Обычно операторы связи раздают своим клиентам динамические IP-адреса, которые размещены за NAT - поэтому не так просто включить в доме свет, открыть ворота и т. п. Приходится доплачивать оператору за статический IP; или арендовать VPN-сервер, что очень накладно.</p>
<p dir="auto">Одним из решений выступает облачный сервис <a href="https://aREST.io" title="https://aREST.io" target="_blank" rel="noopener noreferrer nofollow ugc">https://aREST.io</a>. Настоятельно рекомендую посетить раздел Get Started <a href="https://arest.io/get-started" title="https://arest.io/get-started" target="_blank" rel="noopener noreferrer nofollow ugc">https://arest.io/get-started</a>, чтобы узнать более подробно о работе сервиса.</p>
<p dir="auto"><img src="https://sun1-4.userapi.com/c840729/v840729034/78579/I5-x1-6N8P4.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 1.1</p>
<h2><strong>Перечень компонентов для урока</strong></h2>
<ul>
<li>M5STACK (2 шт.);</li>
<li>кабель USB-C из стандартного набора;</li>
<li>карта памяти MicroSD на 4 ГБайт;</li>
<li>цветные провода из стандартного набора (тип розетка-вилка);</li>
<li>паяльник и припой;</li>
<li>термоусадка;</li>
<li>термоклей;</li>
<li>доска. Размеры 30 x 7 x 1 см;</li>
<li>розетка (гнездо);</li>
<li>вилка (штекер);</li>
<li>Двойной релейный модуль;</li>
<li>винты;</li>
<li>гайки (с места крепления материнской платы от корпуса ПК);</li>
<li>дрель;</li>
<li>сверло. Диаметр: 2.5 мм;</li>
<li>провод медный. Диаметр 1 мм, длинна: 20 см.</li>
</ul>
<h2>Начнём!</h2>
<h3>Шаг 1. Зарегистрируемся на сайте <a href="http://arest.io" target="_blank" rel="noopener noreferrer nofollow ugc">arest.io</a></h3>
<p dir="auto">Регистрация абсолютно бесплатна и не займёт много времени (рис. 2). Перейдите по ссылки на панель управления <a href="https://dashboard.arest.io" title="https://dashboard.arest.io" target="_blank" rel="noopener noreferrer nofollow ugc">https://dashboard.arest.io</a></p>
<p dir="auto"><img src="https://sun1-4.userapi.com/c840729/v840729034/7856f/QipXjullYG0.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 2. Нажмите на кнопку Sign Up</p>
<p dir="auto">Придумайте название панели управления, например m5stack_cuteSocket (рис. 2.1).</p>
<p dir="auto"><img src="https://sun1-4.userapi.com/c840729/v840729034/7853d/d-7wgWHPCTg.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 2.1. Введите имя и нажмите Add a new dashboard</p>
<p dir="auto">Теперь войдите в только что созданную панель управления (рис. 2.2).</p>
<p dir="auto"><img src="https://sun1-2.userapi.com/c840729/v840729034/78547/fvW28Yrbm7E.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 2.2.</p>
<p dir="auto">Нажмите на кнопку Show Edit Mode (рис. 2.3).</p>
<p dir="auto"><img src="https://sun1-1.userapi.com/c840729/v840729034/78551/veH6mspk-v8.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 2.3</p>
<p dir="auto">Хорошо, сейчас создадим новый элемент управления (рис. 2.4). Придумайте и напишите имя элемента управления в первое поле, во второе - уникальный номер Вашего устройства, в третье - тип данных, в четвёртый номер физического контакта на устройстве, в пятый - тип элемента управления. Затем нажмите на кнопку Create new element.</p>
<p dir="auto"><img src="https://sun1-3.userapi.com/c840729/v840729034/7855b/BguDZPUas1k.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 2.4</p>
<p dir="auto">На этом регистрация завершена. Панель управления готова к работе (рис. 2.5).</p>
<p dir="auto"><img src="https://sun1-1.userapi.com/c840729/v840729034/78565/LKYJBDghwCY.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 2.5</p>
<h3>Шаг 2. Сделаем макет</h3>
<p dir="auto">Возьмите розетку (в зависимости от региона тип может отличаться) и разберите (рис. 3 - 3.1).</p>
<p dir="auto"><img src="https://sun1-1.userapi.com/c840729/v840729034/785c9/xG_vq_VYXnA.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.</p>
<p dir="auto"><img src="https://sun1-4.userapi.com/c840729/v840729034/785d2/4xPERKbyp70.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.1</p>
<p dir="auto">Возьмите провод, диаметр которого 1 мм и сделайте два одинаковых отрезка по 10 см. Далее с помощью паяльника залудите концы и зафиксируйте с помощью винтов и отвертки на контактах розетки (рис. 3.2 - 3.3).</p>
<p dir="auto"><img src="https://sun1-2.userapi.com/c840729/v840729034/785db/LiZdZRDnGIk.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.2</p>
<p dir="auto"><img src="https://sun1-2.userapi.com/c840729/v840729034/785e4/as6WC5dktnE.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.3</p>
<p dir="auto">Возьмите термоклей и зафиксируйте основание розетки по центру доски (рис. 3.4). Установите на место крышку розетки.</p>
<p dir="auto"><img src="https://sun1-3.userapi.com/c840729/v840729034/7858a/byI35l6Z64c.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.4</p>
<p dir="auto">Возьмите модуль реле и зафиксируйте провода в контактах с помощью отвертки (рис. 3.5).</p>
<p dir="auto"><img src="https://sun1-3.userapi.com/c840729/v840729034/78593/n-cOu0hYsu0.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.5</p>
<p dir="auto">Сделайте четыре отверстия диаметром 2.5 мм и установите в них гайки (с места крепления материнской платы от корпуса ПК) (рис. 3.6).</p>
<p dir="auto"><img src="https://sun1-3.userapi.com/c840729/v840729034/7859c/ncUKFx1z49w.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.6</p>
<p dir="auto">Установите модуль на гайки и зафиксируйте с помощью винтов (рис. 3.7).</p>
<p dir="auto"><img src="https://sun1-2.userapi.com/c840729/v840729034/785a5/vcUycwHL5t4.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.7</p>
<p dir="auto">Возьмите защитную сетку от куллера ПК и откусите с помощью кусачиков крепёжные петли. Далее с помощью термоклея приклейте к доске (рис. 3.8).</p>
<p dir="auto"><img src="https://sun1-3.userapi.com/c840729/v840729034/785ae/Gdg0qkOeJNo.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.8</p>
<p dir="auto">Установите M5 на сетку и подключите к модулю реле с помощью цветных проводов (рис. 3.9).</p>
<p dir="auto"><img src="https://sun1-2.userapi.com/c840729/v840729034/785b7/WNgQHFRvBDs.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.9</p>
<p dir="auto">Подключите вилку к модулю реле и зафиксируйте провод с помощью термоклемя (3.10).</p>
<p dir="auto"><img src="https://pp.userapi.com/c845016/v845016034/3b904/3ZLDX1FLr8w.jpg" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto">Рисунок 3.10</p>
<p dir="auto">Ура! На этом монтаж завершён.</p>
<h3>Шаг 3. Напишем скетч</h3>
<p dir="auto">Подключим библиотеки:</p>
<pre><code>...
include &lt;WiFi.h&gt;
#include &lt;PubSubClient.h&gt;
#include &lt;aREST.h&gt;
</code></pre>
<p dir="auto">Инициализируем экземпляры классов:</p>
<pre><code>WiFiClient espClient;
PubSubClient client(espClient);
aREST rest = aREST(client);
</code></pre>
<p dir="auto">Придуаем уникальный номер устройства для сервиса aREST:</p>
<pre><code>char* device_id = "1c2b3a"; // for example
</code></pre>
<p dir="auto">Настроим порты ввода/вывода:</p>
<pre><code>  pinMode(RELAY1, OUTPUT);
  pinMode(RELAY2, OUTPUT);
  digitalWrite(RELAY1, HIGH);
  digitalWrite(RELAY2, LOW);
</code></pre>
<p dir="auto">Добавим важные вещи:</p>
<pre><code>client.setCallback(callback);
rest.set_id(device_id);
rest.set_name("esp32");
</code></pre>
<p dir="auto">Не забудьте про функции обратного вызова. Эта функция будет вызваться при каждом запросе от облака к устройству:</p>
<pre><code>void callback(char* topic, byte* payload, unsigned int length) {
	rest.handle_callback(client, topic, payload, length);
	...
}
</code></pre>
<p dir="auto">Запустим клиент:</p>
<pre><code>void loop() {
	rest.handle(client);
}
</code></pre>
<p dir="auto">На этом урок завершен!</p>
<h3>Шаг 5. Запуск!</h3>
<p dir="auto">В разделе <strong>"Download"</strong> прилагается видео с демонстрацией работы. На этом урок завершён.</p>
<h2>Downloads</h2>
<ul>
<li>Скетч (GitHub): <a href="https://github.com/dsiberia9s/aREST.-Cute-socket" title="https://github.com/dsiberia9s/aREST.-Cute-socket" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/dsiberia9s/aREST.-Cute-socket</a></li>
<li>Библиотеки (Yandex Disk): <a href="https://yadi.sk/d/hK1wKp3B3UsBCt" title="https://yadi.sk/d/hK1wKp3B3UsBCt" target="_blank" rel="noopener noreferrer nofollow ugc">https://yadi.sk/d/hK1wKp3B3UsBCt</a></li>
<li>Видео с демонстрацией работы (YouTube): <a href="https://youtu.be/OLJlK17hkDo" target="_blank" rel="noopener noreferrer nofollow ugc">https://youtu.be/OLJlK17hkDo</a></li>
</ul>
]]></description><link>https://community.m5stack.com/topic/190/урок-12-arest-милашка-розетка</link><generator>RSS for Node</generator><lastBuildDate>Sat, 27 Jun 2026 19:27:43 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/190.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Apr 2018 05:40:22 GMT</pubDate><ttl>60</ttl></channel></rss>