Я новичок в Linux, и пытаюсь учиться, поэтому мой вопрос может быть действительно общим. Я пытаюсь использовать приложение, которое работает в Linux, получает данные со входа, может быть, с порта USB, затем создает из них строку и отправляет ее на веб-сервер, и веб-сервер будет обрабатывать эту строку (я согласен с часть веб-сервера). Дело в том, что это должно быть сделано непрерывно, без взаимодействия с пользователем.
С чего мне начать? я должен пойти с C ++? и, кроме того, я действительно чувствую себя комфортно с PHP, это то, что можно сделать через это? Я хотел бы уделить этому время и разработать что-то очень надежное.
В конце, не могли бы вы дать несколько рекомендаций о том, с чего начать, чтобы стать хорошим в Linux, я разработал для Windows, но я хочу перейти на Linux и освоить его.
Благодарю.
Ваш вопрос немного расплывчатый.
Самое простое решение на вашем компьютере с Linux — это, вероятно, сценарий оболочки, опрашивающий последовательный порт (может быть даже USB-порт, используемый как последовательный) и записывающий текст в простой текстовый файл — построчно — откуда PHP может его прочитать.
пример: cat < /dev/ttyS0 >> ./input.txt
(Кстати, эту командную строку можно запустить даже из PHP-программы)
В зависимости от того, какие протоколы связи доступны как на вашем Linux-компьютере, так и на устройстве генерирования данных, архитектура решения может стать более сложной и более функциональной.
Многое можно сделать из оболочки (= командная строка) в Unix и не обязательно вызывать разработку программ на Си.
Если вы ищете учебник по сетевому программированию с сокетами, есть классическое руководство Биджа для всех времен — http://beej.us/guide/bgnet/
очень доступный для новичков и IMHO, один из лучших написанных учебников / пособий по программированию сокетов.
Если вы привыкли использовать Windows и .NET, вы можете скомпилировать и запустить свою программу для Linux благодаря Mono http://www.mono-project.com/. Если вы заинтересованы в отправке и получении материалов по HTTP, вы можете посмотреть на http://webserver.codeplex.com/. Я использую оба.
Я бы начал с сокетов в PHP или Java. Затем переходите оттуда, когда все это имеет смысл.
Если вы действительно хотите изучать * nix системы и хотите решить эту проблему, вы должны научиться использовать трубы из командной строки.
Для вашего примера USB to Web я бы написал две программы:
Оттуда вы просто перенаправили бы вывод одного приложения на вход другого:
$ usb_program | web_program
Вот как системы Unix / Linux были впервые разработаны для использования, и ваша проблема представляет собой прекрасный пример того, что должен решать трубопровод.