Рубрики
Проекты на ESP8266

Ad hoc (одноранговая) сеть между двумя NodeMCU ESP8266

В этой статье мы узнаем о связи одной платы NodeMCU ESP8266 с другой платой ESP8266 с использованием Ad hoc (одноранговой) сети. Мы будем отправлять данные с одного ESP8266 на другой ESP8266 по Wi-Fi с использованием ad-hoc, то есть сети устройство-устройство, без использования какого-либо маршрутизатора WiFi. Концепция аналогична построению Mesh сети на основе ESP8266.

На стороне отправителя/передатчика мы соединим водонепроницаемый датчик температуры DS18B20 с платой NodeMCU ESP8266 12E. Мы измерим окружающую температуру и отправим ее на сторону приемника. Сторона приемника состоит из платы NodeMCU ESP8266 вместе с OLED дисплеем SSD1306 0,96″ I2C . Дисплей OLED будет отображать полученную температуру на экране OLED.

Для запуска сети Ad hoc нам будет нужна библиотека веб-сервера. Библиотека ESP8266WebServer позволяет нам запускать ESP8266 как веб-сервер, а также как точку доступа. Веб-сервер может обрабатывать данные, полученные от удаленного датчика по Wi-Fi, без подключения устройств к сети или маршрутизатору. Таким образом, используя WebServer, мы можем иметь связь ESP8266 с ESP8266.

Также на нашем сайте вы можете посмотреть другие статьи, посвященные взаимодействию между двумя NodeMCU ESP8266:

Необходимые компоненты

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Maxim Integrated DS18B20 Programmable Resolution (цифровой датчик температуры DS18B20) (купить на AliExpress).
  3. Модуль OLED дисплея SSD1306 128×64 с интерфейсом I2C (купить на AliExpress).
  4. Резистор 4,7 кОм (купить на AliExpress).
  5. Макетная плата.
  6. Соединительные провода/перемычки.

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Что такое Ad hoc-сеть?

Сеть ad hoc представляет собой сеть, состоящую из отдельных устройств (в нашем случае ESP8266), которые напрямую взаимодействуют друг с другом. Сети ad hoc создаются между двумя или более беспроводными Nodemcu ESP8266 вместе, без использования беспроводного маршрутизатора или точки доступа. Несколько ESP8266 взаимодействуют друг с другом напрямую.

Сети Ad hoc могут быть очень полезны во время встреч или в любом месте, где нет сети и где людям нужно обмениваться файлами. Сеть Ad hoc может быть также полезна в ситуациях, когда только один ПК имеет доступ к Интернету и этот доступ необходимо сделать общим.

Схема проекта

В этом проекте нам понадобятся две схемы — передатчика/отправителя и приемника.

Схема передатчика

На стороне отправителя мы подключили водонепроницаемый датчик температуры DS18B20 к плате NodeMCU ESP8266. Подключите его VCC к 3,3 В платы, а GND — к GND платы. Аналогично подключите его цифровой вывод к выводу NodeMCU D2. Подключите подтягивающий резистор 4,7 кОм между цифровым выводом и выводом VCC, как показано на рисунке ниже.

Схема приемника

На стороне приемника мы просто подключаем 0,96″ SSD1306 I2C OLED-дисплей к плате NodeMCU ESP8266. Подключите его VCC к 3,3 В, а GND дисплея — к GND платы. Подключите контакты SDA и SCL дисплея к D2 и D1 NodeMCU.

Исходный код программы

Давайте посмотрим код для отправителя/передатчика и получателя/приемника. Мы будем работать над ячеистой сетью esp8266, создавая точку доступа ESP8266 и клиента.

Сначала код потребует несколько библиотек. Поэтому загрузите библиотеки по следующим ссылкам:

1. Adafruit_SSD1306 : https://github.com/adafruit/Adafruit_SSD1306
2. Adafruit_GFX : https://github.com/adafruit/Adafruit-GFX-Library
3. Библиотека One Wire : https://github.com/PaulStoffregen/OneWire
4. Библиотека температуры Далласа : https://github.com/milesburton/Arduino-Temperature-Control-Library

Код передатчика

Обязательно измените SSID и пароль WiFi в строках выше.

Код приемника

Тестирование работы проекта

После загрузки кодов на схемы отправителя и получателя нажмите кнопку REST на обоих ESP8266. После нажатия кнопки REST монитор последовательного порта покажет что-то вроде этого.

В обоих разделах ESP8266 подключится к сети Wi-Fi и создаст точку доступа. Затем данные передаются по беспроводной сети через тот же веб-сервер.

Теперь данные о температуре передаются с одного устройства на другое с помощью Ad hoc сети на ESP8266. Вы можете проверить данные о температуре на OLED-дисплее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *