Что такое I2C Tiny USB. Как использовать I2C Tiny USB для подключения I²C устройств к компьютеру. Какие преимущества дает I2C Tiny USB по сравнению с другими решениями. Как собрать свой I2C Tiny USB адаптер. Какие драйверы нужны для работы I2C Tiny USB в разных операционных системах.
Что такое I2C Tiny USB и для чего он нужен
I2C Tiny USB — это недорогой и простой в изготовлении адаптер для подключения устройств с интерфейсом I²C к компьютеру через USB. Он позволяет легко тестировать и отлаживать I²C датчики, микросхемы и другие устройства без необходимости использовать отдельный микроконтроллер.
Основные преимущества I2C Tiny USB:
- Низкая стоимость — требуется всего несколько недорогих компонентов
- Простота сборки — можно изготовить самостоятельно
- Поддержка в ядре Linux — работает «из коробки» в большинстве дистрибутивов
- Совместимость с стандартными утилитами i2c-tools
- Компактные размеры
I2C Tiny USB особенно удобен для разработчиков, которым требуется периодически подключать различные I²C устройства к компьютеру для тестирования и отладки.
Аппаратная часть I2C Tiny USB
Основой I2C Tiny USB является микроконтроллер ATtiny85. Он обеспечивает программную реализацию USB и управляет I²C шиной. Кроме микроконтроллера, для сборки адаптера требуется:
- Кварцевый резонатор 12 МГц
- Несколько резисторов и конденсаторов
- Разъем USB
- Стабилизаторы напряжения (опционально)
Полная принципиальная схема I2C Tiny USB включает:
- Подтягивающий резистор от USB- к Vcc для обозначения низкоскоростного устройства
- Стабилитроны на линиях данных USB для ограничения напряжения
- Блокировочные конденсаторы для ATtiny85
- Подтягивающие резисторы для линий I²C
- Согласующие резисторы 68 Ом на линиях USB
- Преобразователи логических уровней для работы с устройствами на 3.3В и 1.8В (опционально)
Схема довольно простая и компактная, что позволяет легко собрать устройство на макетной плате или изготовить печатную плату небольшого размера.
Прошивка и программная реализация USB
Одной из ключевых особенностей I2C Tiny USB является программная реализация интерфейса USB на микроконтроллере ATtiny85. Это позволяет обойтись без специализированных микросхем USB-UART и снизить стоимость устройства.
Прошивка I2C Tiny USB реализует:
- Эмуляцию низкоскоростного USB-устройства
- Протокол обмена данными с драйвером на компьютере
- Управление шиной I²C
Программная реализация USB достигается путем точного тайминга операций ввода-вывода на пинах микроконтроллера. Это требует тщательной оптимизации кода и использования ассемблерных вставок.
Исходный код прошивки I2C Tiny USB доступен в открытом репозитории. Это позволяет при необходимости модифицировать функциональность устройства под конкретные задачи.
Поддержка в операционных системах
Одним из главных преимуществ I2C Tiny USB является наличие готовых драйверов для популярных операционных систем:
- Linux — драйвер встроен в ядро
- Windows — доступен драйвер от разработчика
- Mac OS X — есть неофициальный драйвер
В Linux поддержка I2C Tiny USB реализована на уровне ядра. После подключения устройства оно определяется автоматически и становится доступно через стандартный интерфейс /dev/i2c-*. Это позволяет использовать I2C Tiny USB со всеми стандартными утилитами вроде i2cdetect, i2cget, i2cset и т.д.
Для работы в Windows требуется установить драйвер от разработчика I2C Tiny USB. После этого устройство будет доступно через WinUSB API.
В Mac OS X также есть возможность использовать I2C Tiny USB, но может потребоваться дополнительная настройка системы.
Сборка собственного I2C Tiny USB адаптера
Собрать I2C Tiny USB адаптер своими руками достаточно просто. Для этого потребуется:
- Заказать необходимые компоненты по списку
- Собрать схему на макетной плате или изготовить печатную плату
- Прошить микроконтроллер ATtiny85
- Установить драйверы на компьютер
Подробные инструкции по сборке и прошивке I2C Tiny USB доступны на официальном сайте проекта. Там же можно скачать все необходимые файлы — принципиальную схему, прошивку, драйверы.
При желании можно модифицировать базовую схему, например, добавив стабилизаторы напряжения для работы с устройствами на разных логических уровнях. Открытость проекта позволяет адаптировать его под свои конкретные задачи.
Использование I2C Tiny USB для разработки
I2C Tiny USB открывает широкие возможности для разработки и тестирования устройств с интерфейсом I²C. Вот несколько примеров применения:
- Отладка драйверов датчиков
- Тестирование новых I²C микросхем
- Считывание данных с EEPROM памяти
- Программирование I²C флеш-памяти
- Управление I²C периферией (дисплеи, АЦП и т.д.)
Благодаря поддержке в ядре Linux, I2C Tiny USB можно использовать с любыми языками программирования и библиотеками, поддерживающими работу с шиной I²C. Это значительно упрощает разработку по сравнению с использованием специализированных программаторов.
Альтернативы I2C Tiny USB
Хотя I2C Tiny USB является одним из самых простых и доступных решений, существуют и другие варианты для подключения I²C устройств к компьютеру:- Bus Pirate — многофункциональный отладчик с поддержкой разных интерфейсов
- FT232H — микросхема от FTDI с аппаратной реализацией I²C
- Commercial I²C-USB адаптеры — готовые устройства от разных производителей
Преимуществами I2C Tiny USB перед этими решениями являются:
- Низкая стоимость
- Простота изготовления
- Нативная поддержка в Linux
- Открытость проекта
Это делает I2C Tiny USB отличным выбором для многих разработчиков, особенно для личных и образовательных проектов.
Заключение
I2C Tiny USB — это простое, но мощное решение для работы с I²C устройствами через USB. Благодаря низкой стоимости, простоте изготовления и хорошей программной поддержке, оно стало популярным инструментом среди разработчиков встраиваемых систем и IoT устройств.
Основные преимущества I2C Tiny USB:
- Доступность — можно легко собрать самостоятельно
- Универсальность — работает с большинством I²C устройств
- Поддержка в Linux «из коробки»
- Открытый исходный код
Если вам часто приходится работать с I²C датчиками, микросхемами или другими устройствами, I2C Tiny USB может стать незаменимым инструментом в вашем арсенале. Он позволяет быстро подключать и тестировать различные I²C устройства без необходимости каждый раз собирать отдельную схему на микроконтроллере.
Прошивка MLT-1043S подручными средствами(i2c-tiny-usb) ~ Gentoo on the laptop
Итак задача — запрограммировать EEPROM 24c04 из чипа CRUM картриджа MLT-1043S. Картридж для принтера Samsung ML-1661/1676/1861/1866/1866W.
Имеется девайс i2c-tiny-usb.
Софт, который потребуется: i2c-tools, hexdump, hexedit и самособранный eeprog.
Последний ловко качается исходниками и компилируется в свою же папку,
при этом никак не интегрируясь в систему и не представляя призрачной
угрозы portage.
Убедимся что поддержка программатора есть в ядре:
Device Drivers > I2C support > I2C device interface <*> (to get access through /dev/i2c-X) Device Drivers > I2C support > I2C Hardware Bus support > Tiny-USB adapter <*>
Загружаем нужные нам модули
modprobe i2c-tiny-usb i2c-dev i2c-core
Проверяем жив ли интерфейс:
i2cdetect -l i2c-0 i2c i2c-tiny-usb at bus 002 device 008 I2C adapter
Проверяем, а не висит ли на этом интерфейсе нечто похожее на EEPROM:
i2cdetect 0 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-0.I will probe address range 0x03-0x77. Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
Видим 2 устройства — это нормально. 24с04 отражается в память двумя
кусками. Последовательность логична — первые 256 байт на первом
сегменте, вторые — на втором.
Считаем содержимое в бинарном виде с обоих сегментов собранным eeprog и пишем вывод в файлики:
# ./eeprog -f /dev/i2c-0 0x50 -r 0:256 > dump1 # ./eeprog -f /dev/i2c-0 0x51 -r 0:256 > dump2
Параметры программы:-f = не спрашивать, /dev/i2c-0 = с какого устройства читать, 0x50 = адрес, который мы узнали выше, -r = чтение, 0:256 = диапазон чтения от 0 до 256 байта.
Просмотреть считанное легко и просто используя hexdump -С.
Далее привожу выхлоп своих данных:
# hexdump -C dump1 00000000 01 33 02 39 01 33 2a df 01 61 ab f4 ff ff ff ff |.3.9.3*..a......| 00000010 00 00 06 c3 ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000020 00 00 1c 0d ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000100 # hexdump -C dump2 00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000010 ff ff ff ff ff ff ff ff 50 54 31 36 36 43 48 4e |........PT166CHN| 00000020 ff ff ff ff ff ff ff ff 43 52 55 4d 2d 31 31 31 |........CRUM-111| 00000030 30 30 37 38 31 35 31 33 01 32 de 9f 07 ff ff ff |00781513.2......| 00000040 02 c7 9a e6 ff ff ff ff 00 01 4c 08 ff ff ff ff |..........L.....| 00000050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000070 0a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000080 a5 a5 a5 a5 50 54 31 36 36 43 48 4e ff ff ff ff |....PT166CHN....| 00000090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000100
Теперь нам нужно обнулить счётчики и поменять номер картриджа. Делается это в любом HEX-редакторе, например hexedit -s(включает, ИМХО, более учеловеченное отображение).
Рассмотрим на готовом:
Для первого куска: 00000000 00 00 00 02 ff ff ff ff 00 00 00 00 ff ff ff ff |................| 00000010 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000020 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000100 Для второго куска 00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000010 ff ff ff ff ff ff ff ff 50 54 31 36 36 43 48 4e |........PT166CHN| 00000020 ff ff ff ff ff ff ff ff 43 52 55 4d 2d 31 31 31 |. .......CRUM-111| 00000030 30 30 37 38 33 35 31 33 01 32 de 9f 07 ff ff ff |00783513.2......| 00000040 02 c7 9a e6 ff ff ff ff 00 01 4c 08 ff ff ff ff |..........L.....| 00000050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000070 0a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000080 ff ff ff ff 50 54 31 36 36 43 48 4e ff ff ff ff |....PT166CHN....| 00000090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000100
Звёздочки, если вы не догадались — повторяющиеся линии файла. В редакторе строк будет несколько большим.
В первом файле мы обнулили счётчики — это первые 3 строки.
Во-втором файле мы изменили версию чипа CRUM, подправив одну цифру. Эта цифра при сбросе чипа будет всегда различаться, и если совпадёт — принтер не примет картридж. В строке |00783513.2……| можно менять всё что угодно, или всё что угодно до точки с двойкой (?).
В строке 00000080 мы убрали все a5 a5 a5 a5. Это, как говорят некоторые особо разбирающиеся люди — прогресс бар.
Всё. Зашиваем обратно:
# cat dump1 |./eeprog -f /dev/i2c-0 0x50 -w 0 # cat dump2 |./eeprog -f /dev/i2c-0 0x51 -w 0
Параметры программы:-f = не спрашивать, /dev/i2c-0 = на какое устройство писать, 0x50 = адрес, по которому писать, -w = запись, 0 = начиная с 0-ого байта.
Вуаля!
6 применений в «умном доме» платы USBasp. Нестандартное использование USBasp / Хабр
Иногда дешевле купить готовое устройство, чем собирать его самому. Да и самодельное устройство не всегда и не у всех будет выглядеть аккуратно- это зависит от наличия оборудования/материалов и прямоты рук.
Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:
USBasp 2.0 — с стабилизатором на 3.3 вольта.
USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).В руках не держал и соответственно рассматривать его тут не будем.
Ниже мы рассмотрим как превратить программатор USBasp в I2C-USB переходник, научимся читать датчики влажности и температуры, получим простой набор портов ввода/вывода (PIO), RS232-USB, а так же попытаемся создать устройство nRF24L01-USB для чтения беспроводных датчиков и управления устройствами. Ну и для любителей Arduino — будем программировать в среде Arduino IDE используя USBasp как макетную плату.Проекты используют популярную библиотеку V-USB для работы с USB в программной реализации.
Архив с прошивками можно скачать в конце статьи. Я намеренно не публикую тут прямые ссылки на свои проекты -вы их найдете в архиве.
Устройство программатора USBasp
Программатор состоит из небольшого числа деталей. Мозгом программатора является микроконтроллер Atmega8, который имеет всего 8 кб флеш памяти и 1 кб ОЗУ(SRAM).Вроде и слабенький микроконтроллер по современным меркам, но столько всего можно на нем сделать.Из-за особенностей работы программного USB м/к работает на частоте 12мгц. Соответственно, при написании своей прошивки необходимо учитывать это.
USBasp имеет 10 контактный разъем, на который выведены 6 выводов микроконтроллера: PB5 (SCK), PB4 (MISO), PB3 (MOSI, PWM), PB2(PWM), PD0 (RXD), PD1 (TXD).Питание 5в или 3.3в, которое переключается перемычкой JP1.
Плата имеет два встроенных светодиода на выводах PC0 и PC1.Выводы м/к PB0,PB1 и PD2 используются для программного USB,PC2 выведен на перемычку JP3.Остальные выводы микроконтроллера не распаяны.
Со схемой устройства можно ознакомится в архиве в конце статьи.
Установка загрузчика на плату
Для быстрой смены прошивки, без сторонних программаторов можно установить загрузчик USBaspLoader. Официальная страница проекта USBaspLoader
К сожалению загрузчик отнимает 2 кб флеш памяти, но для большинства применений нам хватит оставшихся 6 кб.
Установка загрузчика:
Команда программирования используя Arduino как программатор:
avrdude -c avrisp -P COM1 -b 19200 -p m8 -U flash:w:boot_m8.hex -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m -U lock:w:0x2f:m
Команда программирования через другую USBasp:
avrdude -c usbasp -p m8 -U flash:w:boot_m8.hex -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m -U lock:w:0x2f:m
После этого уже можно заливать свою прошивку без программатора стандартной командой
avrdude -c usbasp -p m8 -U flash:w:имя_файла.hex
Для того, чтобы «залить» прошивку в устройство с установленным USBaspLoader необходимо установить перемычку JP3, которая переводит устройство в режим программирования и сбросить устройство, замкнув контакт ближний к перемычке выбора питания(JP1) на перемычке JP2 на землю.
Использование USBasp как макетную плату в Arduino IDE
Для прошивки в среде Arduino IDE (проверено на версиях 1.0.х) необходимо в файл board.txt вписать следущий текст:
atmega8usb.name=ATmega8 USB 12 MHz atmega8usb.upload.protocol=arduino atmega8usb.upload.maximum_size=6144 atmega8usb.upload.speed=19200 atmega8usb.bootloader.low_fuses=0x9f atmega8usb.bootloader.high_fuses=0xc0 atmega8usb.bootloader.path=atmega8 atmega8usb.bootloader.file=boot_m8.hex atmega8usb.bootloader.unlock_bits=0x3F atmega8usb.bootloader.lock_bits=0x2F atmega8usb.build.mcu=atmega8 atmega8usb.build.f_cpu=12000000L atmega8usb.build.core=arduino atmega8usb.build.variant=standard
После этого в среде Arduino IDE можно выбрать появившуюся плату ATmega8 USB 12 MHz. Прошивка осуществляется через меню «загрузка с помощью программатора».
Доступные пины по нумерации Arduino: 13 (SCK),12 (MISO),11 (MOSI,PWM),10 PB2(PWM) ,1 (TXD),0 (RXD).Так же доступны цифровые выводы 14 и 15 для управления светодиодами на плате.
Можно задействовать и интерфейс USB, используя библиотеку для Arduino V-USB, но возможностей тут меньше, чем на Си.
nRF24L01-USB
Позволяет обмениваться данными между nRF24L01/nRF24LE1 и компьютером с устройством nRF24L01-USB. Теоретически поддерживается до 22 клиентов(при пакете передачи 32 байта) на базе nRF24L01/nRF24LE1, но пока на практике проверено до 3. Ограничение связано с тем, что для приема и отправки данных используется буфер в ОЗУ устройства, а его как известно у Atmega8 всего 1кб.Размер приемного пакета может быть до 32 байт, а отправки — 4 байта, это ограничение связано со способом реализации работы с библиотекой V-USB.
Работа nRF24L01-USB адаптера основана на временном разделении, когда клиенты отправляют/принимают данные в разное время. При большом количестве клиентов время опроса должно быть бОльшим. Для обмена данными в реальном времени количество клиентов должно быть наименьшим. Пока у устройства имеются некоторые недостатки, но думаю это решаемо.
Клиентская утилита управления, чтения и отправки данных работает как в Linux, так и Windows, но пока, к сожалению, требуется компиляция для настройки принятых данных. Для удобства настройки и отладки через утилиту можно менять канал, скорость и включать/выключать аппаратное подтверждение, работать напрямую с регистрами радио модуля.
Устройство можно применить для беспроводных датчиков или управления в системах умного дома.
Кстати, ранее был разработан и испытан вариант беспроводных датчиков влажности и температуры на базе attiny13 на частоте 315 или 433 мгц, но это уже другая тема.
RS232-USB
На основе программатора USBasp можно создать устройство-переходник RS232-USB на базе проекта cdc-232.
Подойдет для программирования плат Arduino, на которых нет микросхемы FT232RL или другого преобразователя usb-uart.
PIO-USB
6 выводов, которые выведены на разъеме программатора могут использоватся как обычные PIO выводы, для «дерганья» светодиодами и релюшками, а так же считывания логического состояния порта. В архиве в конце статьи имеется мой вариант PIO-USB, который так же позволяет считывать датчик влажности DHT11/DHT22, а так же транслировать код для управления розетками/люстрами, если подключить радио перадтчик на 433/315 мгц. Планируется новая версия, в которой увеличится количество подключаемых датчиков влажности и исправлены ошибки.
DS18B20-USB
Программатор можно «научить» работать с несколькими датчиками температуры DS18B20.Например использовать проект USBTemp.
Возможны и другие варианты реализации схемы и прошивки устройства, а так же интеграция с PIO-USB.
К сожалению из-за размера прошивки загрузка не возможна через USBaspLoader.
I2C-USB
Устройство позволяет подключить практически любые устройства i2c к компьютеру.Проверено как на Linux так и в Windows XP.Прошивка основана на известном проекте i2c tiny usb.
Мои примеры использования устройства:
Чтение датчика давления BMP085.
Управление микросхемой расширителем портов MCP23017, получив тем самым почти тот же PIO на компьютере.
Вариантов применения масса: программирование EEPROM памяти, чтение спецефичных разных датчиков, управление FM приемником.
Это конечно же далеко не все варианты использования программатора в нестандартном функционировании.
Все исходные коды сторонних проектов можно найти на их официальных сайтах. В архиве в конце статьи имеются прошивки, которые адаптированы под выводы платы USBasp.
Архив с прошивками: usbasp.zip
UPD: Ещё одно применение USBasp в статье «Программируем nRF24LE1 через Raspberry PI и USBasp».
I²C Tiny USB | Мэйнфрейм
I²C Tiny USB
Статус: стабильная
Репозиторий: https://github.com/sre/i2c-tiny-usb/
Автор: sre
5 9 Для системы контроля и доступа и различные частные и космические проекты sre регулярно использует датчики/устройства I²C. В целях тестирования это очень помогает, если эти устройства можно подключить к ноутбуку. До сих пор он либо использовал VGA адаптер (кабели VGA содержат сигнал I²C для передачи DDC дисплея информация. Большинство драйверов графических карт Linux с открытым исходным кодом позволяют пользователям получить доступ к шине i2c на адаптере стандартными средствами). К сожалению новее Аппаратное обеспечение больше не предоставляет адаптеры VGA и/или мультиплексирует разъемы странным образом. таким образом, что больше невозможно использовать порт I²C.
Другой вариант — использовать Bus Pirate, который поддерживает I²C и подключается к ноутбуку через USB. Bus Pirate не поддерживается однако стандартными интерфейсами ядра. это не очень приятно для разработка приложения.
К счастью, ядро поддерживает несколько USB-адаптеров I²C. Большинство из них довольно дорогие в диапазоне 100 евро, но для одного из них требуется только ATtiny85, кристалл и несколько резисторов/диодов. Это проект Тилля Харбаума, который разработал адаптер и предоставляет инструкции по его домашняя страница.
sre взял эту информацию и разработал свою собственную печатную плату, добавив регуляторы напряжения. и логический уровень преобразует для 3,3 В и 1,8 В. Таким образом, можно подключить самые распространенные датчики. легко. Также на печатной плате есть разъем mini USB вместо огромного разъема USB-B.
Конструкция печатной платы позволяет создать красивый корпус типа «сэндвич», как показано на рисунке. ниже (файл для лазерного резака). Верхнюю левую часть можно положить поверх печатной платы. и должен иметь ту же высоту, что и разъем USB. Нижняя правая часть должен располагаться непосредственно под печатной платой и должен иметь высоту не менее кристалл. Затем две другие части можно положить внизу и сверху. две другие части. Результат довольно стабилен и не занимает много места. Это должны быть вырезаны из акрилового стекла или должны быть добавлены этикетки, чтобы знать назначение контактов.
Описание печатной платы
Итак, давайте кратко рассмотрим, как это работает. Ниже приведена схема печатной платы. Это начинается с подтягивающего резистора от USB- к Vcc, который сообщает хосту USB, что мы низкоскоростное устройство. Затем два стабилитрона на данных линии для ограничения напряжения до 3,3 В, чтобы устройство соответствовало USB стандарт. Далее идут блокировочные конденсаторы для нашей ATtiny85. Тогда у нас есть разъем USB, за которым следуют подтягивающие резисторы I²C на SCL и SDA.
В следующем ряду следует ATtiny85 и его кристалл. Также есть согласующие резисторы 68 Ом перед контактами USB. Затем в третьем ряду мы можно увидеть преобразователь логического уровня для SDA и SCL для 1,8 В с использованием BSS138. Следующий к нему MCP1755S-1802E обеспечивает опорное напряжение 1,8 В, которое также доступно с одного из контактов печатной платы. Затем, что не менее важно, последняя строка содержит логический уровень преобразуется в 3,3 В и соответствующий регулятор напряжения (TS1117).
Как видите, настройка оборудования довольно проста. USB-связь есть реализовано в программном обеспечении путем битового удара по контактам ATtiny85, которые подключены к порту USB.
Поддержка драйверов
Хотя мне сказали, что доступны драйверы для Windows и Mac OSX, я сам не проверял эти детали. В Linux драйвер ядра был upstream, и в большинстве дистрибутивов он включен в конфигурации ядра. Как результат работает из коробки. Это можно проверить, загрузив модуль i2c-dev. и с помощью i2cdetect найти нужный адаптер (вам нужно будет сделать следующий за корнем). Получите номер устройства i2c с меткой i2c-tiny-usb. и вы можете сканировать шину на устройства.
modprobe i2c-dev i2cдетект -l i2cдетект 8
Если это сработает, вы можете начать разработку на своем любимом языке программирования и переключитесь, например, на родной интерфейс I²C Raspberry Pi в любой момент просто изменив номер устройства I²C. Конечно, адаптер также можно использовать для разработки драйверов ядра I²C Linux.
Страница не найдена | Хакадей
Похоже, в этом месте ничего не найдено. Может попробовать одну из ссылок ниже или поиск?
Искать:Наиболее часто используемые категории
- Разные хаки (3874)
- Слайдер (3768)
- Колонны Хакадея (3832)
- Новости (3037)
- хаков для Arduino (2956)
- Взломы инструментов (2614)
- классических хаков (2497)
- Избранное (2474)
- хаки для 3d принтеров (2,305)
- взломов роботов (2217)
Архивы
Попробуйте поискать в ежемесячных архивах. 🙂
АрхивВыбрать Месяц Апрель 2023 Март 2023 Февраль 2023 Январь 2023 Декабрь 2022 Ноябрь 2022 Октябрь 2022 Сентябрь 2022 Август 2022 Июль 2022 Июнь 2022 Май 2022 Апрель 2022 Март 2022 Февраль 2022 Январь 2022 Декабрь 2021 Сентябрь 2021 Сентябрь 2021 Октябрь 2021 Октябрь 2021 2021 июнь 2021 Май 2021 Апрель 2021 Март 2021 Февраль 2021 Январь 2021 Декабрь 2020 Ноябрь 2020 Октябрь 2020 Сентябрь 2020 Август 2020 Июль 2020 Июнь 2020 Май 2020 Апрель 2020 Март 2020 Февраль 2020 Январь 2020 Декабрь 2019ноябрь 2019 г. октябрь 2019 г. сентябрь 2019 г. август 2019 г. июль 2019 г. июнь 2019 г. май 2019 г. апрель 2019 г. март 2019 г. февраль 2019 г. январь 2019 г. декабрь 2018 г. ноябрь 2018 г. ноябрь 2017 г. Октябрь 2017 Сентябрь 2017 Август 2017 Июль 2017 Июнь 2017 Май 2017 Апрель 2017 Март 2017 Февраль 2017 Январь 2017 Декабрь 2016 Ноябрь 2016 Октябрь 2016 Сентябрь 2016 Август 2016 Июль 2016 Июнь 2016 Май 2016 Октябрь 2015 г. Сентябрь 2015 г. Август 2015 г. Июль 2015 г. Июнь 2015 г. Май 2015 г. Апрель 2015 г. Март 2015 г. Февраль 2015 г. Январь 2015 г. Декабрь 2014 г. Ноябрь 2014 г. Октябрь 2014 г. Сентябрь 2014 г. Август 2014 г. Июль 2014 г. сентябрь 2013 г. август 2013 г. июль 2013 г. июнь 2013 г. май 2013 г. апрель 2013 г. март 2013 г. февраль 2013 г. январь 2013 г. декабрь 2012 г. ноябрь 2012 г. октябрь 2012 г. сентябрь 2012 г. август 2012 г. июль 2012 г. август 2011 г. Июль 2011 г. Июнь 2011 г. Май 2011 г. Апрель 2011 г. Март 2011 г. Февраль 2011 г. Январь 2011 г. Декабрь 2010 г. Ноябрь 2010 г. Октябрь 2010 г.