Укрощение ESP8266 с Arduino IDE

Mrburnette
Чт, 2 июля 2015 г., 13:36
Я написал о своем успехе с ESP8266-01 ViewTopic.PHP?F = 45&t = 385&P = 3546#P3546
Используя это ядро:
https: // github.com/sandeepmistry/esp8266-arduino

Я также использовал родителя для этого распределения с менеджером совета директоров в 1.6.5R2 от Arduino.скандал

Доступный:
Я публикую свои усилия в своем блоге проекта: http: // www.хакерс.io/rayburne/esp8266 ... rduino-ide

Предыдущие попытки использовать «по командам», а отдельный Arduino to Parse-это P-I-T-A. Большие столицы... Большая боль.
Пользователи, использующие LUA, сообщили о утечках и проблемах SRAM... Я даже не ходил туда, так как было слишком много кругов, чтобы прыгать через.

Тем не менее, ядро ​​вкуса Arduino, похоже, хорошо управляет ESP8266. Использование чистого, стабильного источника питания является ключевым. Другие вещи, чтобы отметить:

Не Возьмите GPIO0 непосредственно в GND, чтобы активировать режим программы! Скорее,
силовая,
Отставление GPIO0 с использованием резистора 330 Ом,
питание,
программа*,
силовая,
Снимите GPIO0 с опущенного и подключите, как требуется эскиз (или оставьте плавание.)
Резистор 330 Ом предотвратит любые повреждения UC, если штифт будет случайно привести к высокому состоянию.

* Используйте только 3.3 В серийный модуль. Никогда не используйте серийный конвертер 5 В.

Используйте качественный электролитик настолько близко к плате ESP8266, как практично... Я использую 100 UF

Используйте 1.Резисторы 8K OHM до 3.3V как i2c подтягивания

Код не завершен, но прикрепленный Zip содержит эскиз Arduino для:
  • Init OLED на i2c**
    Сканировать местную зону Wi -Fi
    Сопоставьте SSID с «домом» SSID
    Если домашний SSID найден,
    Соединять,
    Попытка войти в систему
    DHCP
    Отображать IP -адрес
** Примечание:
Мои OLED States 0x78 на задней стороне дисплея. В AVR он испытывает на 0x78. Для ESP8266 он работает только по адресу по умолчанию 0x3c
Вас предупредили.
Разарзанизируйте архив в один каталог... Проект-это набросок с несколькими табачками.
Включает в себя часть основных файлов ESP8266:
  • #include "esp8266wifi.час"
    #включать <Проволока.час>
Смотрите credits_notes.H для OLED -соединений с модулем ESP8266.

Луча

Zoomx
Чт, 2 июля 2015 г., 13:57
Мой OLED тоже написал 0x78, но с поиском адреса i2c на Uno я нашел 0x3c. Никогда не тестировался с другими библиотеками или MCU.

Martinayotte
Чт, 02 июля 2015 г., 15:04
0x78 = (0x3c << 1) ;)
Итак, может быть, китайцы были смущены I2C, обращаясь к адресу ... :ржу не могу:

Mrburnette
Чт, 02 июля 2015 г., 15:19
Zoomx написал:Мой OLED тоже написал 0x78, но с поиском адреса i2c на Uno я нашел 0x3c. Никогда не тестировался с другими библиотеками или MCU.

Martinayotte
Чт, 2 июля 2015 г., 17:18
Сумасшедший, но я тестировал с Arduino Nano (клон) и 0x78! В таком случае, возможно, существует несоответствие между библиотеками Maple Wire и Arduino Wire, изменение на 1 в адресации - оставить место для R/W -бита.
Мы должны сузить его, в противном случае люди всегда сталкиваются с любыми устройствами i2c.

Rogerclark
Чт, 2 июля 2015 г., 22:26
Мартин

Код I2C немного удален, и его относительно легко прочитать (код), но я не буду рядом с нулевыми знаниями на I2C, так что, возможно, кто -то с большим количеством знаний I2C может взглянуть ?

Mrburnette
Чт
[QUOTE = "Martinayotte"
В таком случае, возможно, есть несоответствие между Клен Библиотеки проводов Wire и Arduino, переключение на 1 в обращении - оставить место для бита R/W.
Мы должны сузить его, в противном случае люди всегда сталкиваются с любыми устройствами i2c.[/цитировать]


Просто напоминание, я обсуждаю UC ESP8266, а не STM32F1XX. Вероятно, есть расхождение в библиотеке проводов для 8266. Я держу пари, что Nano работает правильно, поскольку он соответствует шелкостному экрану производителя.

Луча

Martinayotte
Пт, 3 июля 2015 г., 2:16 утра
Лично у меня нет никаких проблем с I2C на STM32.

Итак, это, возможно, связано с OLED LIB, упомянутым выше.

Адрес I2C составляет 7 бит, он смещен на 1 и добавлен (ORED) с R/W. Некоторые библиотеки принимают это в учетной записи, некоторые другие не ... :(

Итак, ошибка где -то в этом расхождении ...

Zoomx
Пт, 3 июля 2015 г., 14:12
Я начал с ADAFRIT_SSD1306, использовал адрес 0x78 и не получил результата. Поэтому я использовал эскиз для обнаружения адресов I2C, который опубликован на игровой площадке Arduino, и нашел 0x3c. Использование 0x3c с библиотекой Adafruit работает для меня.
U8Glib работает тоже, не определяя ни одного адреса.

Martinayotte
Пт, 3 июля 2015 г., 16:29
Привет, Рэй, Просто напоминание, я обсуждаю UC ESP8266, а не STM32F1XX Я посмотрел на свой esp8266 sketch_buffet, и я тоже не вижу никаких расхождений там. MCP23017 действительно составляет 0x20 (не смещен до 0x40), а 24C64 EEPROM находится на 0x50 (не смещено до 0xa0). Таким образом, расхождение должно быть действительно в этой конкретной библиотеке.

Mrburnette
Пт, 3 июля 2015 г., 16:37
На страницах GitHub: https: // github.com/esp8266/arduino
Библиотеки, которые не полагаются на низкий доступ к регистрам AVR, должны работать хорошо. Вот несколько библиотек, которые были проверены на работу:

Arduinowebsockets - Сервер WebSocket и клиент, совместимые с ESP8266 (RFC6455)
арест Библиотека обработчиков API REST.
BLYNK - Easy IoT Framework для производителей (проверьте страницу Kickstarter).
ДалласТемпература
DHT11 - Скачать последний v1.1.0 Библиотека и никаких изменений не требуется. Старые версии должны инициализировать DHT следующим образом: DHT DHT (DHTPIN, DHTTYPE, 15);
Neopixelbus - Библиотека Arduino Neopixel совместима с ESP8266.
PubsubClient Библиотека MQTT от @Imroy.
RTC - Библиотека Arduino для DS1307 & DS3231 совместим с ESP8266.
Soulisis, Smart Home - Framework для Smart Home на основе Arduino, Android и Openhab.
Конечно, соответствующая доска для прорыва должна использоваться для обеспечения доступа к необходимым контактам UC!
Изображение

В дополнение к приведенным ниже общим модулям, Adafruit теперь находится в игре с Huzzah.
Изображение
Луча

Linux Journal