суббота, 25 апреля 2015 г.

Arduino на CH340G и СH341G. Драйвер CH340G для Windows и Linux.

Некоторые китайские производители выпускают клоны Arduino на микросхеме USB - Serial CH340G/341G. Также на этих микросхемах появилось много переходников USB — Serial. Для работы этих устройств, необходимо установить драйвер (для Windows), или подбросить модуль ядра (для Linux).
Действия, которые необходимо выполнить, несложные.
Для Windows. (Проверено на Windows 7 Professional, 64-bit).


Подключаем Arduino или USB-Serial к компьютеру и убеждаемся, что для устройства драйверы не обнаружены.


Скачайте инсталлятор драйвера CH340G/341G, запустите его и нажмите «INSTALL». Через несколько секунд драйвер будет установлен.





Зайдите в Диспетчер устройств. Во вкладке Порты (СOM и LPT) должно появиться USB-SERIAL CH340. Номер СОМ-порта может быть другой.



Производителем заявлена поддержка XP/Vista/Win7/Win8.

Для Linux необходимо подкинуть модуль ядра, выполнив всего три команды.
Заявлена поддержка версий ядра от 2.6.25 до 3.9.10, 32 и 64-bit.
 Проверено на дистрибутиве Gnome Shell Remix 12.04 (вариант Ubuntu 12.04 с GNOME 3.2). Ядро 3.2.0-79.

Скачайте архив 340.zip и распакуйте его. Я поместил его в /home, и все команды на скриншотах, с учетом именно такого расположения.

cd 340
make


Должно получиться что-то вроде этого:


Далее введите:

make load


Здесь видим ошибку Operation not permitted. Изначально нужно было делать под root-ом, но я этого не знал. Поэтому вводим:

sudo su
затем, заново
make load
make unload


Всё. Для проверки введите:

lsusb

Устройство определилось и работает.
Теперь проверим в Arduino IDE.


Но так красиво получилось у меня. У Вас, возможно, порт не определится...И не важно , какой чип у Вас стоит. И "родной" FT232 и CH340 и другие, скорее всего в Arduino IDE видны не будут.
Дело в том, что для Linux всё является файлом. Ваш  Arduino или USB-Serial, которые Вы держите в руках, это не "железо", а файл. На последнем скриншоте, это видно наглядно. "Железный" SerialPort, обозначен как файл /dev/ttyUSB0. А для каждого файла есть права доступа. Разберёмся с правами. Ведите команду:

dmesg


Вы получите примерно такой вывод Терминала, если у Вас Arduino на FT232:


Или такой, если на СН340/341:


В обоих вариантах, порт определился как ttyUSB0 (/dev/ttyUSB0). Теперь пропишем права доступа к этому порту (файлу). Введите команды:

ls -la /dev/ttyUSB0
sudo chmod a+rw /dev/ttyUSB0



После этого, всё должно заработать.


Если есть вопросы - пишите в "Комментарии". Рад буду помочь!










Комментариев нет:

Отправить комментарий