Модуль Wi-Fi на основі модуля WizFi250





В той час як найкращі світові думки про способи інтернету речей та перспективні казкові прибуткові компанії, які залучені до високих технологій, ми вирішили не сидіти належним чином. Під ріжучою – історія про розмітку пристрою керування лампочками на основі модуля Wi-Fi WizFi250.

По-перше, трохи про модуль Wi-Fi WizFi250. Зовнішній вигляд - картина:



3610Р. 4200Р.

Модуль підтримує стандарти IEEE 802.11b/g/n та керовані командами AT через інтерфейс UART (або SPI) або через веб-інтерфейс. Повний опис команди WizFi250 AT можна знайти тут.

Модуль має антена PCB, але також підключена зовнішня антена. Переключення антени автоматично або AT+WANT команди. Антена PCB може бути відключена (передача доступна) - тоді розмір модуля буде зменшено до 17 х 20 мм.

Дротові інтерфейси: UART, SPI, GPIO.

Виробник - WizNet, Корея, ось модуль Dataset WizFi250.

Для тестування є дошки в стилі Arduino UNO Wi-Fi:



Але це «у стилі», як для спільного використання з Arduino, вони повинні бути трохи модифікованими. Це те, що ми будемо використовувати при моделюванні в поєднанні з дошкою Arduino UNO.

В цілому, план є наступним чином: для спілкування над Wi-Fi, використання модуля WizFi250, для контролю модуля та лампочки - Arduino UNO, управління командами для передачі з телефону або планшета над Wi-Fi у вигляді UDP або TCP-пакетів.

До речі, модуль має 2 корисні висновки індикатора:

(1) WiFi_STATUS: низький рівень - Wi-Fi почався, високий рівень - Wi-Fi вимкнено.
2) MODE_STATUS: високий рівень – режим команд, низький рівень – Режим даних.

На приладовій дошці ці сигнали відображаються на світлодіодах «Wi-Fi» та «Mode», відповідно, що зручно для розвантаження.

Напруга живлення WizFi250 та вхід-виход - 3.3 V. Arduino UNO - п'ять-вольт, тобто для керування модулем Wi-Fi необхідно погоджуватися на рівні. Дошка відключення WizFi250 має два чіпси чотирьохканальних перетворювачів рівня TXS0104EPWR, один з яких, IC4, використовується для інтерфейсу SPI, іншого, IC5 для RESET і GPIO14 Wi-Fi модульних сигналів. Але не передбачено перетворення рівня інтерфейсу УАРТ на платній платі WizFi250. Це те, що я мав на увазі, коли я написав трохи про це.

В теорії, щоб перетворити рівні ліній Rx і Tx UART, можна спробувати використовувати інші два канали перетворювача IC5, але ви не хочете дотримуватися тонких ніжок рівня перетворювача чіпа і модифікувати відбілювання, тому ми використовували старий спосіб перетворення рівнів сигналу за допомогою пари перетворювачів:

доб.

Схеми прості, можливо, єдиним трюком є використання резистора 1kom (R3) на виході 5B -> 3.3V конвертер. При використанні резистора більшої деномінації, схема працює некоректно, це все про те, що дві виходи відповідають в одній точці: чіп FTDI FT232 і наші домашні. Не добре, але для макета цілком прийнятний.
В результаті наша плата відключення WizFi250 з домашньою напругою перекладач виглядав таким чином:

, Україна

Модуль може працювати в двох режимах: точка доступу (AP, точки доступу, коли підключені інші пристрої Wi-Fi) або клієнт (STA, станція, коли він підключений до точки доступу.

Ви можете встановити різні налаштування безпеки (шифрування), вимкнути / вимкнути внутрішній веб-сервер.
Модуль підтримує UDP Server/Client, TCP Server/Client та TCP Secured Server/Client режими.
Ви можете встановити будь-який режим даних (Data Mode, прозорий режим, модуль UART дано чисті дані, які надходять над TCP або UDP, модуль керування не сприймається), або режим команд (Command Mode, дані надсилаються і видаються до UART в розділі «підгузники», модуль продовжує отримувати команди. Перехід з режиму даних для командного режиму за допомогою традиційних +++.

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

Ось кілька прикладів ініціалізації модуля:

1,1 км Якщо потрібен режим точки доступу, сервер UDP і режим даних, то послідовність команд ініціалізації буде наступним чином:
  • AT+WSET=1,WizFi250 – встановити режим WizFi250
  • AT+WSEC=1, WPA2,12345678 – встановити режим безпеки та пароль
  • AT+WNET=0.192.168.10.1,255.255.255.0,0.0.0.0 – опис IP-адреси та маски підмереж (у випадку точки доступу, ігноруються перші та останні параметри)
  • AT+WJOIN запускає Wi-Fi
  • AT+SCON=O,USN,,7777,1 – сервер UDP, порт 7777, режим даних.

2,2 км Якщо вам потрібен режим роботи, сервер TCP і режим команд:
  • AT+WSCAN=WizFi250 - сканування точки доступу імені WizFi250
  • AT+WSET=0,WizFi250 - встановити режим станції, назву точки доступу
  • AT+WSEC=0, WPA2,12345678 - опис режиму безпеки, пароль
  • AT+WNET=0,192.168.10.2,255.255.255.0,192.168.10.1 – DHCP off, IP-адреса, маска підмереж, шлюз
  • AT+WJOIN - Підключення до точки доступу
  • AT+SCON=O,TSN,7777.0 – Запуск серверу TCP, порт 7777, режим команд
Після ініціалізації модуля Wi-Fi ми можемо лише проаналізувати дані, що надходять від модуля через UART, і вимкнути нашу лампу освітлення при отриманні відповідних команд.
Ардуїнський ескіз навряд чи має сенс тут, щоб дати: це найбільш спрощений і я не думаю, що хтось буде корисний / цікавий.

Схема перемикання лампочки складається з п'ятивольтної реле, поперечного ключа і пари дискретних компонентів:



GPIO 13 був використаний як контрольний вихід Arduino (лінія ініціалізації: pinMode(13, OUTPUT);
В цілому макет вийшов наступним чином:



У чорній коробці є джерело живлення ~220V -> =9V.

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

Інші варіанти - це використання можливостей вбудованого WEB-сервера модуля управління GPIO (5 одиниць) і можливість налаштування прошивки модуля виробником. Обидва варіанти цікаві тим, що вони дозволяють зробити без зовнішнього контролера / процесора. Але це ще одна історія.

P. S. Я спробую додати відео трохи пізніше.

Джерело: geektimes.ru/post/242002/