Проблема при регистрации токена — как решить?
Проблема при регистрации токена — частая ошибка, которая проявляется на сайте РЖД при оплате билетов.
Токен — это уникальный идентификатор(стока типа 23hjsdfjsdhfjhj2323dfgg), которая формируется когда вы заказываете билет. Это как бы ваша сессия оплаты. Ошибка возникает на стороне сервера оплаты.
Решений может быть два
- Проблемы на сервере РЖД. Сервер оплаты очень занят и перегружен из-за числа заказов. Возможно на нем ошибка. Рекомендуем в этом случае попробывать повторить оплату позднее
- Токен Истек. Это вина того, кто платит. Рассмотрим ситуацию: если вы оформили билет, а потом отошли от компьютера на полчаса, а потом вернулись и нажали оплатить. Ваш заказ аннулирован, т.к. вы не оплатили вовремя. При оплате вы получите ошибку. Нужно заново купить билет и оплатить его в течение 10 минут.
если глупо тестировать на устройстве или эмуляторе, что должны я делаю?
вы, вероятно, используете компьютер для работы над проектом Arduino. Этот компьютер буквально тысячи раз быстрее, чем микроконтроллер. Напишите тесты для сборки и запустить на компьютере.
помните, что поведение библиотеки Arduino и микроконтроллера должно быть предполагается, что либо правильно, либо по крайней мере последовательно неправильно.
когда ваши тесты производят вывод вопреки вашим ожиданиям, тогда у вас, вероятно, есть недостаток в вашем коде, который был протестирован. Если ваш тестовый вывод соответствует вашим ожиданиям, но программа не ведет себя правильно, когда вы загружаете ее в Arduino, то вы знаете, что ваши тесты были основаны на неправильных предположениях, и у вас, вероятно, есть дефектный тест. В любом случае вам будет дано реальное представление о том, какими должны быть ваши следующие изменения кода.
Почему analogRead() возвращает значение от 0 до 1023?
Это связано с разрешением АЦП. Разрешение (в рамках этой статьи) — это степень, в которой что-то может быть представлено численно. Чем выше разрешение, тем выше точность, с которой что-то можно представить. Мы измеряем разрешение в терминах количества бит разрешения.
Например, 1-битное разрешение позволит использовать только два (два в степени одного) значения — ноль и единицу. 2-битное разрешение позволило бы получить четыре (два в степени двух) значения — ноль, один, два и три. Если мы попытаемся измерить диапазон в пять вольт с двухбитным разрешением, а измеренное напряжение будет равно четырем вольтам, наш АЦП вернет числовое значение 3 — при падении четырех вольт между 3,75 и 5В. Проще представить это с изображением выше.
Таким образом, в нашем примере АЦП с 2-битным разрешением может представлять напряжение только с четырьмя возможными результирующими значениями. Если входное напряжение падает между 0 и 1,25, АЦП возвращает цифру 0; если напряжение падает между 1,25 и 2,5, АЦП возвращает числовое значение 1. И так далее. С диапазоном АЦП нашего Arduino от 0 до 1023 — у нас есть 1024 возможных значения — или от 2 до 10, поэтому у наших Arduino есть АЦП с 10-битным разрешением.
Отладочные платы и средства разработки для USB
Программатор-отладчик PICkit2 (номер для заказа PG164120) Наличие бутлоадера позволяет заливать свое программное обеспечения для освоения навыков работы с USB |
|
Отладочная плата PICDEM FS-USB (номер для заказаDM163025) предназначена для разработок и демонстрации устройств на микроконтроллере PIC18F4550 с шиной USB2.0. На плате установлен контроллер PIC18F4550 в корпусе TQFP44. |
|
Low Pin Count USB Develpment Kit (номер для заказа DM164127) Отладочная плата Low Pin Count USB Development Kit предоставляет легкий путь для оценки возможностей микроконтроллеров 20-и выводных USB микроконтроллеров Microchip PIC18F14K50 и PIC18F13K50. Комплект включает все необходимое для начала работы с USB контроллерами (программное обеспечение, исходные файлы примеров, документацию). |
|
PIC18F87J50 Full Speed USB PIC18F87J50 FS USB Demo Board (номер для заказа MA180021) Плата PIC18F87J50 FS USB Demo Board служит для отладки Full Speed USB 2.0 микроконтроллеров семейства PIC18F87J50. Помимо автономной работы плата так же может использоваться как процессорный модуль для платы PIC18 Explorer Board. |
|
PIC24 Starter Kit (номер для заказа DM240011) Комплект разработчика PIC24F Starter Kit содержит все необходимое для начала работы с высокопроизводительными контроллерами семейства PIC24F. Этот недорогой комплект содержит интегрированный внутрисхемный отладчик и программатор, контроллер PIC24F с интерфейсом USB (на плате могут быть реализованы функции Host и Device), трехцветный светодиод, емкостная сенсорная панель и графический OLED дисплей. Демонстрационная программа через графическое меню позволяет осуществлять запись данных на внешний USB Flash Drive, осуществлять настройку сенсорной панели и запускать графические задачи. |
|
PIC32 USB Board (номер для заказа DM320003) Позволяет освоить модуль USB-OTG в контроллерах PIC32 |
|
Отладочная плата Explorer 16 Development Board (номер для заказа DM240001) это дешевое средство отладки для ознакомления и начала работы с высокопроизводительными семействами 16-и разрядных микроконтроллеров PIC24 и контроллерами цифровой обработки сигналов dsPIC33F. | |
Дочерняя плата USB PICtali Plus (номер для заказа AC164131) совместно с USB процессорными Plug-In модулями позволяет разрабатывать и отлаживать USB устройства Host, Device, USB-OTG. |
Размер скетча слишком большой (Sketch Too Large)
Эта ошибка происходит когда размер кода программы больше чем объем перепрограммируемой памяти (flash memory, памяти для хранения программ) используемой вами платы Arduino. К примеру, объем этой памяти в плате Arduino Uno составляет 32 Кбайта, из которых 2 Кбайта заняты загрузчиком. Если вы попытаетесь загрузить в данную плату скетч объемом более 32 Кбайт, то увидите подобную ошибку.
Решение
Для решения этой проблемы модно использовать следующие способы уменьшения объема кода программы:
- Там, где это возможно, используйте целые типы данных (integer) вместо вещественных (float).
- Там, где это возможно, используйте при объявлениях переменных спецификатор “const”.
- Подключайте в программу только те библиотеки, которые вы будете использовать. Там, где это возможно, используйте облегченные версии используемых библиотек.
- Используйте специальные алгоритмы и другие способы уменьшения объема кода программы.
Более радикальным решением этой проблемы является смена платы Arduino на плату с большим объемом памяти. Например, плату Arduino Uno можно заменить на плату Arduino Mega, или даже на плату Arduino Due.
Убедитесь, что внутренние кабели подключены
Первое, что нужно учитывать — подключены ли внутренние кабели к портам USB 3.0. Это будет иметь значение, только если у вас есть компьютер и вы пытаетесь использовать порты USB на передней панели.
Если вы боретесь с портами USB 3.0 на задней панели вашего ПК или ноутбука, вы можете пропустить это предложение. Вам нужно будет открыть корпус для доступа к материнской плате. Сначала выключите компьютер и отсоедините его от стены.
Изображение у нас выше, предоставленное ASUS,
демонстрирует, как выглядит USB-кабель и где его нужно подключить. Текст
‘USB 3’ Обычно вы найдете это в нижней части материнской платы. Делать
уверен, что это связано — если это так, вам хорошо идти.
Если нет, вы сможете найти свободные
USB 3.0 кабель и подключите его. Если вы не можете найти тот, который выглядит как изображение
показано выше, это может быть потому, что ваш компьютер не имеет портов USB 3.0
на передней.
Изменить букву диска
В некоторых случаях сообщение об ошибке может быть вызвано неправильной буквой диска. Когда вы подключаете диск к компьютеру, операционная система назначает ему букву диска, которая используется для доступа к диску и файлам внутри него. Если буква диска неверна, вы не сможете получить к нему доступ, поэтому отображается сообщение об ошибке. Эту проблему легко решить, изменив букву диска с помощью средства управления дисками. Для этого следуйте приведенным ниже инструкциям:
- Прежде всего, откройте меню «Пуск» и найдите «Управление дисками». Открой это.
- В открывшемся окне «Управление дисками» щелкните том диска правой кнопкой мыши и выберите параметр «Изменить букву диска и путь».Открытие окна изменения буквы диска и путей
- В появившемся окне нажмите кнопку «Изменить».Изменение буквы диска
- В раскрывающемся меню выберите неиспользуемую букву диска и нажмите OK.Назначение диску новой буквы
- Сделав это, снова щелкните том правой кнопкой мыши и выберите параметр «Пометить раздел как активный».
- После этого перезагрузите компьютер.
- После того, как ваш компьютер загрузится, откройте диск через проводник Windows, чтобы проверить, сохраняется ли сообщение об ошибке.
Причины поломки
Оснований для выхода порта из строя много. Вот самые распространенные причины:
- Механический износ. После долговременного использования разъем может деформироваться, разболтаться. Также это происходит после падения устройства на твердое основание. Данная поломка проявляется видимыми повреждениями. Стенки порта сильно выгнуты и смещены.
- Окисление контактов. Это происходит в процессе просачивания в корпус влаги. Если долгое время пользоваться гаджетом во влажной среде, подобной проблемы избежать довольно сложно.
- Повреждение южного моста. Довольно часто одновременно со слотом LAN выходит из строя иная периферия – USB-порты, а также жесткий диск. Данное явление происходит по вышеописанным причинам или при окислении южного моста. Речь идет о специальной микросхеме на плате, которая отвечает за управление периферийными устройствами. В этом случае придется осуществлять замену платы.
Поломка может произойти по разным причинам, начиная от неправильно настроенного ПО и роутера и заканчивая обычным перегибом кабеля и механическим повреждением сетевой карты. Нужно тщательно разобраться в особенностях поломки, чтобы сделать правильные выводы и предпринять нужные действия.
Команды библиотеки EEPROM.h Arduino
EEPROM.read(address) Считывает один байт из EEPROM Arduino по адресу address |
|
EEPROM.write(address, value) Записывает один байт со значением value в EEPROM по адресу address |
|
EEPROM.update(address, value) Аналог функции write(), но новые данные в ячейку записываются только тогда, когда они отличаются от уже записанного. Использование данной функции позволяет продлить жизнь памяти EEPROM. |
|
EEPROM.get(address, data) Считывает из EEPROM Arduino любой тип данных по адресу address. При этом данные (data) могут быть любого типа, например, int или float. |
|
EEPROM.put(address, data) Записывает в EEPROM Arduino любой тип данных по адресу address. Функция записывает в ячейку только отличающиеся данные. |
|
EEPROM[address] Позволяет обращаться с байтами EEPROM Arduino как с массивом. Байты можно считывать и записывать. |
3 ответа
12
Подключите плату к USB-порту вашего компьютера и убедитесь, что зеленый индикатор питания на плате подсвечивается. Стандартные платы Arduino (Uno, Duemilanove и Mega) имеют зеленый светодиодный индикатор питания, расположенный рядом с переключателем сброса.
Оранжевый светодиод возле центра платы (обозначенный «LED 13 LED» на изображении ниже) должен включаться и выключаться при включении платы (платы поставляются с заводского предустановленного программного обеспечения, чтобы мигать светодиодом, как просто проверьте, что плата работает).
Если индикатор питания не загорается, когда плата подключена к компьютеру, плата, вероятно, не получает питание.
Мигающий светодиод (подключенный к цифровому выходу 13) управляется кодом, работающим на плате (новые платы предварительно загружаются с помощью эскиза Blink). Если светодиод Pin 13 мигает, эскиз работает правильно, что означает, что чип на плате работает. Если зеленый светодиод питания горит, но светодиодный индикатор 13 не мигает, возможно, заводской код не находится на чипе. Если вы не используете стандартную плату, у нее может не быть встроенного светодиода на контакте 13, поэтому ознакомьтесь с документацией для получения подробной информации о вашей плате.
Онлайн-руководства для начала работы с Arduino доступны для Windows , для Mac OS X и для Linux .
5
Предположим, что у вас есть USB-программист, есть еще один способ проверить Arduino.
Подключите программиста к выводам ICSP Arduino и вызовите с правильными параметрами, чтобы прочитать предохранители вашего Arduino.
Для Arduino Uno есть . зависит от используемого устройства. В моем случае (mySmartUSB light) поддерживается, а — . Здесь
дает следующий вывод
Совет UNO отвечает правильной подписью и готов к действию:)
Как подключиться?
Мой USB-программист поставлялся с 6-проводным ленточным кабелем с 2×3 гнездовыми разъемами с обеих сторон. Как обычно, провод для контакт 1 отмечен красным. Из-за выреза на штыревом разъеме 2×3 программиста кабель подходит только в одном направлении.
Если вы посмотрите на Arduino UNO, заголовок ICSP находится справа от кнопки сброса.
Пинаут выглядит следующим образом.
MISO 1 2 VCC SCK 3 4 MOSI RESET 5 6 GND
ПРИМЕЧАНИЕ Контакт 1 — верхний левый, отмеченный белой точкой!
1
Если у вас есть другой, работающий, Uno, и оба имеют микросхемы с микросхемой сокетов, вы можете использовать известную плату для программирования тестового эскиза на чипе неизвестной платы, вернуть его на неизвестную плату и запустить его.
Мне нравится следующий (псевдокодированный) тестовый эскиз для быстрой проверки моих ручных плат; это так же удобно для тестирования неизвестного заводского. Это не исчерпывающий тест, он просто проверяет основные цифровые входы /выходы, серийный ввод-вывод и шорты или открывает:
-
Светодиод тестирования — светодиод с его припаянным к нему резистором — подключенный между любыми входами и выходами должен мигать каждые 2 секунды. Если это не так, этот вывод может быть неудачным или иметь плохое соединение.
-
Два индикаторных светодиода, подключенных к цифровым соседним контактам (они могут не быть физически рядом друг с другом) должны последовательно мигать. Если они мигают вместе, это указывает на короткий, возможно, паяный мост между ними.
-
Терминал должен сказать «Hello World!» каждые две секунды. Если нет, этот вывод или кабель FTDI или встроенный чип USB /Serial могут оказаться неработоспособными.
-
Введите что-то на клавиатуре, и его необходимо повторить на последовательном терминале (если предыдущий тест прошел). Если нет, снова может произойти сбой этого штыря или кабеля FTDI или встроенного чипа USB /Serial.
Эксперимент 1: датчик расстояния
В этом эксперименте мы будем использовать датчик расстояния Sharp GP2Y0A21YK для управления яркостью светодиода.
Инфракрасный (IR) датчик SHARP
Необходимые комплектующие
- 1 x Arduino Mega2560;
- 1 x макетная плата;
- 1 x светодиод;
- 5 x перемычка;
- 1 x резистор 470 Ом;
- 1 X датчик расстояния Sharp GP2Y0A21YK.
Схема соединений
Схема соединений
Датчик расстояния Sharp может обнаруживать объекты на расстояниях от 10 до 80 см. Он излучает импульс инфракрасного света, а затем определяет угол, на котором отражается этот свет. Чем дальше объект, тем ниже выходное напряжение. Если датчик не принимает отраженный свет, то напряжение на его выходе составит 0 В. Если объект находится на расстоянии 10 см или ближе, выходное напряжение будет равно 5 В (в этом эксперименте мы подаем на датчик напряжение питания 5 В).
Выход датчика подключается к аналоговому входу Arduino. Аналого-цифровой преобразователь (ADC) Arduino затем преобразует это напряжение в значение от 0 до 1023. Затем это значение преобразуется в значение от 0 до 255, и это число используется для установки коэффициента заполнения сигнала на широтно-модулированном (ШИМ) выходе, который управляет яркостью светодиода. В результате, чем ближе объект к датчику расстояния, тем ярче светит светодиод.
Попробуйте загрузить эскиз
Важно: Если вы возникают проблемы с загрузкой эскизов, удаляйте все подключенные устройства (например, экраны). Также удалите соединительные провода, вставленные в разъемы платы
В частности, ничего не должно быть подключено к цифровым контактам 0 и 1 (Rx и Tx), потому что это будет мешать взаимодействию с загружающим компьютером.
Выберите один из Простой пример набросков (например, Blink) и попробуйте загрузить его. Вот что вы должны увидеть:
Светодиод «L» должен мигать 3 раза. Это связано с тем, что основной чип сбрасывается по команде из процесса загрузки.
Светодиод «Rx» должен быстро мигать. Это инструкции из процесса загрузки, пытающегося активировать загрузчик.
Светодиод «Tx» должен быстро мигать. Это процессор, подтверждающий загруженные данные.
Вы можете увидеть вышеупомянутое, даже если процесс загрузки не удался. Это может быть связано с тем, что выбран неправильный тип платы.
Если мигает только индикатор «Rx», это может быть связано с проблемой загрузчика или чипа основного процессора (Atmega328P). Кто-то стучит, но дома никого нет!
Проверьте тип платы
Если светодиоды мигают, но вы получаете сообщение, подобное этому:
Проверьте тип платы:
Если выбран неправильный тип платы, она, вероятно, отправит неправильные инструкции по загрузке, и тайм-аут или иным образом сбой. Если вы похожи на меня и у вас лежат разные доски, легко забыть, что последняя ваша загрузка была для другого типа платы.
Если светодиоды вообще не мигают, возможно, выбран неправильный порт связи.
Проверьте порт связи:
Если возможно, попробуйте другой ПК / Mac
Попробуйте Arduino на другом ПК / Mac, если он у вас есть. Это может сузить вопрос о том, есть ли у вас проблемы с конкретным компьютером, к которому вы его подключили, или с компьютерами в целом.
Выполните тест обратной связи
- Отключите все экраны и другие провода.
- Отключите плату от источника питания.
- Подключите перемычку от RESET к GND (оранжевый провод на фото) Подключите перемычку от Rx к Tx (белый провод на фото)
- Подключите USB-кабель и запустите терминальную программу, такую как Terminal Monitor в Arduino IDE. Напечатайте что-нибудь и отправьте это (например, нажмите Enter в мониторе терминала).
- Все, что вы вводите, должно быть возвращено.
Если все возвращается назад: это подтверждает, что у вас правильный коммуникационный порт, USB-кабель в порядке, а чип интерфейса USB (Atmega16U2), вероятно, в порядке.
Если ничего не отображается, проверьте:
- У вас правильный порт связи.
- Попробуйте другой кабель. Некоторые дешевые USB-кабели имеют только провода питания, а не провода данных.
- Проверьте, установлен ли драйвер устройства для Arduino. Вам, вероятно, не нужно делать это, если эта плата ранее работала на этом компьютере, но может быть целесообразно сделать это, если вы впервые подключаете эту плату к этому компьютеру.
Описание памяти EEPROM
Arduino – это целое семейство различных устройств для создания электронных проектов. Микроконтроллеры очень удобны для использования, доступны к освоению даже новичку. Каждый микроконтроллер состоит из платы, программ для обеспечения работы, памяти. В этой статье будет рассмотрена энергонезависимая память, используемая в Arduino.
Ардуино предоставляет своим пользователям три типа встроенной памяти устройств: стационарное ОЗУ (оперативно-запоминающее устройство или SRAM — static random access memory) – необходимо для записи и хранения данных в процессе использования; флеш-карты – для сохранения уже записанных схем; EEPROM – для хранения и последующего использования данных.
По теме: Скачать библиотеку EEPROM
На ОЗУ все данные стираются, как только происходит перезагрузка устройства либо отключается питание. Вторые две сохраняют всю информацию до перезаписи и позволяют извлекать ее при необходимости. Флеш-накопители достаточно распространены в настоящее время. Подробнее стоит рассмотреть память EEPROM.
Аббревиатура расшифровывается, как Electrically Erasable Programmable Read-Only Memory и в переводе на русский дословно означает – электрически стираемая программируемая память только для чтения. Производитель гарантирует сохранность информации на несколько десятилетий вперед после последнего отключения питания (обычно приводят срок в 20 лет, зависит от скорости снижения заряда устройства).
При этом нужно знать, что возможность перезаписи на устройство ограничена и составляет не более 100 000 раз. Поэтому рекомендуют аккуратно и внимательно относиться к вносимым данным и не допускать перезаписи лишний раз.
Объем памяти, в сравнении с современными носителями, очень небольшой и разный для различных микроконтроллеров. Например, для:
- ATmega328 – 1кБ
- ATmega168 и ATmega8 – 512 байт,
- ATmega2560 и ATmega1280 – 4 кБ.
Так устроено потому, что каждый микроконтроллер предназначен для определенного объема задач, имеет разное количество выводов для подключения, соответственно, необходим разный объем памяти. При этом такого количества достаточно для обычно создаваемых проектов.
Для записи на EEPROM требуется значительное количество времени – около 3 мс. Если в момент записи отключается питание, данные не сохраняются вовсе либо могут быть записаны ошибочно. Требуется всегда дополнительно проверять внесенную информацию, чтобы избежать сбоев во время работы. Считывание данных происходит гораздо быстрее, ресурс памяти от этого не снижается.
FAQ¶
Если подключен по USB, то сверка итогов. Когда терминал подключен по USB он может делать сверку только когда через него проходит транзакция. Можно порекомендовать клиенту делать с утра пустую транзакцию. Сверка итогов обязательная операция так же как и закрытие смены. Мы сверку итогов вынуждены делать на терминалах каждый день. Если не делать, то они через пару месяцев ломаются. Сверка итогов проходит в 10:00.
Полностью отключить терминал, потом включить и проверить настройки для работы по USB.
Если используется новый тип USB-кабеля, надо заменить на старый, потому что новый кабель не протестирован и может работать некорректно.
Если терминал запитан от кассы Атол-150, возможно, не хватает питания по USB от Атола. Можно поставить USB-hub с отдельным питанием или поставить Verifone Vx820.
Если есть провод который с разветвлением на LAN, то можно организовать работу через роутер. Так же в мультипортовом кабеле может быть дополнительный разъем микро-usb/мини-usb, можно попробовать дополнительно запитать терминал через него.
Логи по сторонним кассам есть только у вас, у нас в этом случае не пишутся.
Нажмите на терминале сочетание клавиш 4+Enter.
- Полностью удалить терминал с Эвотора, перезагрузить Эвотор и терминал.
- Переподключить терминал к другому порту.
- Привязать терминал, проверить настройки Эвотора — что указан верный номер терминала и стоит галка по умолчанию.
- Проверить настройки терминала:
Параметры / Редактирование / SmartSale / Связь с банком
Параметры / Редактирование / SmartSale / Порт терминала
Параметры / Редактирование / SmartSale / SSL без ККМ
Если есть возможность переподключить терминал по Ethernet кабелю.
Обзор
Важное замечание! Пожалуйста, прочитайте этот материал полностью, прежде чем работать с AREF в первый раз.
Вы можете вспомнить, что вы можете использовать функцию Arduino analogRead() для измерения напряжения электрического тока от датчиков и т.п., используя один из выводов аналогового входа. Значение, возвращаемое функцией analogRead(), должно быть в диапазоне от 0 до 1023, где ноль представляет собой ноль вольт, а 1023 представляет рабочее напряжение используемой платы Arduino.
И когда мы говорим, рабочее напряжение — это напряжение, доступное Arduino после схемы питания. Например, если у вас есть типичная плата Arduino Uno и вы запускаете ее через разъем USB (для платы есть доступные 5 В через разъем USB на вашем компьютере), то напряжение немного уменьшается, поскольку ток идет через всю схему к микроконтроллеру или USB-источник может не давать абсолютное значение.
Это можно легко продемонстрировать, подключив Arduino Uno к USB и установив мультиметр для измерения напряжения на контактах 5В и GND. Некоторые платы возвращают напряжение до 4,8 В, некоторые показывают значения выше 4,8 В, ниже 5 В. Поэтому, если вы стремитесь к точности, питайте вашу плату от внешнего источника питания через разъем постоянного тока или Vin-контакт, например, 9 В постоянного тока. Затем, после этого, пройдя через цепь регулятора мощности, вы получите хорошее напряжение 5 В.
Это важно, поскольку точность любых значений analogRead() будет зависеть от отсутствия истинных 5 В. Если у вас нет никакой опции, вы можете использовать некоторые математические расчеты в своем эскизе, чтобы компенсировать падение напряжения
Например, если ваше напряжение равно 4,8 В — диапазон analogRead() от 0 до 1023 будет относиться к 0 ~ 4,8 В, а не к 0 ~ 5 В. Это может звучать тривиально, однако, если вы используете датчик, который возвращает значение в виде напряжения (например, датчик температуры TMP36) — рассчитанное значение будет неверным. Поэтому в интересах точности используйте внешний источник питания.
Скрипт lsusb.py для отображения USB-устройств в понятном виде
Скрипт lsusb.py в удобном виде показывает информацию об USB хабах и подключённым к ним устройствам.
Для вывода информации достаточно в командной строке запустить:
lsusb.py
Вы можете получить ошибку, что команда lsusb.py не найдена. Скрипт lsusb.py поставляется с пакетом usbutils, который содержит другую уже используемую нами программу lsusb. По каким-то причинам в некоторых дистрибутивах пакет usbutils распространяется без скрипта lsusb.py. Чтобы его установить выполните следующие команды:
curl https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/plain/lsusb.py.in > lsusb.py chmod +x lsusb.py sudo mv lsusb.py /usr/bin/lsusb.py
Строки, которые начинаются на usb1, usb2 и прочее — это USB хабы.
Строки, которые начинаются на 1-1, 1-3, 2-2 и прочее — это USB устройства.
Кроме идентификаторов производителя и устройства, каждой строка в квадратных скобках содержит информацию о версии, скорости, и максимальном потреблении энергии, например:
- USB 3.10
- 5000 Mbps
- 304mA
В круглых скобках показаны имена устройств.
Что означает маркировка USB портов
Наверняка должна быть подсказка по версии и скорости USB портов рядом с разъёмами.
Давайте посмотрим на следующую фотографию портов на моём ноутбуке:
Во-первых, все эти три порта являются USB портами, даже тот, который маленький!
Во-вторых, что означают эти буквы «SS» и цифра?
Если вы действительно прочитали статьи, на которые даны ссылки выше, то вы уже знаете, что порт без букв «SS» – это старый USB 2.0. Маленький порт с «SS» и цифрой 10 — это SuperSpeed USB 10 Gbps, который раньше назывался USB 3.1 Gen 2.
Хорошо, с двумя портами из трёх разобрались, что же до третьего порта? Понятно, что это какая-то из версий SuperSpeed, но какая именно?
Проверьте питание
USB power
Подключите плату к компьютеру с помощью USB-кабеля и убедитесь, что зеленый светодиод «Вкл» горит.
Используйте мультиметр и пару перемычка приводит к проверке между выводом 5 В и выводом GND (показано стрелкой внизу). Вы должны получить около 5,0 В (у меня 5,04 В на моем).
(Вы можете купить дешевый мультиметр примерно за 10 долларов, если у вас его нет, но вам лучше получить лучший примерно за 50 долларов – проверьте все сайты и магазины электроники.)
Также проверяйте между 3,3 В контакт и GND – вы должны получить 3,3 В.
Если вы не получаете 5 В при подключенном USB-кабеле, убедитесь, что другой конец подключен к вашему компьютеру. Также попробуйте другой кабель.
Разъем питания
Если вы используете или планируете использовать разъем питания (с надписью «power» в «на фото» отсоедините USB и подключите источник питания – который должен быть от 7 до 12 В постоянного тока с положительным контактом на центральном выводе.
Измерьте выводы 5 В и 3,3 В, как указано выше. Вы по-прежнему должны видеть те же напряжения на них.
Если вы получаете 5 В с подключенным USB, но не с источником питания, то регулятор напряжения (отмечен на фото) вероятно поврежден. Или, возможно, произошел сбой источника питания. Попробуйте другой источник питания, чтобы подтвердить, какой это.