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


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

Ad hoc (одноранговая) сеть между двумя NodeMCU 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 может быть также полезна в ситуациях, когда только один ПК имеет доступ к Интернету и этот доступ необходимо сделать общим.

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

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

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

Схема передатчика для Ad hoc сети между двумя NodeMCU ESP8266

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

Собранная на макетной плате конструкция передатчика

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

Схема приемника для Ad hoc сети между двумя NodeMCU ESP8266

На стороне приемника мы просто подключаем 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-дисплее.

Тестирование работы проекта по результатам на OLED дисплее

(Проголосуй первым!)
Загрузка...
11 просмотров

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

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