• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

8266_PROG программатор SPI_FLASH \ I2C_EEPROM \ ATTINY \ 1W

pt200

New member
Основное удобство — это отсутствие возни с драйверами( памятую свои приключения с программаторами для AVR: поставь драйвера для прямого доступа к портам, позже с версиями libusb мучался...)

Проект базируется на примере «esp-httpd: webserver on an ESP8266» из UDK.

Наполеоновские планы по реализации верхнего уровня на HTTP / JS разбились о невозможность подключиться к TCP сокету из JS.

ESP выполняет функции шлюза TCP ↔ [ SPI / I2C / 1W / SPI_AVR], а вся остальная логика ложится на верхний уровень( питоновские скрипты)


SPI FLASH( 25x)
Используется аппаратный SPI для ускорения обмена. Есть одна оптимизирующая команда:

MAGIC_CMD_PAGE_WRITE — запись страницы с проверкой.


1W
Подключение:
1W — DIP8.3
GND+VCC — DIP8.4

Реализовано сканирование адресов на шине. Для обнаруженных DS18x20 выведется текущая температура.


I2C( EEPROM 24x)
Чем больше приходится им пользовать - тем больше негативных эмоций. День потерял на ACK: оказывается при чтении мастер( который и так рулит шиной!!!) ACK`ами почему то должен уведомлять ведомое что будет еще получать данные, а вот «в сознании» ли при этом ведомое не ясно!!!
Ладно поплевался и забыл до следующего эпизода.


AVR( ATtiny 8pin) - ПОКА НЕ ПОЛНЫЙ ФУНКЦИОНАЛ
Тут все просто: софтовый 32 битный SPI + управление пином GPIO4 / RST


Схему/плату не рисовал — не вижу смысла( модуль ESP + панелька DIP8), все должно быть понятно из таблички подключения:

8266_PROG_connections.png

Тестировал на:
  • 25Q32FVSIG, 25Q64FVSIG
  • 24с02, 24с512
  • 18B20( несколько в параллель)


GitHub - pt200/8266PROG: ESP8266 programmer SPI_FLASH \ I2C_EEPROM \ ATTINY \ 1W
P.S. Собираю esp-open-sdk. Можно и UDK, но придется править makefile'ы. Скрипты под Python3

WP_20170331_004.jpg WP_20170331_006.jpg WP_20170331_010.jpg
 
Последнее редактирование:

pvvx

Активный участник сообщества
Наполеоновские планы по реализации
любого использования ESP8266 в качестве устройства с замещением-выносом монитора любой поделки на экран смарта или компа давно уже разбились об глючность драйверов WiFi и SDK от Espressif и самого чипа ESP8266. У многих устройств измерения и прочей "домашней лабы" требуется передача данных на комп для обработки или наоборот. Использовать на каждом устройстве свои мониторы и списывать данные на бумажку... :(
Но ESP8266 очень "трусливый" чип - боится любой маленькой помехи по проводам, возникающей при коммутации таких устройств - рабочих соединений с внешней схемой, что и требуется в таких устройствах.
Написать ПО нет проблем, но использовать ESP8266 в "домашней лабе" пока не выходит. Все модули с ESP8266 вечно виснут, перегружаются, теряют связь (отваливается station) при работе в таких условиях. Стандартных тестов ESD на модули с али с ESP8266 никто и никогда не делал, проверок на совместимость и правильную работу по протоколам WiFi (даже согласованию антенн на их платах и правильному выбору типа применяемого стеклотекстолита для разведенной на них антенны) - аналогично. На другие чипы эти отчеты гордо производит каждый производитель-продавец модулей, но на ESP8266 их нет - наверно совсем плохо с ними и выкладывать бояться. В итоге чип не имеет никаких сертификатов или сторонних тестов, кроме (возможно липового) сертификата от Espressif на уровень помех в WiFi (на 100 мВт) :) Но нам то не сертификаты нужны, а нормальная и стабильная работа, которую Espressif на своем чипе ESP8266 с SDK не может обеспечить уже несколько лет...

Вот вы пытаетесь вывести сигналы с чипа на несколько МГц длинющими проводами. У ESP8266 нет переключателя скорости нарастания фронтов на I/O (ограничения тока, как это есть у некоторых других процов - STM к примеру). При работе такой “внешней шины” он начинает сам себе глушить прием WiFi. В итоге работает только при 1 метре до роутера, в зоне сильного сигнала. Без схемы, с установкой хотя-бы резисторов на внешнюю шину программирования такое дело не пойдет.
Так что в этом деле главное не ПО, а совокупность и обход-решений глюков SDK от Espressif и схемотехника. ПО - второстепенно и подстраивается под описанные условия.
За два года это проблемы никто не решил и нет ни одного устройства с ESP8266 адаптированного для использования в "домашней лабе". Удачи в решении этих вопросов, а слепить тестовое устройство работающее пять минут в специальных условиях при неусыпном присмотре над ним можно и на Arduino...
 
Последнее редактирование:
Сверху Снизу