Выпускная квалификационная работа обучающегося по направлению подготовки 44. 04



Pdf көрінісі
бет12/24
Дата21.11.2022
өлшемі1,46 Mb.
#51502
түріРеферат
1   ...   8   9   10   11   12   13   14   15   ...   24
Байланысты:
Shtanko Razrabotka 19

Порядок подключения: 
Рисунок 2.8 – Отправка AT–команд из Arduino IDE 
Создайте скрипт для отправки данных на сайт People's Monitoring 
(http://narodmon.ru). Давайте подключим датчик температуры LM335 к 
плате Arduino и будем отправлять данные каждые 10 минут. Схема 
подключения показана на рисунке 2.8. Для отправки данных необходимо 
выполнить следующую последовательность действий: 
1. Сброс ESP - 01 и проверка готовности модуля (AT + RST). 
2. Подключение к сети через Wi-Fi (AT + CWJAP = "", ""). 


41 
3. Выбор одного режима соединения (AT + CIPMUX = 0). 
4. Создание TCP-соединения (AT_CIPSTART = "TCP", "92.39.235.156", 
8283). 
5. Отправка данных (AT + CIPSEND = и сами данные # \ n # \ n # \ n ##). 
6. Закройте соединение TCP (AT + CIPCLOSE). 
7. Сделайте паузу в 10 минут и перейдите к шагу 4. 
Рисунок 2.9 – Схема подключения модуля ESP–01 к Arduino 
Таблица 2.1
Команда 
Описание 
Выполнение 
AT 
Проверка модуля. Если 
модуль успешно 
стартовал, то отвечает 
ОК 
AT 
AT+RST 
Перезапуск модуля 
AT+RST 
AT+RESTORE 
Сбросить на заводские 
настройки 
AT+RESTORE 
AT+UART 
Настройка 
последовательного 
интерфейса 
AT+UART=baudrate, databits, stopbits, 
parity, flow control


42 
AT+CWMODE 
Переключение режима 
Wi-Fi. Для вступления в 
силу требуется 
перезапуск модуля 
командой AT+RST
AT+CWMODE? 
AT+CWMODE=1 (station) 
AT+CWMODE=2 (AP) 
AT+CWMODE=3 (station+AP) 
AT+CWJAP 
Подключение к AP 
(точке доступа) 
AT+CWJAP=<идентификатор сети>, 
<пароль>
AT+CWJAP? 
AT+CWLAP 
Отобразить список 
доступных AP
AT+CWLAP 
ATA+CWQAP 
Отключение от AP 
ATA+CWQAP 
AT+CIPSTART 
Установить 
подключение TCP или 
UDP
AT+CIPSTART=””,”, port 
AT+CIPSEND 
Отправить данные 
AT+CIPSEND=? 
AT+CIPSEND=<длина> 
AT+CIPSEND=<идентификатор><длина> 
AT+CIPCLOSE 
Закрыть подключение 
TCP или UDP 
AT+CIPCLOSE 
Листинге 3.1 
#include  
SoftwareSerial mySerial (2, 3); // RX, TX 
const int LM335 = A0; // contact for connecting the sensor LM335 
#define SSID "MacBook Pro - Petin" // enter your SSID 
#define PASS "19101966" // enter your password 
#define DST_IP "92.39.235.156" // naronmon.ru 
void setup () 

Serial.begin (9600); // for debugging 
mySerial.begin (9600); 
Delay (2000); 
Serial.println ("INIT"); 
mySerial.println ("AT + RST"); // reset and check if the module is ready 
Delay (1000); 
if (mySerial.find ("ready")) 
{Serial.println (“WiFi - module is ready”);} 
still 
{Serial.println ("Module is not responding."); 


43 
while (1); 

Delay (1000); 
// wifi connection 
logical connection = false; 
for (int i = 0; i <5; i ++) 

if (connectWiFi ()) 
{connected = true; 
mySerial.println (“Connected to Wi-Fi ...”); 
break; 


if (! connected) 

mySerial.println (“Unable to connect to Wi-Fi.”); 
while (1); 

Delay (5000); 
mySerial.println ("AT + CIPMUX = 0"); // single connection mode 

void loop () 

String cmd = "AT + CIPSTART = \" TCP \ ", \" "; 
cmd + = DST_IP; 
cmd + = "\", 8283 "; 
Serial.println (CMD); 
mySerial.println (CMD); 
if (mySerial.find ("Error")) 
return; 
double shaft = analog Read (LM335); // read the readings LM335 
double voltage = shaft * 5.0 / 1024; // translate to volts 
double temp = voltage * 100 - 273.15; // degrees Celsius 
cmd = "# A0: F3: C1: 70: AA: 94 \ n # 2881C4BA0200003B1 #" + String (temp) 
+ "\ n ##"; 
Latency (3000); 
mySerial.print ("AT + CIPSEND ="); 
mySerial.println (cmd.length ()); 
Delay (1000); 
Serial.println (">"); 
mySerial.print (CMD); 
Serial.println (CMD); 
Latency (3000); 
mySerial.println ("AT + CIPCLOSE"); 
Latency (600,000); 



44 
// Wi-Fi connection setup procedure 
logical connectWiFi () 

String cmd = "AT + CWJAP = \" "; 
Cmd + = SSID; 
Cmd + = "\", \ ""; 
Cmd + = PASS; 
CMD + = "\" "; 
mySerial.println (CMD); 
Serial.println (CMD); 
Delay (2000); 
if (mySerial.find ("OK")) 

Serial.println (“OK, connected to Wi-Fi.”); 
return the truth; 

still 

Serial.println (“Unable to connect to Wi-Fi.”); 
return a lie; 


Arduino - это удобная платформа для быстрого развития электронных 
устройств и электронный дизайнер для начинающих и профессионалов. 
Платформа очень популярна во всем мире благодаря удобству и простоте 
языка программирования, а также открытой архитектуре и программному 
коду. Плата Arduino состоит из микроконтроллера Atmel AVR и связующих 
элементов для программирования и интеграции с другими схемами. На 
многих платах имеется линейный стабилизатор напряжения +5 В или +3,3 
В. 
Синхронизация осуществляется на частоте 16 или 8 МГц кварцевым 
резонатором (в некоторых версиях керамическим резонатором). 
Загрузчик - загрузчик предварительно прошит до микроконтроллера, 
поэтому внешний программатор не требуется. Устройство программируется 
через USB без использования программаторов. Существует несколько 
версий платформы Arduino. Версия Leonardo основана на микроконтроллере 
ATmega32u4. Uno, Nano, Duemilanove построены на микроконтроллере 
Atmel ATmega328. Старые версии платформы Diecimila и первые рабочие 


45 
Duemilanoves были разработаны на основе Atmel ATmega168. Arduino 
Mega2560, в свою очередь, построен на микроконтроллере ATmega2560. А 
последние версии Arduino Due основаны на микропроцессоре Cortex. 
Версия UNO является одной из самых популярных и широко 
используемых для небольших проектов. Разработка пользовательских 
приложений на основе Arduino-совместимых плат осуществляется в 
официальной бесплатной среде программирования Arduino IDE. Среда 
предназначена для написания, компиляции и загрузки ваших собственных 
программ в память микроконтроллера, установленного на Arduino-
совместимом устройстве. Ядром среды разработки является язык Processing 
/ Wiring - на самом деле это обычный C ++, дополненный простыми и 
понятными функциями для управления вводом / выводом в контактах. 
Существуют версии среды для операционных систем Windows, Mac OS и 
Linux 


46 


Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   24




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет