You are on page 1of 9

Технічна частина

Для проектування мною було обрано мікроконтроллер, який задовольняє


всім нашим потребам ESP8266, який відрізняється з поміж інших
контроллерів вбудованою системою Wi-Fi з усіма необхідними для нас
стандартами

Керування пристроєм ведеться через мікроконтроллер який за допомогою


шини здатен приймати та передавати сигнал по дроту, та отримувати
додаткове живлення 5В.

ESP8266 - це мікроконтролер, розроблений у 2014 році і що випускається


компанією Espressif Systems - китайською компанією з Шанхаю. Він являє
собою мережеве рішення з Wi-Fi-трансівером на борту плюс можливість
виконання додатків, що записуються в його пам'ять.
Специфікація ESP8266:

Напруга живлення: 3,3 В


Енергоспоживання: 10 мкА ... 170 мА
Флеш-пам'ять: до 16 мб максимум (зазвичай 512 кб)
Процесор: Tensilica L106, 32 біта
Швидкість процесора: 80...160 МГц
ОЗП: 32 кб + 80 кб
Порти введення-виведення загального призначення: 17 (мультиплексовані
з іншими функціями)
АЦП: 1 введення з роздільною здатністю 1024
Підтримка 802.11: b/g/n/d/e/i/k/r
Максимальна кількість підключень TCP: 5

Підключення до ESP8266
ESP8266 - це Wi-Fi пристрій, значить і підключитися до нього можна
через Wi-Fi, проте перед цим слід його налаштувати - процесор не знає
назви вашої локальної мережі та пароля для підключення до неї, а також
інших можливих налаштувань. Це, звичайно, є справедливим для випадку
коли ми бажаємо щоб модуль підключився до нашої мережі. Якщо сам
модуль працює в режимі точки доступу, все трохи складніше.

Для спрощення роботи з модулем на стадії програмування та


налагодження своєї програми можна використовувати послідовний порт
(UART). ESP8266 має спеціальний послідовний порт для цього - два
порти, зазначені Rx і Tx. Tx - служить передачі даних, а Rx - прийому.
Цими портами модуль з'єднується з відповідними портами. Найзручніше
підключити цей порт до комп'ютера за допомогою перехідника USB-
UART. При такому підключенні ми можемо відправляти модулю команди
з програми терміналу прямо з клавіатури та отримувати відповіді від
модуля в термінал або записувати програму в модуль.

При підключенні через UART слід встановити однакову швидкість портів.


У процесі завантаження модуль ESP8266 намагається автоматично
визначити швидкість підключення пристрою-партнера і встановити в себе
таку саму.

Модуль ESP8266 має також другий послідовний порт. Головне його


призначення - виведення діагностичної та налагоджувальної інформації.
Це може бути дуже корисним під час перевірки своєї програми. Пін Tx
другого послідовного порту мультиплексований із піном GPIO2.

Команда Опис
AT Пише у відповідь "OK"
AT+RST Перезапускає модуль ESP8266
AT+GMR Повертає версію SDK модуля та процесора AT команд.
Приклад:
AT version:0.21.0.0
SDK version:0.9.5
AT+GLSP= <час> Увімкнення режиму сну на вказане число мілісекунд.
Модуль прокинеться через вказаний час.
ATE[0|1] Відправлення отриманих команд AT назад в термінал.
ATE0 - луна вимкнена
ATE1 - луна включена
AT+RESTORE Відновлення стандартного значення з флеш-пам'яті
AT+UART_CUR=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
Налаштування режиму роботи UART
AT+UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
Те саме, що і AT+UART_CUR=<baudrate>,<databits>,<stopbits>,<parity>,<
flow control>
AT+SLEEP? Отримати поточний режим сну
AT+SLEEP=<sleep mode> Режим сну:
0 — режим сну вимкнено
1 - режим неглибокого сну
2 - режим модемного сну
WiFi
AT+CWMODE_CUR=<режим> Встановлення режиму роботи.
Можливі режими:
1 - режим станції
2 - режим точки доступу
3 - режим станції + точки доступу
AT+CWMODE_CUR? Отримати поточний режим роботи
AT+CWMODE_CUR=? Отримати список доступних режимів роботи
AT+CWMODE_DEF=<режим> Те саме, що й
AT+CWMODE_CUR=<режим>
AT+CWMODE_DEF? Те саме, що й AT+CWMODE_CUR?
AT+CWMODE_DEF=? Те саме, що й AT+CWMODE_CUR=?
AT+CWJAP_CUR=<ssid>,<password>[,<bssid>] Підключитись до точки
доступу (Join Access Point)
AT+CWJAP_CUR? Отримати інформацію про поточне підключення
AT+CWJAP_DEF=<ssid>,<password>[,<bssid>] Те саме, що й
AT+CWJAP_CUR=<ssid>,<password>[,<bssid>]
AT+CWJAP_DEF? Те саме, що й AT+CWJAP_CUR?
AT+CWLAP Отримати список видимих точок доступу. Відповідь у
форматі + CWLAP: <ecn>, <ssid>, <rssi>, <mac>, <ch>, де:
ecn - захист
0 - OPEN
1 - WEP
2 - WPA_PSK
3 - WPA2_PSK
4 - WPA_WPA2_PSK
ssid - SSID точки доступу
rssi - рівень сигналу
mac - MAC адреса
ch - канал
AT+CWLAP=<ssid>,<mac>,<ch> Отримати відфільтрований список точок
доступу
AT+CWQAP Вимкнути від точки доступу
AT+CWSAP_CUR? Конфігурація режиму Soft AP
AT+CWSAP_CUR=<ssid>,
<pwd>, <ch>, <ecn> Створити точку доступу. Приклад:
AT+CWSAP_CUR="ESP8266","password",5,3
AT+CWSAP_DEF? Те саме, що й AT+CWSAP_CUR?
AT+CWSAP_DEF=<ssid>,
<pwd>, <ch>, <ecn> Те саме, що й AT+CWSAP_CUR=<ssid>,
<pwd>, <ch>, <ecn>
AT+CWLIF Отримати список підключених IP у режимі Soft AP
AT+CWDHCP_CUR? Отримати поточний режим DHCP
AT+CWDHCP_CUR= <mode>, <en> Увімкнути або вимкнути DHCP:
mode
0 - Soft AP
1 - Station
2 - Soft AP + Station
en
0 - DHCP включений
1 - DHCP вимкнено

