Перейти к содержанию

Навигация

CAN: различия между версиями

Отметить эту версию для перевода
(Отметить эту версию для перевода)
Строка 1: Строка 1:
<languages/><translate>
<languages/><translate>
<!--T:16-->
Работа происходит через стандартную подсистему Linux — SocketCAN. Порты CAN доступны в системе как сетевые интерфейсы <code>can0</code> или <code>can1</code>, в зависимости от модели контроллера. Для работы CAN на контроллерах до версии 6.7.x нужен джампер терминатора на порту. Начиная с версий 6.7.x, терминатор управляется программно и включается автоматически.  
Работа происходит через стандартную подсистему Linux — SocketCAN. Порты CAN доступны в системе как сетевые интерфейсы <code>can0</code> или <code>can1</code>, в зависимости от модели контроллера. Для работы CAN на контроллерах до версии 6.7.x нужен джампер терминатора на порту. Начиная с версий 6.7.x, терминатор управляется программно и включается автоматически.  


== Настройка ==
== Настройка == <!--T:17-->
[[Image:Can iface.png|300px|thumb|right|Настройка can-интерфейса. Allow-hotplug позволяет интерфейсу подниматься автоматически]]
[[Image:Can iface.png|300px|thumb|right|Настройка can-интерфейса. Allow-hotplug позволяет интерфейсу подниматься автоматически]]
[[Image:Can enable.png|300px|thumb|right|Перевод порта RS485-2 в режим CAN и включение драйвера can в linux]]
[[Image:Can enable.png|300px|thumb|right|Перевод порта RS485-2 в режим CAN и включение драйвера can в linux]]


==== Через веб-интерфейс ====
==== Через веб-интерфейс ==== <!--T:18-->
Для настройки через веб-интерфейс нужно обновить пакет <code>wb-mqtt-confed</code> до версии 1.2.3+
Для настройки через веб-интерфейс нужно обновить пакет <code>wb-mqtt-confed</code> до версии 1.2.3+


<!--T:19-->
Действия происходят в разделе '''Configs''' веб-интерфейса:
Действия происходят в разделе '''Configs''' веб-интерфейса:
# На вкладке '''Network Interfaces''' добавьте новый интерфейс <code>can0</code> (см. скриншот). Нажмите кнопку '''Save'''.
# На вкладке '''Network Interfaces''' добавьте новый интерфейс <code>can0</code> (см. скриншот). Нажмите кнопку '''Save'''.
# Переключите порт <code>RS-485/CAN</code> в режим CAN: на вкладке '''Hardware Modules Configuration''' выберите настройки '''RS485-2/CAN interface config''', выберите в поле '''Module type''' «CAN interface» и нажмите кнопку '''Save'''.
# Переключите порт <code>RS-485/CAN</code> в режим CAN: на вкладке '''Hardware Modules Configuration''' выберите настройки '''RS485-2/CAN interface config''', выберите в поле '''Module type''' «CAN interface» и нажмите кнопку '''Save'''.


<!--T:20-->
CAN-интерфейс будет подниматься сам при:
CAN-интерфейс будет подниматься сам при:
* загрузке системы — за это отвечает сервис <code>wb-hwconf-manager</code>,
* загрузке системы — за это отвечает сервис <code>wb-hwconf-manager</code>,
* смене режима порта RS-485/2 в «CAN».
* смене режима порта RS-485/2 в «CAN».


==== Стандартными средствами linux (автоматически) ====
==== Стандартными средствами linux (автоматически) ==== <!--T:21-->
Раздел '''Network Interfaces''' веб-интерфейса — это обёртка вокруг файла <code>/etc/network/interfaces</code>, поэтому настройку CAN можно произвести с помощью службы управления сетями ОС debian. Для этого нужно:
Раздел '''Network Interfaces''' веб-интерфейса — это обёртка вокруг файла <code>/etc/network/interfaces</code>, поэтому настройку CAN можно произвести с помощью службы управления сетями ОС debian. Для этого нужно:
# Добавить в <code>/etc/network/interfaces</code> запись вида:
# Добавить в <code>/etc/network/interfaces</code> запись вида:
Строка 28: Строка 31:
Получим результат, аналогичный настройке через веб-интерфейс.
Получим результат, аналогичный настройке через веб-интерфейс.


==== Стандартными средствами linux (вручную) ====
==== Стандартными средствами linux (вручную) ==== <!--T:22-->


<!--T:23-->
После переключения порта в режим CAN, нужно выполнить:
После переключения порта в режим CAN, нужно выполнить:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 35: Строка 39:
</syntaxhighlight>
</syntaxhighlight>


== Работа с CAN ==
== Работа с CAN == <!--T:24-->


<!--T:25-->
Утилиты <code>cansend</code> и <code>candump</code> есть в стандартном наборе ПО контроллера. Если по каким-то причинам их нет, можно поставить пакет <code>can-utils</code>:
Утилиты <code>cansend</code> и <code>candump</code> есть в стандартном наборе ПО контроллера. Если по каким-то причинам их нет, можно поставить пакет <code>can-utils</code>:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 42: Строка 47:
</syntaxhighlight>
</syntaxhighlight>


<!--T:26-->
Примеры команд:
Примеры команд:
* Отправка четырех байт c адресом 123:
* Отправка четырех байт c адресом 123:
Строка 48: Строка 54:
</syntaxhighlight>
</syntaxhighlight>


<!--T:27-->
* Показывать входящие пакеты:
* Показывать входящие пакеты:
*:<syntaxhighlight lang="bash">
*:<syntaxhighlight lang="bash">
Строка 53: Строка 60:
</syntaxhighlight>
</syntaxhighlight>


<!--T:28-->
* Показать статистику:
* Показать статистику:
*:<syntaxhighlight lang="bash">
*:<syntaxhighlight lang="bash">
Строка 59: Строка 67:




<!--T:29-->
Обратите внимание, что в случае проблем на шине (нет терминатора, нет принимающего устройства, короткое замыкание), контроллер может прекратить работу.
Обратите внимание, что в случае проблем на шине (нет терминатора, нет принимающего устройства, короткое замыкание), контроллер может прекратить работу.
Для того чтобы начать работу вновь, выполните:  
Для того чтобы начать работу вновь, выполните:  
Строка 65: Строка 74:
</syntaxhighlight>
</syntaxhighlight>


<!--T:30-->
Больше информации смотрите в вики проекта «AmadeuS», статья «[http://www.armadeus.com/wiki/index.php?title=CAN_bus_Linux_driver CAN bus Linux driver]».
Больше информации смотрите в вики проекта «AmadeuS», статья «[http://www.armadeus.com/wiki/index.php?title=CAN_bus_Linux_driver CAN bus Linux driver]».
</translate>
</translate>
translator, wb_editors
4251

правка