Русские Блоги
Привет всем, я нахожусь в маленьком белом, эта глава записывает SP8266 относительно редкий сценарий приложений и онлайн LAN.
Аппаратные средства: STM32F103C8T6
Главный модуль: WiFi модуль и сами плата PCB (предназначена для этого)
Сначала напишите свое использование вашего использования LORA, Wi-Fi, модуля Bluetooth.
I. Модуль WiFi и модуль Bluetooth аналогичны, но есть несколько пробелов.
Все это настроено на командную команду, а Bluetooth сконфигурирован только один раз, а затем питание включено. После того, как сопряжение успешно, отправка и приемные данные являются контентом, связанным с последовательным портом. легко использовать. Модуль WiFi также может быть пунктирован, но P2P вот не так просто, как отдельные 2 модулей Wi-Fi. Установите модуль WiFi в режим горячей точки, а остальное настроено на клиентский режим. Клиент отправляет данные, а на горячую точку можно получить и метку — это данные, передаваемые модулем. Горячие концы могут отправлять данные (указывая длину передаваемых данных заранее, а также клиента)
Bluetooth не может образовываться локальной сетью, однако ESP8266 может сформировать локальную сеть области при использовании роли шлюза. Следовательно, разработка модуля WiFi сложно развивать трудности в разработке Bluetooth
Второе модуль LORA и ESP8266WIFI
Оба могут быть самостоятельно собраны, все из которых настраиваются через команду AT. Wi-Fi модуль само сети, расстояние передачи между его узлами слишком короткое, а расстояние передачи между модулем LORA и шлюзом может достигать 2 км.
Конечно, сложность LORA сложнее, чем модуль WiFi.
Не много, чтобы сказать, сначала высушите товар.
Как сформировать локальную зону сети: игровой хост, несколько воспроизводимых раб. (Установленная к режиму Hotspot, остальное настроено на клиентский режим) логические диаграммы следующие
Основной узел требует соответствующей аппаратной среды для поддержки передачи его информации. Например, с использованием C8T6 в качестве аппаратной среды одновременно с модулем сбора данных реализовать данные сбора чипов, отправлять данные на шлюз через узел, и Загрузите шлюз в сеть.
Режим хоста:
Модули WiFi связываются с сервером, эта часть была подробно объяснена в предыдущем блоге.
Чтобы сформировать ядро локальной сети, существует 2: (1) передача данных между модулями и модулями (2) модулем загружается на сервер (из режима горячего доступа к режиму клиента)
Трансмиссия модуля Wi-Fi, эффективное расстояние передачи составляет от 10 до 20 метров, чувствует некоторые куриные ребра, но разные проекты, наиболее подходящие модули также различны.
Когда я горжусь модулем, рекомендуется, чтобы у вас была отлаженная плата PCB, которая приводит к последовательному порту, больше приводит к мощности и привести внешний блок. Это значительно снизит время разработки системы. Инструменты, инструменты разработки должны быть завершены,
Я давно не обновил блог, я забыл, как писать блоги. В последние месяцы еще несколько трудностей было сложнее, и есть смысл: самая сложная точка в проекте должна быть обработки данных.
Найдите время спустя, существует больше волны отладки чипов LORA, а также пользовательские протоколы связи.
Создание веб-сервера на основе ESP8266 и платы STM32F103C8
Сфера интернета вещей (Internet of Things, IoT) является одной из активно развивающихся в современном мире. В этой сфере важную роль играют модули ESP8266, которые отличаются широким набором функциональных возможностей при относительно низкой цене. Ранее на нашем сайте мы уже рассматривали следующие проекты тематики интернета вещей на основе модуля ESP8266:
В этой же статье мы рассмотрим подключение модуля ESP8266 к плате STM32F103C8 и осуществим выход в сеть в интернет. Также мы будем передавать данные на веб-страницу, расположенную на веб-сервере, организованном на основе модуле ESP8266.
Необходимые компоненты
- Модуль ESP8266 (купить на AliExpress).
- Blue Pill STM32F103C8 board (отладочная плата STM32, «синяя таблетка») (купить на AliExpress).
- Ноутбук и точка доступа Wi-Fi.
Общие принципы работы модуля ESP8266
Большинство людей называют ESP8266 модулем Wi-Fi, но на самом деле это микроконтроллер. ESP8266 — это название микроконтроллера, разработанного компанией Espressif Systems, базирующейся в Шанхае. Данный микроконтроллер имеет возможность работы с технологией Wi-Fi, поэтому он широко используется в качестве модуля Wi-Fi. Существует множество типов модулей ESP8266, доступных в диапазоне от ESP8266-01 до ESP8266-12. В данной статье мы будем использовать модуль ESP8266-01. Однако все модули ESP имеют только один тип процессора ESP и отличаются только типом используемого интерфейсного модуля. Интерфейсный модуль микроконтроллера ESP8266-01 имеет только 2 вывода GPIO, а другие модули ESP могут иметь большее количество выводов.
Модуль ESP8266 имеет 8 контактов. Его внешний вид и распиновка показаны на следующих рисунках.
Назначение контактов модуля ESP8266:
- 1 – земля, 8 – питание. По документации напряжение подается до 3,6 В – это важно учесть при работе с Ардуино, на которую обычно подают 5 В.
- 6 – RST, нужна для перезагрузки микроконтроллера при подаче на него низкого логического уровня.
- 4 – CP_PD, также используется для перевода устройства в энергосберегающий режим.
- 7 и 0 – RXD0 и TXD0, это аппаратный UART (последовательный порт), необходимый для перепрошивки модуля.
- 2 – TXD0, к этому контакту подключается светодиод, который загорается при низком логическом уровне на GPIO1 и при передаче данных по UART.
- 5 – GPIO0, порт ввода и вывода, также позволяет перевести устройство в режим программирования (при подключении порта к низкому логическому уровню и подачи напряжения).
- 3 – GPIO2, порт ввода и вывода.
К сожалению, модуль ESP8266 не является «дружественным» к макетной плате (breadboard friendly) и поэтому его нельзя на ней непосредственно закрепить.
Для управления работой модуля ESP8266 могут использоваться AT команды. Список AT команд, наиболее часто используемых при работе с модулем ESP8266, приведен в следующей таблице.
Полный же список AT команд, применимых для работы с модулем ESP8266, можно посмотреть по этой ссылке.
Схема проекта
Схема подключения модуля ESP8266 к плате STM32F103C8 представлена на следующем рисунке.
Схема соединений между модулем ESP8266 и платой STM32F103C8 представлена в следующей таблице.
ESP8266 | STM32F103C8 |
VCC | 3.3V |
GND | G |
CH_PD | 3.3V |
TX | PA3 |
RX | PA2 |
Плата SMT32F103C8 имеет три набора портов последовательной связи (UART), их местоположение и рабочее напряжение показаны в следующей таблице.
Последовательный порт | Контакты | Рабочее напряжение |
Serial1 (TX1,RX1) | PA9, PA10, PB6,PB7 | 5V |
Serial2 (TX2,RX2) | PA2, PA3 | 3.3V |
Serial3 (TX3,RX3) | PB10, PB11 | 5V |
Полная распиновка платы SMT32F103C8 представлена на следующем рисунке.
Для взаимодействия между модулем ESP8266 и платой STM32F103C8 используется последовательная связь. С этой целью контакты TX & RX модуля ESP8266 подключены ко второму последовательному порту (serial2 port, контакты PA2 & PA3) платы STM32.
Объяснение программы для платы STM32
Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
Мы будем использовать среду Arduino IDE для написания программы и ее загрузки в плату STM32.
После загрузки кода программы в плату откройте в Arduino IDE монитор последовательного порта связи (Tools>>Serial Monitor). В этом окне вы увидите IP адрес, скопируйте его и вставьте его в строку браузера, в результате этого вы увидите в браузере сформированную модулем ESP8266 веб-страницу. Помните, что ваш компьютер и модуль ESP8266 при этом должны быть подключены к одной и той же Wi-Fi сети.
Первым делом в программе мы инициализируем последовательную связь с монитором последовательного порта и последовательную связь с модулем ESP8266.
Stm32 и ESP8266. Библиотека Си — Newlib. Шаг №86
Всем привет. Рассмотрев в прошлой статье конфигурацию интерфейса USART/UART используя библиотеки CMSIS, HAL для приема/передачи, теперь подключим esp8266 к stm32discovery. Подключение модуля WI-FI к кмикроконтроллеру AVR мы с Вами уже рассматривали. Здесь такой же принцип.
В написании программы используем стандартную библиотеку Си, которая идет вместе с компилятором ARM GCC. Она называется Newlib и представляет собой объединение нескольких библиотек под лицензией открытого ПО. Библиотека была разработана компанией Cygnus Solutions («Cygnus Support») как часть первого GNU набора инструментов для кросс-компиляции. В настоящее время поддерживается разработчиками компании Red Hat Джеффом Джонсоном и Томом Фитцсиммонсом.( https://sourceware.org/newlib /).
CoIDE поддерживает (на вкладке Configure/Link) данный вариант как «base C library» , а также еще один вариант Newlib-nano, (на вкладке «nano С library» ) разработана людьми, которые занимаются поддержкой ARM GCC (рис. ниже). В программе ниже мы используем библиотеку string.h данной библиотеки.
Подключаем модуль ESP8266. Для устройств STM32F303x6 / 8 / B / C / D / E, а в нашем случа stm32f303vct6, требуется рабочее напряжение питания 2,0 В — 3,6 В. Как уже писалось у них есть совместимый 5 вольтовые выводы. Но т.к. наш модуль работает на 3.3 В, то подключимся к 3В выводу на плате.
Перейдем к программе. Ниже выложен исходник. С модулем мы работаем посредством AT-комманд . Переводим модуль в режим TCP-сервера. Обратимся с помощью браузера к серверу и выведем stm32 . Подробные шаги описаны в статье ESP8266 и AVR №57.
int main (void) <
………………………………………….
UART4_Send_String («AT\r\n»);
uart_wite_for («Ok»);
UART4_Send_String («AT+CIPMODE=0\r\n»);
uart_wite_for («Ok»);
UART4_Send_String («AT+CIPMUX=1\r\n»);
uart_wite_for («Ok»);
UART4_Send_String («AT+CIPSERVER=1,88\r\n»);
uart_wite_for («Ok»);
UART4_Send_String («AT+CIPSTO=5\r\n»);
uart_wite_for («Ok»);
while (1) <
UART4_Send_String («AT+CIPSEND=0,5\r\n»);
uart_wite_for («OK»);
UART4_Send_String («stm32\r\n»);
delay ();
>
>
void uart_wite_for (const char * str) < //Функция ожидания ответа.
char result = 0;
while (result == 0) <
FLAG_REPLY = 0;
clear_RXBuffer ();
while (FLAG_REPLY == 0) < //Ожидание установки флага в прерывании
>
result = strspn (RXBuffer, str);
>
>
void clear_RXBuffer (void) //Очистка буффера.
<
for (RXi=0;RXi
RXi = 0;
FLAG_REPLY = 0;
>
void UART4_IRQHandler (void) < //Прерывание по приему
unsigned char data;
.
FLAG_REPLY=1;
RXBuffer[RXi++]=data;
>
На рисунке ниже результат работы ESP8266.
История с терминала
AT
OK
AT+CIPMODE=0
OK
AT+CIPMUX=1
OK
AT+CIPSERVER=1,88
OK
AT+CIPSTO=5
OK
AT+CIPSEND=0,5
IPD,0,431:GET / HTTP/1.1
Host: 192.168.1.34:88
.
OK
> stm32
busy s.
SEND OK
SEND OK-подтверждает успешную передачу.
Исходник:
Выше мы рассмотрели один из способов беспроводной передачи информации. В следующей статье мы вернемся к Android – приложению. И добавим в нашу программу SmartHouse функцию переключения wi-fi сетей, а также попробуем принять данные. На этом сегодня и остановимся. Всем пока.