AT+CWDHCP_DEF? Те саме, що й AT+CWDHCP_CUR?


AT+CWDHCP_DEF=<mode>, <en> Те саме, що й AT+CWDHCP_CUR=
<mode>, <en>
AP+CWAUTOCONN=<enable> Підключатися до точки доступу після
старту модуля:
0 - не підключатися
1 - підключатися
AT+CIPSTAMAC_CUR? Отримати поточну MAC-адресу в режимі Station.
Приклад: AT+CIPSTAMAC_CUR="29:0f:46:09:e4:8c"
AT+CIPSTAMAC_CUR= Встановити MAC-адресу в режимі Station
AT+CIPSTAMAC_DEF? Те саме, що і AT+CIPSTAMAC_CUR? в режимі
Station
AT+CIPSTAMAC_DEF= Те саме, що й AT+CIPSTAMAC_CUR= у режимі
Station
AT+CIPAPMAC_CUR? Отримати поточну MAC-адресу в режимі Access
Point. Приклад: AT+CIPSTAMAC_CUR="29:0f:46:09:e4:8c"
AT+CIPAPMAC_CUR= Встановити MAC-адресу в режимі Access Point
AT+CIPAPMAC_DEF? Те саме, що і AT+CIPSTAMAC_CUR? у режимі
Access Point
AT+CIPAPMAC_DEF= Те саме, що й AT+CIPSTAMAC_CUR= у режимі
Access Point
AT+CIPSTA_CUR=<ip> Встановити IP-адресу в режимі Station
AT+CIPSTA_CUR? Отримати IP-адресу в режимі Station. Приклад:
+CIPSTA: "0.0.0.0"
AT+CIPSTA_DEF=<ip> Те саме, що й AT+CIPSTA_CUR=<ip> у режимі
Station
AT+CIPSTA_DEF? Те саме, що й AT+CIPSTA_CUR? в режимі Station
AT+CIPAP_CUR? Встановити IP-адресу в режимі Access Point
AT+CIPAP_CUR=<ip> Отримати IP-адресу в режимі Access Point.
Приклад: +CIPSTA: "0.0.0.0"
AT+CIPAP_DEF? Те саме, що й AT+CIPSTA_CUR=<ip> в режимі Access
Point
AT+CIPAP_DEF=<ip> Те саме, що й AT+CIPSTA_CUR? у режимі Access
Point
AT+CIFSR Отримати IP адресу та IP адресу шлюзу
TCP/IP
AT+CIPSTATUS Отримати інформацію про з'єднання. Формат відповіді:
STATUS: <stat>
+CIPSTATUS:<id>,<type>,<addr>,<port>,<tetype>
stat
2 - отриманий IP
3 - підключений
4 - вимкнено
id - id підключення
type - TCP або UDP
addr - IP адреса
port - номер порту
tetype
0 - ESP8266 працює як клієнт
1 - ESP8266 працює як сервер

AT+CIPSTART=<type>,<addr>,<port>[,<local port>,<mode>] Запустити


підключення, коли CIPMUX=0:
type - тип, TCP або UDP
addr - віддалена IP адреса
port - віддалений порт
local port – локальний порт
mode - тільки для UDP
Приклад: AT+CIPSTART="TCP","192.168.1.1",1000

AT+CIPSTART=? Тест підключення


AT+CIPSEND=<length> Надіслати дані, де length - довжина даних, що
надсилаються
AT+CIPCLOSE Закрити підключення
AT+CIFSR Отримати локальну IP адресу
AT+CIPMUX=<mode> Дозволити численні підключення:
0 - режим одиночного підключення
1 - режим множинних підключень
AT+CIPMUX? Отримати поточне значення CIPMUX
AT+CIPSERVER=<mode>,<port> Запустити TCP-сервер. Якщо порт не
вказано, використовується порт за замовчуванням - 333. Сервер може бути
створений лише якщо режим CIPMUX=1:
mode
0 - видалити сервер (вимагає перезапуску)
1 – створити

AT+CIPMODE=<mode> Режим наскрізної передачі (дані будуть


передаватися прямо в UART):
0 – нормальний режим
1 - наскрізний режим
У наскрізному режимі перед даними буде додано рядок "+IPD, c, n,", де c –
номер каналу, а n – число отриманих байтів.

AT+CIPSTO=<time> Встановити час очікування сервера. Значення може


бути від 0 до 7200 секунд.
AT+CIUPDATE Оновлення програмного забезпечення модуля

Алгоритм роботи
В Україні проживало понад 40 мілйонів громадян, щодня всі жителі та
відвідувачі нашої країни незамислюючись над цим стають користувачами
державної інфраструктури, або простіше учасниками дорожнього руху.
Всі ми знаємо що ще з давніх часів у всі сфери життя проникали длавила
та порядки, щоб робити це саме життя кращім для всіх, бо свобода одного
закінчується там, де починається свобода іншого. Те саме стосується і
переміщення, від самого давна коли тільки з’явились колісниці люди
домовились між собою хто і як має їздити, щоб уникнути аварій і
неприємностей, згодом час йшов і з’явилися автомобілі, технічний
транспорт який довів свою практичність, але й значно підвищив
смертність на дорогах загального користування, тоді на великих дорогах,
де постійно був високий трафік спочатку поліцеські ( приблизно 10: від
усього штату поліції направляли на регулювання доріг) регулювали
черговість та напрямок дорожнього руху, але через недостачу робочої
сили, та складність виконуваної роботи иникли труднощі з регулюванням
доріг. Прийнято вважати, що перший світлофор з’явився в 1868 році
у Лондоні. Але насправді це був встановлений швидше семафор, на зразок
тих, які використовувалися на залізниці. Він мав дві великі стрілки, які
вручну піднімалися або горизонтально, або під кутом 45 градусів. У
першому випадку сигнал означав «стій», а в другому «увага». Справжній
же світлофор був винайдений у 1914 році – 5 серпня в американському
Клівленді були встановлені перші напівавтоматичні світлофори
конструкції Джеймса Хога. Вони мали червоний і зелений сигнал, а
керував ними поліцейський, який давав дорогу на власний розсуд, що
дозволяло підлаштовуватись потоку під певний час.

І в 1923 році відбулося – чорношкірий винахідник Геррет Морган


запатентував перший автоматичний світлофор, який сам перемикав
сигнали. Як було сказано в пояснювальній записці до патенту, завдяки
цьому приладу черговість проїзду перехрестя ставала незалежною від
особи водія або поліцейського. Тобто автоматичний світлофор
підтверджував один з принципів демократії – всі рівні перед законом.

З того моменту ці пристрої тільки покращувались, набували більш


сучасного вигляду, але вони так і залишались пристроями, працюють
керуючись тільки таймером, або кнопкою, яка запускала цей таймер, потім
для людей з інклюзивністю до світлофорів почали додавати ще й звукові
сигнали, але не дивлячісь на всі ці зміни, це той самий пристрій 1923 року.

Моя пропозиція полягає в адаптуванні данної системи регулювання


дорожнього руху за допомогою цифрових систем і підвищення
функціональності транспортної системи як з точки зору дизайну,
відображення інформації, так і додаванням нового функіоналу на наші
дороги загального користування. Все це має зробити наше життя
якіснішим та безпечнішим, а за можливості і забезпечити дотримання
правил дорожнього руху всіма участниками на дорозі.

На дорогах загального користування щороку відбувається 170 000 ДТП,


нащастя Україна не лідирує в цьому рейтингу, оскільки недивлячісь на
всю корупцію більшість водіїв притримується правил дорожнього руху,
але як і кожна країна світу намагається знизити кількість травмованих, або
смертельних випадків, особливо зараз після декількох років пандемії
коронавірусом та війни, під час якої деяким людям всеодно на правила
дорожнього руху, через що і гинуть робоча сила яка б ще могла принести
користь суспільству.

Основною задачею Світлофору зараз – керування транспортним потоком


на перехрестям, чі переходах, але на мою думку можна покращити
буденний для нас прилад і підвищити його функціональність.

You might also like