Недоступно редактирование некоторых разделов в wiki

Всем привет! Собрал modbus-utils под armv6 (Raspberry Pi первого поколения), наступил на некоторое количество проблем, решил, что:

  1. Стоит оформить мои заметки либо в отдельный раздел в статье, либо в отдельную статейку со ссылкой оттуда, но обнаружил, что не могу редактировать раздел “Подготовка к работе
  2. Узнать у вас актуален ли этот код вообще, какие там требования к контрибьюторам, найти время, написать cmake для упрощения сборки libmodbus и modbus-utils и занести merge-request-ов

Отсюда вопрос - это кому-то нужно, стоит тратить время?

Добрый день.

А что выводится при попытке редактировать?

Актуальность - не особо велика, сейчас есть более свежие реализации Modbus_client в том числе сразу пакетами.
Но если хотя бы паре человек поможет - уже большое дело.

О, а подскажете что сейчас самое актуальное? Мне нужно реализовать себе управление всем через консольку, оно привычнее как-то.


Вижу, что там include, но откуда оно тянется?

Инклюд вот: Wbincludes:Modbus client preparing for work — Wiren Board
Точно такая ж страница.

Напишите тут, я добавлю. С инклюдами сложность, что изменения в них влияют сразу на несколько страниц.

Сборка под Debian:

git clone https://github.com/wirenboard/modbus-utils.git
cd modbus-utils
# Download libmodbus repo
git submodule update

# Build libmodbus
cd libmodbus
sudo apt update
sudo apt install autoconf automake libtool build-essential
./autogen.sh
./configure
make
# Check
ls -l src/.libs/
cd ..

# Build modbus_client & modbus_server
gcc ./modbus_client/modbus_client.c -I./common \
	-I./libmodbus/src/ -L./libmodbus/src/.libs/ -lmodbus \
	-o ./modbus_client/modbus_client
gcc ./modbus_server/modbus_server.c -I./common \
	-I./libmodbus/src/ -L./libmodbus/src/.libs/ -lmodbus \
	-o ./modbus_server/modbus_server

Внимательно следите за ошибками при запуске ./autogen.sh перед сборкой libmodbus - там внутри вообще нет проверок, оно в любом случае напечатает Initialized build system. You can now run ./configure.
Например тут, очевидно, забыли поставить пакет libtool:

configure.ac:33: installing 'build-aux/compile'
configure.ac:56: installing 'build-aux/config.guess'
configure.ac:56: installing 'build-aux/config.sub'
configure.ac:32: installing 'build-aux/install-sh'
configure.ac:32: installing 'build-aux/missing'
src/Makefile.am:3: error: Libtool library used but 'LIBTOOL' is undefined
src/Makefile.am:3:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'
src/Makefile.am:3:   to 'configure.ac' and run 'aclocal' and 'autoconf' again.
src/Makefile.am:3:   If 'LT_INIT' is in 'configure.ac', make sure
src/Makefile.am:3:   its definition is in aclocal's search path.
src/Makefile.am: installing 'build-aux/depcomp'
autoreconf: automake failed with exit status: 1

Для удобного использования можно добавить в конец ~/.bash_profile или ~/.bashrc:

MODBUS_UTILS="Полный путь до загруженного репозитория"

export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${MODBUS_UTILS}/libmodbus/src/.libs/"
PATH="${PATH:+${PATH}:}${MODBUS_UTILS}/modbus_client:${MODBUS_UTILS}/modbus_server"

BUS=/dev/ttyACM0 # Пример для Raspberry Pi B+

alias modbus_client="modbus_client -mrtu -b9600 -pnone -s2 $BUS"

Заметка: не забудьте дать вашему пользователю/группе прав на чтение/запись в устройство $BUS. Как вариант для Raspberry Pi - можно просто закинуть себя в группу dialout: usermod -aG dialout $(whoami). Для совсем хлебушков, посмотреть права на устройство: ls -l $BUS.

Пример использования alias:

mak@metroid:~ # modbus_client --debug -a151 -t0x03 -r128
Opening /dev/ttyACM0 at 9600 bauds (N, 8, 2)
[97][03][00][80][00][01][98][D4]
Waiting for a confirmation...
<97><03><02><00><97><B1><F7>
SUCCESS: read 1 of elements:
	Data: 0x0097 

Под дебиан же есть собранный пакет, а из него можно вытащить бинарник и использовать в других системах.

Есть, но только бородатой версии и только под amd64 и armel. Да и вопрос что будет быстрее - качать и распаковывать .deb и доставать из него бинарь под какой-нибудь альмой или собрать из репозитория по готовому руководству.

Ясно, спасибо. Добавим.

распаковывать .deb и доставать из него бинарь под какой-нибудь альмой

не знал, что так сложно, я в Arch Linux пользовался обычным архиватором

Да не очень сложно, так-то вы правы, можно извлечь и пользоваться. Просто вопрос удобства и актуальности версии, почему-то давно не собирали после 1.2

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.