ESP8266 stock ticker monitor

m0nochr0me
3 min readOct 31, 2020

--

Stock ticker — front view

Тикерный монитор на основе модуля ESP-12F и e-paper экрана.
Нехитрое устройство позволяющее следить за курсом акций.

Тикер (ticker symbol) — это уникальный идентификатор биржевого инструмента.

Материалы

  1. Модуль ESP-12F
  2. Экран на основе технологий электронных чернил Waveshare 2.13in V2
  3. Конденсаторы 10uF и 0.1uF по две штуки каждого
  4. Резистор 4.7k
  5. Линейный стабилизатор LM1117–3.3
  6. Распаянный на брэйкаут разъем mini-USB
  7. Двусторонняя макетная плата 7х3cm
  8. Провод 32AWG

Для прошивки модуля потребуется USB-UART преобразователь с выходным высоким логическим уровнем 3.3V.

Схема

Далее нужно проявить свои безумные умения и соединить детали вместе по схеме.

Стабилизатор питания

Стабилизатор вынесен в отдельную схему, потому что он общий для почти всех моих поделок на модулях ESP8266.

Выводы GND, DIN, CLK, CS, DC, RST, BUSY следует, всего лишь, подключить к соответствующим выводам экрана.
VCC экрана это +3.3V на схеме.
Кнопки ESPRST и FLASH нужны для сброса модуля и перехода в режим прошивки.

У меня получилось вот такое месиво и мне норм:

ААаа!

Устройство в моем исполнении не имеет корпуса как такового. Платы закреплены на том, что я называю “микроинфостенд”.
Если вы решите не делать свой корпус, то файлы для печати можно скачать в проекте Onshape.

В слайсере желательно ориентировать модель так, чтобы каплевидные отверстия были направлены острым концом вверх.

¯\_(ツ)_/¯

Код

Получать информацию о текущей цене акций будем с помощью API IEXCloud.
Там нужно зарегистрироваться и создать publishable токен, который затем указать в конфиге.

Так же, в конфиге указываются имя и пароль беспроводной сети, часовой пояс и, собственно, перечень тикеров.

В директорию с проектом еще нужно скачать библиотеку для работы с дисплеем.

Прошивка

Для загрузки прошивки потребуются esptool и rshell.

Я использовал последнюю, на момент написания статьи, стабильную версию micropython 1.13

После подключения модуля через USB — UART преобразователь, с помощью esptool загружается прошивка:

esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect -fm dio -ff 40m 0 esp8266–20200911-v1.13.bin

В моем случае потребовалось использовать режим dio и частоту flash-памяти 40MHz (-fm dio -ff 40m) иначе модуль отказывался стартовать, хотя прошивался успешно.

Далее необходимо загрузить в модуль python код:

rshell -p /dev/ttyUSB0 -b 115200 cp config.py boot.py epaper2in13v2.py main.py /pyboard

Примечания

IEXCloud позволяет бесплатно выполнять 50000 запросов в месяц, поэтому интервал запуска модуля можно уменьшить с одного часа до 9 минут, при условии, что количество отслеживаемых тикеров останется равным 10.

При сборке устройства следует рассмотреть возможность увеличения емкости электролитических конденсаторов до 100uF, особенно если оно будет подключаться длинным и тонким USB кабелем.

--

--