2016-02-20 7 views
0

Я использую 2 беспроводных модуля esp8266 для установления двунаправленной беспроводной связи между двумя платами arduino (одна мега и одна uno) без использования каких-либо наземных технологий (то есть радиочастот, wifi, которые полагаются на земных сателлитах и ​​т. д.). Мое решение состояло в том, чтобы использовать esp8266 для создания частной сети, где оба esp действуют как станция и точка доступа (AT + CIPMODE = 3). К сожалению, это решение оказалось более сложным, чем того стоило.ESP8266 Связь по точкам с 2 arduinos

Для начала, у меня есть ЭСП каждая подключена согласно этой диаграмме Arduino Wiring Когда я впервые начал, красный светодиод был включен и синий светодиод был выключен. За это время я смог отправить AT-команды, установить сервер и достичь требуемой связи, введя команды непосредственно на последовательный монитор. После этого я начал писать библиотеку, используя библиотеку SoftwareSerial, чтобы позволить мне выводить команды непосредственно через программу для настройки esp по мере необходимости при запуске моего скрипта. Прежде чем это сделать, я изменил скорость передачи данных, чтобы убедиться, что она работает на 9600, и вводит AT-команды на последовательном мониторе, чтобы убедиться, что все работает правильно и все еще работает. После того, как я начал писать библиотеку, перед тем, как загрузить код с тестом на библиотеку, я заметил, что синий светодиод теперь был сплошным. Заметив это, я перезагрузил скрипт barebones (я еще не загрузил код библиотеки в arduino), и esp больше не получал AT-команды.

Означает ли это, что проблема с доской, которую я могу исправить, или это означает, что плата выполнена?

С приближающимися сроками приближения примерно через 3 недели я решаю, что эта беспроводная связь работает, если это проблема с доской, мне придется отказаться от esp и использовать другой способ общения. Поэтому мой второй вопрос: если это так, какие другие жизнеспособные варианты для установления этого сообщения? Я использовал xbee до и в то время как это было бы идеально, они выпадают из бюджета, который я получил, поэтому мне нужно сохранить его ниже 50 долларов за это. Если двунаправленная связь невозможна по этой цене, я могу жить одним способом, потому что мне просто нужно заставить эту систему работать. В основном мне просто нужно передать один байт данных.

ответ

0

Я понимаю, что этот ответ немного запоздал, и я надеюсь, что вы его отсортировали: я начал работать с ESP8266 сам за последние несколько недель, и, следовательно, почему я искал учебники по прямой связи между 2 когда я нашел ваш пост.

Из того, что я смог выяснить, AT-команды являются частью «прошивки», которая поставляется с некоторыми модулями. Однако код Arduino начинает загрузку на чипы по адресу памяти 0x0000, который является тем же адресом, что и инструменты обновления прошивки.

Другими словами, я считаю, что с программой с кодировкой Arduino, работающей там, вы теряете функциональность команды AT.

Если вы нашли инструмент обновления прошивки для ESP8266 (много онлайн), вы получите команды AT.

Я полагаю, хотя реальный вопрос - почему вы хотите? Кажется, что AT-команды - это всего лишь способ лечения ESP как немой антенны WiFi. С кодом Arduino вы фактически рассматриваете его как микроконтроллер в своем собственном праве.