gc986 / SmartResponseXE-Memos

Мои заметки по SmartResponseXE

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SmartResponseXE-Memos

Оглавление

Чем интересено это устройство? Тем что построено на основе микроконтроллера ATmega128RFA1, у него есть встроенная клавиатура и замечательный монохромный дисплей. А чем же интересен микроконтроллер (ATmega128RFA1)? Он имеет встроенный передатчик работающий по стандарту ZigBee. И к тому же, эти железки (SmartResponseXE) есть в асортименте на Ebay, т.к. в своё время их закупали в больших количествах в школы, а сейчас продают по 10$ за пару штук.

Ссылки/Документация

Схемы добытые путём реверс инженеренгом и зоркими глазами - https://github.com/fdufnews/SMART-Response-XE-schematics

Оригинальный datasheet на чип ATmega128RFA1 (5mb!) - https://github.com/gc986/SmartResponseXE-Memos/blob/main/docs/ATmega128RFA1_Datasheeta.pdf

SparkFun

Репозиторий для Arduino, по управлению клавиатурой и экраном для SmartResponseXE - https://github.com/bitbank2/SmartResponseXE (копия в текущем репозитории "archive/SmartResponseXE-master.zip")

Мой форк репозитория управления клавиатурой и экраном для SmartResponseXE - добавил функции для попиксельного рисования квадратов и линий - https://github.com/gc986/SmartResponseXE

Переделка SmartResponseXE в Arduino-SmartResponseXE

Чтобы переделать терминал сбора данных SmartResponseXE в Arduino, нужно немного доработать само ус-во (вывести на ружу порты для программирования платы), и залить загрузчик. После этого, ус-во будет вести себя как обычный прокаченный Arduino, с дисплеем, клавиатурой и беспроводным интерфейсом.

Ниже приведёна последовательность разбора устройства. Устройство собрано на редкость хорошо, все пазы на месте, прямо такое антивандальное ус-во для использования в школах. Теме не менее будьте аккуратны при разборе, и не забудьте про винтик под батарейным блоком:

1

2

3

4

5

6

7

8

9

10

Подключение к ISP (загрузка прошивки)

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


Для подключения и использую стандартные провода для макетирования, предварительно отрезав крайнюю часть. Очень удобно что в корпусе терминала есть технологические отверстия. В них удобно протянуть провода и закрутить в узел чтобы в дальнейшем они не имели шанс быть выдернутыми.


После того как вы припаяите провода, у вас может получиться следующий результат:

Нехватка прав при попытке прошить плату в Linux с помощью avrdude

Если при попытке прошить SmartResponseXE в Linux с помощью avrdude вы сталкиваетесь с ошибкой нехватки прав:

avrdude: usbdev_open(): cannot open device: Permission denied

То вам помогут вот эти команды:

echo "SUBSYSTEM==\"usb\", MODE=\"0660\", GROUP=\"$(id -gn)\"" | sudo tee /etc/udev/rules.d/00-usb-permissions.rules
sudo udevadm control --reload-rules

! Переподключите программатор/устройство и только после этого новые правила вступят в силу !

Данные команды делает вашего пользователя Linux неограниченным пользователем USB устройств. С точки зрения безопасности это плохо, так как любой код запущенный от вашего имени будет иметь неограниченный доступ к USB устройствам, но с другой стороны ничего лучше не получилось сделать, так как разработчики avrdude работают с данными USB устройства напрямую, в обход стандартного протокола работы с USB. (оригинал snapcrafters/arduino#10)

Особенности технической реализации SMART Response XE (клавиатура+uart)

Нога пятого столбца клавиатуры (клавиши 5, T, G, V), подключены на порт реализующий интерфейс подключения UART, поэтому одновременное использование UART и клаиватуры невозможно в нормальном режиме (при нажатии на клавиши пятого столбца будут происходить сробатывания десятого ряда клавиатуры, например при нажатии на клавишу T, систему будет определять что нажата клавиша P)

About

Мои заметки по SmartResponseXE