В чем разница между "ESP8266WiFi.h" и AT-командами? - PullRequest
0 голосов
/ 28 августа 2018

Меня смущает, что некоторые люди используют ESP8266WiFi.h библиотека , а некоторые люди используют AT-команды для подключения WiFi-модуля к Arduino.

Они работают одинаково или нет?

Есть ли какие-либо проблемы с библиотекой , или библиотека для какой-то другой цели и AT-команды для другой цели?

1 Ответ

0 голосов
/ 29 августа 2018

Это отличный вопрос. Это определенно не очевидно из большей части кода и многих вопросов, которые люди пишут.

Когда ESP8266 впервые появился, он использовался только для подключения других процессоров к Wi-Fi. Он поставляется с работающим программным обеспечением, обеспечивающим поддержку TCP / IP и Wi-Fi. Вы бы подключили его к Arduino или другому процессору и управляли им с помощью AT-команд. Но вы не изменили бы программное обеспечение, которое работало на самом ESP8266.

Многие люди все еще используют его таким образом, но оказывается, что ESP8266 способен (или более способен), чем некоторые из процессоров, которые использовали его для подключения к Wi-Fi. Поэтому разработчики собрали наборы инструментов для создания программного обеспечения, которое будет работать на самом ESP8266. Они даже портировали Arduino SDK, чтобы вы могли запускать на нем программы «Arduino» (даже если это не Arduino).

ESP8266Wifi.h - это файл заголовка, предназначенный для программного обеспечения, предназначенного для запуска на ESP8266, в отличие от программного обеспечения, созданного для работы на Arduino или другом процессоре, который использует ESP8266 для подключения к Wi-Fi. Когда вы создаете программное обеспечение для запуска непосредственно на ESP8266, оно заменяет программное обеспечение, которое реализует AT-команды, хотя вы можете переустановить его позже, если хотите.

Поэтому, когда вы видите проект, использующий ESP8266.h, он предназначен для сборки и запуска непосредственно на ESP8266 . Когда вы видите проект, использующий AT-команды, он предназначен для запуска на втором процессоре (скорее всего, на Arduino), который использует ESP8266 для связи.

Существуют также библиотеки, такие как https://github.com/itead/ITEADLIB_Arduino_WeeESP8266, которые помогают Arduino общаться с ESP8266 - они скрывают AT-команды и предоставляют простой набор вызовов функций для выполнения действий AT-команд. Это работает на Arduino, AT-команды все еще используются, но программисту не нужно беспокоиться о них.

Существуют также другие языки, такие как LUA и Python, которые работают на самом ESP8266. Опять же, они заменяют программное обеспечение AT, с которым оно впервые пришло.

...