Исходя из архитектуры сети, требуется конфигурация таких аппаратных средств как: маршрутизатор, веб-сервер и непосредственно Wi-Fi Bee модуль.
В маршрутизаторе производится настройка DHCP сервиса, DDNS, IP forwarding. Поскольку роутер не имеет внешнего статического IP-адреса, используется сервис D-Link DDNS, который позволяет назначать постоянное доменное имя устройству (компьютеру, сетевому накопителю) с динамическим IP-адресом. Это может быть IP-адрес, полученный по DHCP или по IPCP в PPP-соединениях (например, при удалённом доступе через модем). Другие машины в Интернете могут устанавливать соединение с этой машиной по доменному имени и даже не знать, что IP-адрес изменился. Веб-серверу задаётся статический IP-адрес в локальной сети и проводится регистрация доменного имени.
Используемый веб-сервер Winginx - это комплекс локального веб-сервера под Windows для разработки на PHP и Node.js с использованием баз данных MySQL, MongoDB, Redis, memcached.
Настройка ПО Wi-Fi Bee для работы с беспроводной сетью
Настройка Wi-Fi модуля производится с помощью специального программного обеспечения. Проанализировав выбор данного программного обеспечения было принято решение об использовании программы SSCOM3.2. Непосредственно настройка Wi-Fi модуля производится следующим образом:
1. Перевод джампера платформы в положение “USB”
2. Подключение платформы Arduino USB кабелем к ПК
3. Конфигурация с помощью АТ-команд через ПО SSCOM3.2
Приведем пример настройки Wi-Fi Bee модуля. Во первых необходимо выбрать номер serial порта и щёлкнуть на кнопку "Open Com" и установить baud rate на 9600. Далее необходимо ввести AT команду “$$$”, после этого программа выведет сообщение "CMD", что говорит нам об успешном входе в режим конфигурирования. Затем следует поставить галочку напротив "SendNew" и отправить следующую AT команду «set u b 9600» чтобы установить скорость передачи 9600 бод. Можно установить другую скорость, вплоть до 38400 бод. Дальше следует ввести команду «show net» в строку ввода команд, для отображения информации о сети. Ввести «scan» для просмотра всех “видимых” для Wi-Fi Bee сетей. Отправить АТ команду «set wlan join 1» для автоматического подключения к сети, которая находится первой в списке “видимых”. Ввести «set wlan ssid» имя_сети, затем «set wlan pass» пароль_сети, где имя_сети и пароль_сети ввести от подключаемой WiFi сети. Отправить «save» для сохранения текущей конфигурации, а затем «reboot» для перезагрузки. Главное окно программы SSCOM3.2 представлено на рисунке 4.
Рисунок 5 - интерфейс программы SSCOM3.2
Реализация соединения
Принципиальная схема реализации соединения между веб-интерфейсом и роботизированной платформой изображена на рисунке 5.
Рисунок 6 - взаимодействие клиента с роботизированной платформой на сетевом уровне
Как видно из схемы, связь между роботизированной платформой и веб-интерфейсом осуществляется через php-скрипт “socket.php” расположенный на веб-сервере на базе Winginx, который обрабатывает POST запросы с пользовательского интерфейса при помощи cуперглобальной переменной $_POST, создаёт TCP/IP сокет при помощи функции socket_create(AF_INET, SOCK_STREAM, SOL_TCP); , устанавливает соединение по заданной паре: IP-адрес, порт которые инициализированы одноименными переменными $address и $port, с Wi-Fi bee модулем и отправляет данные функцией socket_write($socket, $data);.