Что такое ардуино? Сфера применения устройства
Ардуино представляет собой плату с контактами для подключения дополнительных компонентов. Технические характеристики устройства зависят от модели используемого микроконтроллера. Это касается совместимости с дополнительными компонентами. Последнее обновление программной части 1.8.0 было выпущено 20 декабря 2016 года. На базе Arduino можно создаются автономные и подключаемые к компьютеру проекты.
Программный код записывается на саму плату, благодаря встроенному в процессор программатору. Однако, проект может выполняться с компьютера, используя проводные или беспроводные источники передачи данных.
При их отсутствии можно приобрести дополнительный модуль, добавляющий новые функции. Большая открытая база готовых проектов и чертежей CAD открывает пользователю возможности для углублённого изучения среды, порождая новые идеи для создания собственного устройства.
Программная часть
Когда система собрана, ее необходимо запрограммировать. Управление GSM выполняется специфическими функциями и АТ-командами. Устройство принимает их, интерпретирует и выдает определенный результат, отправляя/получая СМС или звонок. Команды задаются через программное обеспечение (такая возможность предусмотрена в IDE) или вводятся напрямую через утилиты работы с портами.
AT-команды
Как уже говорилось, GSM-модули управляются посредством передаваемых на них AT-команд. Это текстовые строки, обрабатываемые прошивкой и инициирующие те или иные действия.
Обычно они генерируются управляющим ПО, но могут быть отправлены и с клавиатуры, например, через утилиту монитора порта из поставки Arduino IDE.
Команды делятся на три вида:
- текстовые — на них контроллер дает ответ о поддержке введенной пользователем директивы или отсутствии таковой;
- чтение — просмотр параметров;
- запись — ввод и сохранение некоторых новых значений.
Набор команд может отличаться в зависимости от контроллера.
Получение и отправка СМС
Пример работы с короткими сообщениями для связки «Arduino + сотовый модуль»:
- в IDE выполняется директива AT+CMGF=1. Она указывает перейти в формат передачи текстового сообщения;
- далее вводится AT+CSCS=«GSM». Выбирается кодировка ASCII;
- AT+CMGS=«номер», где номер указывается полностью (в формате «+7…»);
- когда выполнена эта команда, вводится непосредственно текст сообщения, и по нажатию ctrl-Z отправляется на выбранный номер.
Если все сделано, интерфейс программы вернет ОК.
Для получения SMS:
- AT + CNMI = 2,2,0,0,0 — переход в состояние чтения;
- когда блок GSM получит сообщение, он отправит в порт строку +CMTI: «SM»,2. Цифра может отличаться, она обозначает номер СМС в очереди;
- для прочтения следует дать директиву AT+CMGR=2.
Прием голового звонка
Для выполнения потребуется включить библиотеку разработчика GSM.h:
Если SIM-карта защищена пин-кодом, его также следует определить в скетче:
При пустом коде значение этого поля просто остается пустым.
В обязательном порядке объявляется переменная отслеживания статуса подключения к мобильной сети:
Соединение выполняется посредством функции gsmAcess.begin(). Если процесс завершен успешно, функция возвращает строку GSM_READY.
Далее нужно указать, что сотовый модем переведен в режим приема звонка. За это отвечает функция vcs.hangCall(). Следующая важная функция — getvoiceCallStatus. При входящем звонке она вернет строку RECEIVINGCALL. А для определения номера звонящего следует воспользоваться retreiveCallingNumber.
При поднятой трубке скетч сообщит об этом строкой TALKING. После чего перейдет в режим ожидания ввода; для завершения разговора вводится символ перехода на новую строку.
Это основные функции и команды для данной задачи. Разумеется, в полном скетче потребуется определить гораздо больше параметров, которые можно найти в идущих с IDE примерах и официальной документации.
Шаги для настройки приложения Blynk
1. Сначала скачайте его из Google Play Store и установите его на свой мобильный телефон с Android.
2. После этого необходимо создать аккаунт если у вас его нет. Также вы можете использовать Gmail аккаунт (если он у вас есть).
3. Теперь выберите Arduino Board и задайте имя для своего проекта.
5. Запишите свой Auth Token Code в программе (скетче) для Arduino.
6. Затем кликните на «создать кнопку» (create button) в приложении Blynk.
7. Теперь выберите Joystick Widget, Click on Joystick, Configure the Joystick (более подробно смотрите в видео в конце статьи) и нажмите кнопку возвращения назад back button.
8. После этого нажмите кнопку Play в верхнем правом углу экрана.
Более подробно процессы настройки приложения Blynk показаны в видео в конце статьи.
Подключение Wemos к Arduino IDE
Инструкция по настройке IDE для работы с WeMos
Чтобы начать работать с Wemos D1, нужно установить драйвер CH340 и Arduino IDE. Найти драйвер можно на официальной странице https://www.wemos.cc/downloads.
Затем в Инструменты – Плата – менеджер плат найти esp8266 by ESP8266 Community, установить и закрыть окно.
В меню Инструменты будет добавлен микроконтроллер WeMos D1.
Перед тем, как загрузить программу, нужно установить режимы работы микроконтроллера – загрузка кода (Upload Using), задать нужную частоту (CPU frequency), выбрать размер флеш памяти (Flash Size), задать скорость передачи (Upload Speed) и выбрать нужный порт.
Для подключения версии WeMos Mini выполняются такие же шаги, как и для WeMos D1.
Можно дополнительно скачать и установить примеры кодов для микроконтроллера. Для этого скачанный файл с кодами нужно распаковать по адресу \arduino\examples\. Нужно перезагрузить Arduino IDE, и в Файл – Примеры появятся новые коды, которые можно использовать в своих проектах. Чтобы проверить, правильно ли все подключено, можно запустить скетч для мигания светодиодом.
Описание модуля с его особенностями
Ардуино WiFi модуль обладает развитым интерфейсом:
- 14 входами/выходами, 6 из которых могут работать на выход в режиме ШИМ;
- 6 входами аналогового сигнала;
- USB;
- разъемом питания;
- коннекторами для ICSP;
- кнопкой сброса установок.
Присутствие на плате модуля Wi-Fi ESP8266 позволяет Arduino поддерживать обмен информацией по беспроводным сетям 802.11 b/g/n.
Микросхема ESP8266
Для создания беспроводной сети в пределах помещения наиболее часто используется чип ESP8266. С его помощью организуется связь по Wi-Fi, осуществляются сбор информации, дистанционное управление и выход в интернет. Платы Arduino Uno, WeMos, NodeMcu используют ESP8266. Множество самодельных проектов основано на этом чипе с использованием среды Arduino IDE.
Работа с Arduino IDE
Для работы платы и вашего будущего проекта необходимо написать и загрузить на Andruno скетч. Скетч (sketch) — программа, написанная специально для Adruno. Для выполнения данного пункта вам понадобятся:
- Ардуино;
- USB-кабель Type-A;
- Устройство, работающее на ОС Windows.
Скачайте бесплатную среду разработки для Ардуино с официального сайта производителя. Вместе с программой автоматически установятся драйвера для определения девайса при подключении к USB-порту. Если же Ардуино не определится — произведите ручную установку необходимых компонентов.
На схеме должен загореться зелёный светодиод при подключении к USB. Запустите приложение и приступайте к созданию собственного скетча. Проверка работоспособности и совместимости Arduino с ПО можно проверить при помощи встроенного скетча «LED». Запуск данного процесса должен вызвать мигание светодиода.
В меню Tool — Board выберите используемую плату. Далее следует загрузка скетча в Arduino при помощи кнопки «Upload». Успешное завершение данной операции подтверждается миганием светодиода оранжевого цвета на плате. Для подробного изучения Arduino IDE создано множество англоязычных и отечественных ресурсов, где рассказывается что такое Ардуино и как с ним работать.
Среда разработки оснащена стандартным менеджером добавления библиотек в виде исходного кода на языке C++. Данная возможность расширяет применение компонентов, добавляя новый функционал.
Характеристики
- Модуль: ESP-01 с чипом ESP8266EX
- Выходной интерфейс: UART
- Объём Flash-памяти: 2 МБ
- Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц
-
Режимы работы:
- Клиент (STA)
- Точка доступа (AP)
- Клиент + Точка доступа (STA + AP)
- Напряжение питания: 3,3 В
- Потребляемый ток: до 250 мА
- Габариты: 25×15 мм
В режиме контроллера
- Тактовая частота: 80 МГц
- Портов ввода-вывода всего: 4
- Портов с ШИМ (Программный): 4
- Разрядность ШИМ: по умолчанию 10 бит
- Максимальный ток с пина или на пин: 12 мА
Что такое bluetooth модуль и его назначение
Bluetooth протокол необходим для быстрой передачи данных на небольших расстояниях. Но значительно чаще его применяют в проектах, с целью наладить управление микроконтроллером с близких расстояний. Соответственно, он будет удобен для построения тех же умных домов, если дополнить аппаратную составляющую приложением на смартфон.
Таким образом, первичное и главное назначение Ардуино блютуз – связь с вашим ПК и\или Андроидом по соответствующему протоколу. Это позволяет не только управлять разнообразными датчиками на микроконтроллере, но и, в случае необходимости, обновлять прошивку.
Полностью перепрошить устройство с его помощью не получится. Помимо этого, Android Arduino bluetooth может обеспечить связь между несколькими МК и приборами. Естественно, для этого на каждом из них должен быть установлен независимый модуль. HC-05 позволяет проложить несколько мостов по типу USAR-bluetooth-USART. При этом само устройство будет восприниматься в качестве ответного на USART. А организовывать связь уже будет аппаратная часть вашего проекта.
Модуль HC-06
У блютуз модуля под Ардуино, есть несколько преимуществ, перед стандартными дополнениями под другие МК:
- Инженеру нет необходимости изучать технологию протокола блютуз, чтобы написать софт или начать использовать уже готовые библиотеки.
- Простота использования в целом. Вам не нужно будет паять отдельную плату под распределение мощностей, просто подсоедините устройство к уже готовому МК через пины.
- Обширный выбор библиотек. Так как Ардуино имеет низкий порог вхождения, под все его модули можно найти большое количество библиотек, разного назначения. Но стоит отметить, что весомая их часть – бесполезны, ибо не работают или работают крайне плохо. Ведь пишет их сообщество, которое не изучало основы алгоритмизации и, в большинстве своём, в принципе, плохо разбирается в программировании. Из-за этого, во многих ситуациях, просто модифицировать чужой софт – не лучшее решение, и значительно проще написать свой.
Сфера же применения RC car Arduino bluetooth – огромна и ограничена лишь вашей фантазией. Например, вы можете купить обычную китайскую гарнитуру, припаять к ней пару модулей под Ардуино, так как они могут функционировать и без МК, и загрузить одну из готовых библиотек. После таких манипуляций наушники можно будет использовать в беспроводном режиме и исчезнет проблема с запутывающимися или гнущимися проводами. Это одна из банальных проблем реализации данного протокола в проекте, на деле их тысячи.
Предназначается bluetooth аудио модуль для бытового и коммерческого применения, чему способствуют его характеристики. Также стоит учитывать, что если вы собираетесь в дальнейшем связываться по одноимённому протоколу с ПК, то на большинстве современных устройств необходимо будет докупить блютуз по USB. Но вы можете также спаять его из МК, создав собственный bluetooth модуль для компьютера. Естественно, это не относится к ноутбукам, где поголовно устанавливаются одноимённые передатчики, и никак модифицировать их уже не требуется.
Топ 15 приложений дополненной реальности для телефона
Загрузка кода ESP8266
Используйте любой из приведенных выше способов и откройте Arduino IDE, затем выберите плату ESP8266 в меню:
Tools → Board → Generic ESP8266 Module
(Инструменты → Плата → Модуль ESP8266)
Если вы не установили и не настроили плату ESP8266 для Arduino, сделайте это, выполнив шаги выше этого руководства. Затем можете идти дальше.
Теперь скопируйте приведенный ниже код в Arduino IDE и нажмите кнопку загрузки. Измените SSID на точку доступа Wi-Fi и измените пароль на свой пароль Wi-Fi и скомпилируйте.
#include <ESP8266WiFi.h> const char* ssid = "YOUR_SSID";//type your ssid const char* password = "YOUR_PASSWORD";//type your password int ledPin = 2; // GPIO2 of ESP8266 WiFiServer server(80);//Service Port void setup() { Serial.begin(115200); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address Serial.print("Use this URL to connect: "); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data Serial.println("new client"); while(!client.available()){ delay(1); } // Read the first line of the request String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); // Match the request int value = LOW; if (request.indexOf("/LED=ON") != -1) { digitalWrite(ledPin, HIGH); value = HIGH; } if (request.indexOf("/LED=OFF") != -1){ digitalWrite(ledPin, LOW); value = LOW; } //Set ledPin according to the request //digitalWrite(ledPin, value); // Return the response client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // do not forget this one client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print("Led pin is now: "); if(value == HIGH) { client.print("On"); } else { client.print("Off"); } client.println("<br><br>"); client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>"); client.println("Click <a href=\"/LED=OFF\">here turn the LED on pin 2 OFF<br>"); client.println("</html>"); delay(1); Serial.println("Client disconnected"); Serial.println(""); }
Откройте последовательный монитор и откройте URL, показанный на вашем последовательном мониторе, через веб-браузер. Подключите GPIO 2 от ESP8266 к более длинному выводу светодиода. Теперь вы можете управлять светодиодом удаленно через Интернет!
Нажмите на соответствующие гиперссылки в браузере, чтобы включить или выключить светодиод.
Удалите все провода, которые были необходимы для загрузки кода. Модуль LM1117 используется для обеспечения регулируемого выхода 3,3 В. Это позволит вам сделать модуль ESP8266 или ESP-01 автономным.
Восстановление стандартной АТ-прошивки
После программирования платформы в режиме самостоятельного контроллера может понадобиться восстановить на модуле стандартную AT-прошивку. Для этого необходимо воспользоваться утилитой Flash Download Tool.
Ресурсы
- Wi-Fi Slot в магазине.
-
Методы и функции на языке JavaScript через Espruino IDE (Rus)
-
Datasheet на плату-модуль ESP-12
-
Datasheet на чип ESP8266EX
-
Datasheet на USB-UART преобразователь
-
Datasheet на понижающий DC-DC преобразователь
-
Datasheet на аналоговый мультиплексор
-
Datasheet на селектор выбора канала АЦП
-
Программа для перепрошивки модуля ESP-12
-
Архив для Arduino IDE
-
Прошивка Espruino v2.01 для WiFi Slot
Инициал — пишем грамотно
Работа схемы
Схема устройства представлена на следующем рисунке.
Примечание: чтобы видеть ответы модуля ESP8266 на поступающие команды откройте монитор последовательного порта (Serial Monitor) в программной среде Arduino IDE.
В программе первым делом нам необходимо будет соединить наш Wi-Fi модуль с Wi-Fi роутером чтобы подключить Wi-Fi модуль к сети интернет. Затем мы должны сконфигурировать локальный сервер, передать данные на веб-страницу и закрыть соединение. Для этого нам необходимо выполнить следующую последовательность действий:
1. Сначала нам необходимо произвести тест Wi-Fi модуля при помощи передачи ему AT команды, он должен ответить OK.
2. После этого мы должны выбрать необходимый режим работы с помощью команды AT+CWMODE=mode_id , мы будем использовать Mode id =3. Полный же список доступных режимов выглядит следующим образом:
1 = Station mode (client) (режим станции, клиента)
2 = AP mode (host) (режим базовой станции, хоста)
3 = AP + Station mode (Yes, ESP8266 has a dual mode!) (режим станции + хоста – модуль ESP8266 поддерживает этот двойной режим).
3. Затем мы должны отсоединить наш Wi-Fi модуль от прежней Wi-Fi сети с помощью команды AT+CWQAP поскольку модуль ESP8266 по умолчанию автоматически соединяется с предыдущей использованной сетью Wi-Fi.
4. После этого можно сбросить модуль командой AT+RST – это необязательный шаг.
5. После этого мы должны соединить модуль ESP8266 с Wi-Fi роутером с помощью команды:AT+CWJAP=”wifi_username”,”wifi_password”.
6. После этого мы должны получить IP адрес с помощью команды AT+CIFSR, которая вернет нам IP адрес.
7. После этого нам необходимо задействовать режим мультиплексирования с помощью команды AT+CIPMUX=1 (1 для соединения с мультиплексированием и 0 для одиночного соединения).
8. Теперь сконфигурируем ESP8266 как сервер с помощью команды AT+CIPSERVER=1,port_no (port может быть 80). Теперь наш Wi-Fi готов. В представленной команде ‘1’ используется для создания сервера и ‘0’ для удаления сервера.
9. Теперь с помощью соответствующих команд можно передавать данные на созданный локальный сервер:AT+CIPSEND =id, length of data
Id = ID no. of transmit connection (номер соединения)
Length = Max length of data is 2 kb (максимальная длина данный 2 Кбайта).
10. После передачи ID (номера, идентификатора) и Length (длины данных) на сервер мы можем передавать данные, к примеру: Serial.println(“[email protected]”);
11. После передачи данных нам необходимо закрыть соединение с помощью команды:AT+CIPCLOSE=0
После этого данные будет переданы на локальный сервер.
12. Теперь вы можете набрать IP адрес в строке адреса вашего браузера и нажать Enter. После этого вы увидите переданные данные на веб-странице.
Все описанные шаги можно более наглядно посмотреть в видео в конце статьи.
Передача данных от Ардуино
Сначала мы заставим нашу ардуину передавать данные на отдельный сайт, который будет изображать данные, полученные с датчиков ардуино. Для этого прекрасно подойдет сайт для интернет вещей — dweet.io
Это сайт может отображать график изменения температуры, света, влажности, все что имеет изменение по времени.
Попробуем на него передавать данные изменения температуры нашей комнаты.
Можно обойтись без создания собственного ключа, и в коде (где нужно вставить ключ), можно записать все что угодно и сайт все равно вам выведет на экран график изменения отправленных данных по времени. Но для того, чтобы в дальнейшем создать сеть онлайн устройств, придется более серьезно отнестись к данному сайту.
На главной странице можно посмотреть возможные варианты работы данного сайта
Также создать свой аккаунт и сеть ключей для разных устройств, чтобы вы могли не беспокоится за безопасность данных и могли из любого устройства узнать, что происходит в вашем доме.
Прошивка WeMos, примеры скетчей
Мигание светодиодами
Сам скетч выглядит следующим образом:
int inputPin = D4; // подключение кнопки в контактам D4 и GND. Можно выбрать любой пин на плате int val = 1; // включение/выключение хранения значения void setup() { pinMode(BUILTIN_LED, OUTPUT); // подключение светодиода, перевод в режим OUTPUT pinMode(inputPin, INPUT); // включение пина для входных данных } void loop() { val = digitalRead(inputPin); // чтение входных данных digitalWrite(BUILTIN_LED, val); // включение/выключение светодиода по нажатию кнопки }
Если все выполнено правильно, нужно нажать кнопку, и светодиод загорится. При повторном нажатии потухнет.
Для автоматического мигания светодиода интервалом в две секунды используется следующий код:
void setup() { pinMode(3, OUTPUT); // инициализация контакта GPIO3 с подключенным светодиодом } void loop() { digitalWrite(2, HIGH); // светодиод загорается delay(2000); // ожидание в течение двух секунд digitalWrite(2, LOW); // светодиод гаснет delay(2000); // ожидание в течение двух секунд }
WeMos и подключение к WiFi для передачи данных на удаленный сервер
В примере будет рассмотрен скетч для создания веб-сервера, благодаря которому можно управлять различными устройствами – лампами, реле, светодиодами и другими. Для работы нужно установить библиотеку ESP8266WiFi.
Фрагменты скетча:
const char* ssid = "****"; //требуется записать имя точки доступа, к которой будет произведено подключение const char* password = "****"; //введение пароля точки доступа, который должен содержать не менее восьми символов WiFiServer server(80); //создание сервера на 80 порту WiFi.begin(ssid, password); // подключение к заданной выше точке доступа, ее имя и пароль pinMode(3, OUTPUT); //присоединение к пину GPIO3 и земле while (WiFi.status() != WL_CONNECTED) //показывает статус подключения, WL_CONNECTED указывает на установку соединения; Serial.println(WiFi.localIP()); //получение IP адреса. Его нужно ввести в строку адреса в браузере для получения доступа к управлению устройством Serial.println(WiFi.macAddress()); //получение MAC адреса Serial.println(WiFi.SSID()); //получение имени сети, к которой подключился WeMos WiFiClient client = server.available(); //проверяет, подключен ли клиент Serial.println("client"); while(!client.available()) //ожидание отправки данных от клиента String req = client.readStringUntil('\r'); Serial.println(req); client.flush(); //Чтение первой строки запроса
Создание точки доступа на WeMos
В данном примере модуль WeMos будет сконфигурирован в качестве самостоятельной точки доступа.
Создание точки доступа выполняется по следующему алгоритму:
- Подключение модуля;
- Запуск среды разработки Arduino IDE;
- Выбор порта, частоты, размера флэш-памяти;
- Запись с коде программы имени сети и создание пароля;
- Компиляция и загрузка скетча;
- Установить скорость 115200;
- Должно произойти подключение к сети, будет получен IP и выведен в терминал;
- Для проверки можно ввести в адресной строке в браузере IP/gpio/1, если все работает корректно, должен загореться светодиод на плате.
Фрагменты программы:
const char *ssid = «****»; //в этой строке нужно задать имя создаваемой сети
const char *password = «»; //указывается пароль сети, если не указывать пароль, то сеть будет открыта
При создании пароля важно помнить, что он должен состоять не менее чем из восьми знаков
WiFiServer server(80);
WiFi.softAP(ssid, password); //создание точки доступа с именем и паролем, которые указывались выше. Если пароль не указывался, softAP(ssid, password) меняется на softAP(ssid)
IPAddress myIP = WiFi.softAPIP(); //получение адреса IP
Serial.print(«AP IP address: «); //вывод полученного адреса в терминал
server.begin(); // запуск сервера
Выход в интернет
Чтобы связать наши проекты с интернетом можно использовать 10-ки способов, но мы пока остановимся на модуле, о котором я еще говорил еще в самой первой статье, ESP 8266. Arduno UNO не может работать с интернетом. Обычная плата без дополнений и модулей не может передавать информацию на расстоянии.
Но с помощью UART интерфейса на Arduino мы можем получать информацию, обрабатывать ее и отправлять данные обратно. С помощью него, UNO может работать с Bluetooth и Wi-fi модулями, которые уже и дают нашей системе дополнительные функции.
Давайте поговорим об интернете поподробнее. Я думаю, вы знаете, что интернет — это не магия и не просто радиоволны, а гигантская сеть между тысячами различных устройств с помощью беспроводной связи.
Сайты, с которыми мы каждый день сталкиваемся — это информация, переданная нам с сервера. Весь тот текст, картинки, анимация — все это хранится на сервере, пока клиент, мы, не захочет, чтобы ему передали эту информацию.
Вы можете узнать, что такое IP, TCP, HTTP, GET — запрос в интернете, если вам в дальнейшем будет не понятно.
Но это все не будет работать без связи нашей платы с сайтами и приложениями. Есть два решения, подключится к другому сайту (серверу), который будет обрабатывать информацию полученную либо от самой платы, либо от пользователя, чтобы управлять приборами на расстоянии или создать свой сервер, где будет лежать лично наш написанный сайт. Мы все это попробуем сделать в будущем.
Зачем нужен модуль для Ардуино
Для начала стоит понять, зачем вообще подобная модульность необходима. Ведь, казалось бы, Ардуино – это всего лишь микроконтроллер, к которому можно приспособить любой сторонний датчик. Но на деле всё не так просто, как раз из-за программной части и других особенностей системы, поэтому, для расширения функционала, и присутствуют специальные Аrduino модули, позволяющие приспособить МК к любым потребностям человека, который его использует. Это основная функция, объясняющая необходимость модульности, помимо неё, присутствуют и другие причины такого решения:
- Стандартизированный набор датчиков с одинаковыми характеристиками позволяет писать универсальные решения для различных ситуаций. Таким образом, захотев воплотить в жизнь какой-то проект, вам не нужно самостоятельно изучать язык программирования и создавать уникальную электросхему. В большинстве случаев, уже готовая система или какие-то её части присутствуют в свободном доступе, инженеру лишь остается их правильно скомпоновать, что значительно экономит время при реализации задумок.
- Простота работы с Ардуино. Уже описанная выше стандартизация, позволяет быть уверенным, что купленный вами датчик или специальный модуль, не нужно будет подключать с помощью дополнительных шлейфов или переходников. Хоть иногда и появляется необходимость самостоятельно паять платформу под Ардуино, но, в большинстве случаев, вы можете приобрести уже готовую, под конкретные модули и потребности. Более того, существуют универсальные платы, полностью раскрывающие возможности модульной системы.
Подключение ESP8266 к Интернету
В настоящее время модуль ESP8266 доступен только через локальную сеть Wi-Fi. Чтобы управлять устройствами из Интернета, вам необходимо выполнить переадресацию портов на маршрутизаторе.
Для этого найдите IP-адрес вашей системы либо с помощью команды «ifconfig» в вашем терминале, либо перейдите на страницу whatsmyip.org. Скопируйте свой IP-адрес. Теперь откройте настройку маршрутизатора и перейдите в настройки «Переадресация». Введите данные для «Сервисного порта» и «IP-адреса». Сервисный порт — это номер порта из вашего кода Arduino (служебный порт: 80):
WiFiServer server(80);//Service Port
IP-адрес тот, который вы указали ранее. Оставьте остальные настройки по умолчанию. Теперь перейдите в свой браузер и введите адрес: xxx.xxx.xx.xx: 80. Должна открыться страница для управления светодиодом.
Про контроллер ATmega2560
Что дальше
В планах (когда-нибудь):
- спроектировать и напечатать корпус;
- подключить ESP-01 для конфигурации и просмотра логов через браузер с телефона.
Как пользоваться CommView for WiFi
Общие сведения
WiFi Slot содержит на борту всё необходимое для быстрой и комфортной работы: USB-разъём для программирования и отладки, десять цифровых входов/выходов с поддержкой ШИМ-сигнала (восемь из которых восемь могут использоваться как аналоговый вход) и две служебные кнопки.
Больше нет нужды нажимать специальные кнопки при каждой прошивке. Специальная схема вводит плату в режим программирования при прошивке через USB-разъём.
Родным напряжением чипа является 3,3 В. Мы установили на плату мощный DC-DC преобразователь, который позволяет запитать плату от 5 В при помощи USB, Power Bank или Li-Ion-аккумулятора. Понижающий преобразователь обеспечит нагрузку током до 1 А. Забудьте о глюках при нехватке питания от маломощных регуляторов напряжения — тока хватит всем.
WiFi Slot позволяет подключить до четырёх Troyka-модулей. Используемые пины для связи сенсоров и модулей с WiFi Slot зависят от конкретного устройства, точнее: от типа его коммуникации, сигнала и протокола. Обратитесь к странице с обзором сенсоров, чтобы определить как организована коммуникация с каждым устройством. После чего можно приступать к работе с модулем.
Платформа программируется двумя способами: