• Система автоматизации с открытым исходным кодом на базе 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...
 
Последнее редактирование:
Сверху Снизу