Программируем Arduino. Профессиональная работа со скетчами



Download 6,8 Mb.
Pdf ko'rish
bet10/12
Sana23.02.2022
Hajmi6,8 Mb.
#167350
1   ...   4   5   6   7   8   9   10   11   12
Bog'liq
Прог-ем Arduino. tlgm it boooks 2017


раздел
«Использование SD-карты» главы 6).


Рис. 12.1. Плата расширения Ethernet
На официальных платах используется микросхема W5100, можно найти
более дешевые платы расширения Ethernet на наборе микросхем ENC28J60.
Но эти более дешевые платы не совместимы с библиотекой Ethernet, и
лучше избегать их, если только вы не ограничены во времени или в
средствах.
Arduino Ethernet/EtherTen
Альтернативой использованию отдельной платы расширения является
покупка Arduino со встроенным адаптером Ethernet. Официальной считается
модель Arduino Ethernet, однако в продаже имеется очень неплохая и
совместимая с Uno плата EtherTen, производимая компанией Freetronics
(
www.freetronics.com
) (рис. 12.2).


Рис. 12.2. Плата EtherTen
Комбинированные платы, содержащие все необходимое, наиболее
предпочтительны для сетевых проектов на основе Arduino. Платы Arduino
Ethernet поддерживают технологию питания по линиям Ethernet (Power over
Ethernet, PoE) через отдельный инжектор PoE, что позволяет уменьшить
количество проводов, идущих к плате Arduino, до единственного кабеля
Ethernet. Платы EtherTen выпускаются уже настроенными на питание с
использованием 
технологии 
PoE. 
Более 
полную 
информацию 
об
использовании технологии PoE в платах EtherTen можно найти по адресу
www.doctormonk.com/2012/01/power-over-ethernet-poe.html
.
Arduino и WiFi
Главная проблема подключения к Интернету через Ethernet заключается в
необходимости прокладки кабеля. Если вы хотите подключить Arduino к
Интернету или сети без использования проводов, то вам потребуется плата
расширения WiFi (рис. 12.3). Эти платы стоят довольно дорого, но есть более
дешевые альтернативы сторонних производителей, такие как Sparkfun WiFly
(
https://www.sparkfun.com/products/9954
).


Рис. 12.3. Плата Arduino WiFi
Библиотека Ethernet
Библиотека Ethernet претерпела существенные изменения с момента
выпуска в 2011 году версии Arduino 1.0. Она не только позволяет плате
Arduino с адаптером Ethernet действовать в роли веб-сервера или веб-
клиента (возможность посылать запросы, подобно браузерам), но и реализует
дополнительные 
возможности, 
такие 
как 
поддержка 
протокола
динамической конфигурации сетевого узла (Dynamic Host Configuration
Protocol, DHCP), автоматически присваивающего плате IP-адрес.
ПРИМЕЧАНИЕ
Превосходное описание библиотеки Ethernet можно найти в официальной
документации Arduino: 
http://arduino.cc/en/reference/ethernet10
.
Создание соединения
На первом этапе, прежде чем приступить к взаимодействиям по сети,
необходимо установить соединение с сетью. Эту задачу решает функция
Ethernet.begin(). Она позволяет вручную указать все параметры
соединения с использованием следующего синтаксиса:


Ethernet.begin(mac, ip, dns, gateway, subnet)
Рассмотрим каждый из этих параметров:
• Mac — MAC-адрес сетевой карты (я расскажу о нем чуть позже);
• Ip — IP-адрес платы (можно выбрать любой допустимый для вашей сети);
• Dns — IP-адрес сервера доменных имен (Domain Name Server, DNS);
• Gateway — IP-адрес шлюза для выхода в Интернет (ваш домашний
концентратор);
• Subnet — маска подсети.
Этот синтаксис кажется немного пугающим тем, кто не имеет опыта
настройки параметров подключения к сети вручную. К счастью, все
параметры, кроме 
mac, являются необязательными, и в 90% случаев вам
придется указывать только параметры 
mac и ip или, весьма вероятно, только
mac. Все остальные параметры будут настроены автоматически.
MAC-адрес, или адрес доступа к среде (Media Access Control), — это
уникальный идентификатор сетевого интерфейса. Иными словами, это адрес
платы расширения Ethernet или чего-то другого, предоставляющего сетевой
интерфейс в распоряжение Arduino. Этот адрес должен быть уникальным
только для вашей сети. Его обычно можно найти на наклейке с обратной
стороны платы Ethernet или WiFi (рис. 12.4) или на упаковке. Если вы
пользуетесь старой платой, не имеющей MAC-адреса, то можете просто
создать свой адрес. Но не используйте в своей сети один и тот же адрес
дважды.
Можно создать соединение с сетью с применением DHCP и получить
динамический IP-адрес, как показано далее:
#include 
#include 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
void setup()
{
Ethernet.begin(mac);
}


Рис. 12.4. Наклейка с MAC-адресом на плате WiFi
Если потребуется присвоить плате фиксированный IP-адрес, что
желательно, когда плата Arduino действует в роли веб-сервера, используйте
примерно такой код:
#include 
#include 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 1, 200 };
void setup()
{
Ethernet.begin(mac, ip);
}
IP-адрес в параметре 
ip должен быть допустимым для вашей сети. Если
вызвать функцию 
Ethernet.begin без параметра с IP-адресом, она по​-
пытается получить его с использованием DHCP и вернет 1, если соединение
было установлено и динамический IP-адрес успешно получен, в противном
случае вернет 0. Можно написать тестовый скетч, который будет
устанавливать соединение и вызывать функцию 
localIP для получения IP-
адреса, присвоенного Arduino. Следующий пример выполняет такую
проверку и выводит сообщение с результатами в монитор последовательного


порта. 
Это 
полноценный 
скетч, 
который 
вы 
можете 
опробовать
самостоятельно. Но не забудьте заменить в коде MAC-адрес на указанный на
вашей плате:
// sketch_12_01_dhcp
#include 
#include 
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
void setup()
{
Serial.begin(9600);
while (!Serial){}; // для совместимости с Leonardo
if (Ethernet.begin(mac))
{
Serial.println(Ethernet.localIP());
}
else
{
Serial.println("Could not connect to network");
}
}
void loop()
{
}
Настройка веб-сервера
Проект «Физический веб-сервер», описанный далее в этой главе,
иллюстрирует организацию скетча, реализующего веб-сервер. А в этом
Download 6,8 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish