Site Language

Translate

Russian Albanian Arabic Armenian Azerbaijani Belarusian Bulgarian Catalan Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Serbian Slovak Slovenian Spanish Swedish Turkish Ukrainian Yiddish

CashBack Реальный возврат при покупках в интернете

Основные версии плат Arduino

Due — плата на базе 32-битного ARM микропроцессора Cortex-M3 ARM SAM3U4E;

Leonardo — плата на микроконтроллере ATmega32U4;

Uno — самая популярная версия базовой платформы Arduino;

Duemilanove — плата на микроконтроллере ATmega168 или ATmega328;

Diecimila — версия базовой платформы Arduino USB;

Nano — компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B;

Mega ADK — версия платы Mega 2560 с поддержкой интерфейса USB-host для связи с телефонами на Android и другими устройствами с интерфейсом USB;

Mega2560 — плата на базе микроконтроллера ATmega2560 с использованием чипа ATMega8U2 для последовательного соединения по USB-порту;

Mega — версия серии Mega на базе микроконтроллера ATmega1280;

Arduino BT — платформа с модулем Bluetooth для беспроводной связи и программирования;

LilyPad — платформа, разработанная для переноски, может зашиваться в ткань;

Fio — платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки;

Mini — самая маленькая платформа Arduino;

Pro — платформа, разработанная для опытных пользователей, может являться частью большего проекта;

Pro Mini — как и платформа Pro, разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.

 

CashBack Все честно и без обмана

Библиотека Ethernet library

Для работы с Ethernet shield используется стандартная Arduino-библиотека Ethernet library. Она поставляется в составе дистрибутива Arduino. Рассмотрим ее подробнее.

Класс Ethernet (Ethernet class)

Класс Ethernet инициализирует библиотеку и сетевые настройки. Начиная с версии 1.0, библиотека поддерживает DHCP. Использование Ethernet.begin (mac) позволяет автоматически получать IP-адрес.

Функции класса Ethernet:

 begin();

 localIP().

Функция Ethernet.begin()

Функция Ethernet.begin() инициализирует библиотеку и сетевые настройки.

Синтаксис функции:

Ethernet.begin(mac) Ethernet.begin(mac,ip) Ethernet.begin(mac,ip,gateway) Ethernet.begin(mac, ip, gateway, subnet)

Параметры:

 mac — mac-адрес (Media Access Control) устройства (массив из 6 байтов). Это аппаратный адрес адаптера вашего устройства. Новые Arduino Ethernet shield включают наклейку с MAC-адресом устройства. Для более старых его нужно найти самостоятельно;

 ip — IP-адрес устройства (массив из 4 байтов);

 gateway — IP-адрес сетевого шлюза (массив из 4 байтов). Опционально — по умолчанию IP-адрес устройства с последнего октета установлен в 1;

 subnet — маска подсети сети (массив из 4 байтов). Опционально — по умолчанию 255.255.255.0.

Возвращаемого значения нет.

Функция Ethernet.localIP()

Функция Ethernet.localIP() возвращает IP-адрес Ethernet shield. Синтаксис функции:

Ethernet.localIP()

Возвращаемое значение: IP-адрес устройства.

Класс IPAddress (IPAddress class)

Класс IPAddress работает с локальными и удаленными IP-адресами.

Функция IPAddress()

Функция IPAddress() определяет IP-адрес. Он может быть использован для объявления локальных и удаленных адресов.

Синтаксис:

IPAddress(address)

Параметр: address — назначаемый IP-адрес. Возвращаемого значения нет.

Класс Server (Server class)

Класс Server создает сервер, который может передавать данные и получать данные от подключенных клиентов.

Функции класса Server:

 ethernetServer();

 begin();

 available();

 write();

 print();

 println().

Функция ethernetServer()

Функция ethernetServer() создает сервер, который прослушивает входящие соединения на указанный порт.

Синтаксис:

ethernetServer (port)

Параметр: port — назначаемый для прослушивания порт. Возвращаемого значения нет.

Функция begin()

Функция begin() запускает прослушивание входящих соединений. Синтаксис:

server.begin()

Параметров нет. Возвращаемого значения нет.

Функция available()

Функция available() получает ссылку на подключенного к серверу клиента для обмена данными.

Синтаксис:

available()

Параметров нет.

Возвращаемое значение: ссылка на подключенный к серверу клиент (EthernetClient client = server.available();).

Пример использования функции available() представлен в примере

#include <Ethernet.h>

#include <SPI.h>

// mac-адрес Ethernet shield:

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// IP-адрес, назначаемый Ethernet shield: byte ip[] = { 192, 168, 0, 177 };

// адрес шлюза:

byte gateway[] = { 192, 168, 0, 1 };

// маска:

byte subnet[] = { 255, 255, 0, 0 };

// порт для сервера

EthernetServer server = EthernetServer(23);

void setup()

{

// инициализация Ethernet shield Ethernet.begin(mac, ip, gateway, subnet);

// запуск сервера server.begin();

}

void loop()

{

// получение ссылки на подключенного клиента EthernetClient client = server.available();

// пока подключение активно if (client == true) {

// читаем данные, отправляемые клиентом,

// и отправляем их обратно клиенту: server.write(client.read());

}

}

Функция write()

Функция write() отправляет данные всем клиентам, подключенным к серверу. Синтаксис:

server.write(data)

Параметр: data — отправляемые данные (байт или символ). Возвращаемого значения нет.

 Функция print()

Функция print() отправляет данные всем клиентам, подключенным к серверу. При этом число отправляется как последовательность цифр данного числа.

Синтаксис:

server.print(data) server.print(data,BASE)

Параметры:

 data — отправляемые данные (байт, символ, число, строка).

 BASE — вид передаваемых символов:

• BIN — двоичный;

• DEC — десятичный;

• OCT — восьмеричный;

• HEX — шестнадцатеричный.

Возвращаемое значение: количество переданных байтов.

Функция println()

Функция println() отправляет данные всем клиентам, подключенным к серверу. Аналогична функции print() с добавлением в отправку символа перехода на но- вую строку.

Синтаксис:

server.println() server.println(data) server.println(data,BASE)

Параметры:

 data — отправляемые данные (байт, символ, число, строка).

 BASE — вид передаваемых символов:

• BIN — двоичный;

• DEC — десятичный;

• OCT — восьмеричный;

• HEX — шестнадцатеричный.

Возвращаемое значение: количество переданных байтов.

Класс Client (Client class)

Класс Client создает клиентов, которые могут подключаться к серверам и обмениваться данными.

Функции класса Client:

 client;

 EthernetClient();

 connected();

 connect();

 write();

 print();

 println();

 available();

 read();

 flush();

 stop().

Функция client()

Функция client() создает клиента, который подключается к серверу по указанному в параметрах IP-адресу и порту.

Синтаксис: сlient(ip, port) Параметры:

 ip — IP-адрес подключения клиента (массив из 4 байтов);

 port — порт подключения клиента. Возвращаемого значения нет.

Функция EthernetClient()

Функция EthernetClient() создает клиента, который подключается к серверу. Параметры подключения (IP-адрес и порт) определяются в функции client.connect()).

Синтаксис: EthernetClient() Параметров нет.

Возвращаемого значения нет.

Функция connected()

Функция connected() определяет, подключен клиент или нет. Клиент считается подключенным, если соединение закрыто, но есть непрочитанные данные.

Синтаксис:

client.connected() Параметров нет.

Возвращаемые значения: true — если клиент подключен, и false — если нет.

Функция connect()

Функция connect() подключается к серверу по указанному IP-адресу и порту.

Синтаксис:

client.connect()

Параметры:

 ip — IP-адрес подключения клиента (массив из 4 байтов);

 port — порт подключения клиента.

Возвращаемые значения: true — если клиент подключен, и false — если нет.

Функция write()

Функция write() отправляет на сервер данные с подключенного клиента.

Синтаксис:

client.write(data)

Параметр: data — отправляемые данные (байт или символ). Возвращаемого значения нет.

Функция print()

Функция print() отправляет данные на сервер с подключенного клиента. При этом число отправляется как последовательность цифр данного числа.

Синтаксис:

client.print(data) client.print(data,BASE)

Параметры:

 data — отправляемые данные (байт, символ, число, строка).

 BASE — вид передаваемых символов:

• BIN — двоичный;

• DEC — десятичный;

• OCT — восьмеричный;

• HEX — шестнадцатеричный.

Возвращаемое значение: количество переданных байтов.

Функция println()

Функция println() отправляет данные на сервер с подключенного клиента. Аналогична функции print() с добавлением в отправку символа перехода на новую строку.

Синтаксис:

client.println() client.println(data) client.println(data,BASE)

Параметры:

 data — отправляемые данные (байт, символ, число, строка).

 BASE — вид передаваемых символов:

• BIN — двоичный;

• DEC — десятичный;

• OCT — восьмеричный;

• HEX — шестнадцатеричный.

Возвращаемое значение: количество переданных байтов.

Функция available()

Функция available() возвращает число байтов, доступных для чтения (т. е. объем данных, который был отправлен сервером для клиента).

Синтаксис: client.available() Параметров нет.

Возвращаемое значение: количество доступных для чтения байтов.

Функция read()

Функция read() получает следующий (после последнего, полученного командой read()) байт от сервера или –1, если данных больше нет.

Синтаксис:

client.read()

Параметров нет.

Возвращаемое значение: байт или –1.

Функция flush()

Функция flush() сбрасывает полученные от сервера, но еще не прочитанные данные.

Синтаксис:

client.flush() Параметров нет.

Возвращаемого значения нет.

Функция stop()

Функция stop() отключает клиента от сервера.

Синтаксис:

client.stop()

Параметров нет. Возвращаемого значения нет.

Класс EthernetUDP (EthernetUDP class)

Класс EthernetUDP позволяет отправлять и получать UDP-сообщения. Функции класса EthernetUDP:

 begin();

 read();

 write();

 beginPacket();

 endPacket();

 parsePacket();

 available();

 remoteIP();

 remotePort().

Функция begin()

Функция begin() инициализирует библиотеки Ethernet UDP и сетевые параметры.

Синтаксис:

client.begin(port)

Параметр: port — локальный порт для прослушивания.

Возвращаемого значения нет.

Функция read()

Функция read() читает UDP-данные из указанного буфера. Если аргументы не заданы, то она вернет следующий символ в буфере.

Синтаксис:

UDP.read() UDP.read(packetBuffer,maxSize)

Параметры:

 packetBuffer — буфер для хранения входящих пакетов;

 maxSize — максимальный размер буфера. Возвращаемое значение: символы из буфера.

 Функция write()

Функция write() записывает UDP-данные в удаленное соединение. Данные должны быть заключены между beginPacket() и endPacket(). beginPacket() инициализирует пакет данных, данные не отправляются до вызова endPacket().

Синтаксис:

UDP.write(message)

Параметр: message — отправляемое сообщение.

Возвращаемое значение: количество возвращаемых символов.

Пример использования функции write()

// мас-адрес Ethernet shield:

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// IP-адрес в локальной сети: IPAddress ip(192, 168, 1, 177);

// порт

unsigned int localPort = 8888; EthernetUDP Udp;

void setup() {

// запустить UDP-соединение Ethernet.begin(mac,ip); Udp.begin(localPort);

}

void loop() {

Udp.beginPacket(Udp.remoteIP(), Udp.remotePort()); Udp.write("hello");

Udp.endPacket();

}

Функция beginPacket()

Функция beginPacket() инициирует UDP-подключение на отправку данных в удаленное соединение.

Синтаксис:

beginPacket (remoteIP, port)

Параметры:

 remoteIP — IP-адрес удаленного соединения;

 port — порт удаленного соединения.

Возвращаемого значения нет.

Функция endPacket()

Функция endPacket() вызывается после записи UDP-данных удаленного соединения.

Синтаксис:

endPacket()

Параметров нет. Возвращаемого значения нет.

Функция parsePacket()

Функция parsePacket() проверяет наличие пакета UDP и его размер. Функция parsePacket() должна вызываться перед чтением буфера с UDP.read().

Синтаксис:

parsePacket()

Параметров нет.

Возвращаемое значение: размер полученных данных.

Пример использования функции parsePacket() представлен в примере.

 

// мас-адрес Ethernet shield

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// ip-адрес

IPAddress ip(192, 168, 1, 177);

// порт

unsigned int localPort = 8888; EthernetUDP Udp;

void setup() {

// запустить UDP-соединение Ethernet.begin(mac,ip); Udp.begin(localPort); Serial.begin(9600);

}

void loop() {

// получить размер данных

int packetSize = Udp.parsePacket(); if(packetSize)

{

Serial.print("size="); Serial.println(packetSize);

}

delay(10);

}

Функция available()

Функция available() получает количество данных, доступных для чтения из буфера.

Синтаксис:

available()

Параметров нет.

Возвращаемое значение: количество байтов, доступных для чтения.

Функция remoteIP()

Функция remoteIP() получает IP-адрес удаленного соединения. Эта функция должна быть вызвана после UDP.parsePacket().

Синтаксис:

remoteIP()

Параметров нет.

Возвращаемое значение: IP-адрес удаленного соединения (4 байта).

Функция remotePort()

Функция remotePort() получает IP-адрес удаленного соединения UDP.

Синтаксис:

remotePort()

Параметров нет.

Возвращаемое значение: порт соединения с удаленным хостом.

 Плата расширения L293D, ИК-датчик VS1838B, TFT LCD, Модем M590E GSM GPRS, "монитор TFT LCD, датчик движения HC-SR501, ИК-пульт дистанционного управления, Радиомодуль NRF24L01, SD Card Module, Звуковой модуль, 5-axis stepper motor driver, Шаговый двигатель, Модем M590E GSM GPRS, 5-axis stepper motor driver,  Часы реального времени DS 3231/DS 1307, терморегулятор W1209 DC, Релейный модуль, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E,  датчик движения HC-SR501, Передатчик и приемник в диапазоне RF 433 Mhz, Блок питания, L293D, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, Датчики контроля температуры, Радиомодуль NRF24L01, OKI 120A2, Rotary Encoder, SD Card Module, Беспроводной пульт дистанционного управления, Микросхема контроллера коллекторного электродвигателя, Модуль Bluetooth HC-06,, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Mini 360 на схеме LM2596, MP3-TF-16P, L293D, Модуль LCD монитора, Инфракрасные датчики расстояния, Часы реального времени,  USB Host Shield, HC-SR501, Cветочувствительный датчик сопротивления, блок питания Mini 360 на схеме LM2596, ЖК-дисплей TFT дисплей, Контроллер L298N, HC-SR501, Модуль MP3 Player WTV020, GSM GPRS, Сервоприводы, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Модуль Wi-Fi ESP8266-12E, Инфракрасные датчики расстояния, Card Module, Ультразвуковые дальномеры HC-SR04, Блок питания,  Карта памяти SD, Mini 360, Ethernet shield, L293D, блок питания Mini 360 на схеме LM2596, Радиомодуль, датчик температуры DS18B20, ИК-пульт дистанционного управления, USB конвертер UART, ИК-пульт,  Антена для модуля WiFi, Ethernet shield,  Модуль блока питания XL6009, Микросхема контроллера коллекторного электродвигателя, Модуль качества воздуха MQ-135, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, SD Card Module, Радиомодуль NRF24L01, двигатель OKI,  5-axis stepper motor driver, L293D, TB6560, Драйвер шагового двигателя TB6600, Шаговый двигатель,  Модуль камеры, Блок питания, L293D, блок питания Mini 360 на схеме LM2596, 5axis mach3 interface, Карта памяти SD, Ethernet shield, Контроллер L298N, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E, Модуль LCD монитора LCD1602, Шаговый двигатель OKI 120A2, Шаговый двигатель, Шаговый двигатель.