Возможно ли передавать данные с Arduino Nano на сервер Websocket через USB?

У меня есть Arduino Nano и локальный сервер WebSocket Java (ws://localhost:8888), управляемый файлом .jar на компьютере.

Мне интересно, можно ли отправлять данные (текст, цифры и т.д.) С Arduino Nano на сервер WebSocket через USB-кабель (USB-A к USB Mini, который обычно питает Nano).

Если да, то что мне нужно для этого?

Быстрый поиск в Google библиотек WebSocket для Arduino показывает:

Websockets и Arduino быстроподключаются к Websocket, но, глядя на примеры, в первом используется Ethernet.h, а во втором используется Wifi.h, и я не уверен, совместима ли моя плата с этим без других модулей.

, 👍1

Обсуждение

Я не знаю возможностей, которые у вас есть в WebSocket, но обычный способ связи с Arduino (когда у него нет шляпы Wi-Fi или Ethernet) - через последовательный. Вы можете использовать практически любую библиотеку последовательной связи для отправки строк с/на Arduino., @PMF

Я так и понял, я пробую библиотеку сериальных портов и сталкиваюсь с проблемой, смотрите здесь: https://github.com/serialport/node-serialport/issues/2297, @kevinlinxc

Вы не можете описать, какую ошибку вы получаете, а что не работает., @PMF

Это есть в названии номера и снова упоминается в выпуске, @kevinlinxc


3 ответа


Лучший ответ:

1

Я закончил тем, что использовал Python для подключения Serial к WebSocket. Я также хотел гибкости при отправке с WebSocket обратно в серийный, поэтому я не пробовал предварительно упакованное решение, такое как https://github.com/RandomStudio/serial-to-websocket

,

это то, что РаулГ рекомендовал несколько дней назад. было бы неплохо принять его ответ и не писать новый, @Juraj


0

Нет, ты не можешь. Arduino имеет последовательное соединение, а не сетевое подключение. Если программа Java разработана вами самостоятельно, вам нужно будет переписать ее, чтобы использовать последовательный вместо (или также) веб-пакетов. Либо это, либо напишите отдельную часть программного обеспечения для вашего компьютера, чтобы перейти между последовательным подключением Arduino и интерфейсом WebSockets.

,

3

Как уже сказал @Majenko, ATmega328 использует последовательное соединение для связи. Другой чип на плате переводит последовательные данные в USB-формат и наоборот. Это позволяет вашему компьютеру взаимодействовать с основным чипом Nano (ATmega328). Чтобы решить вашу проблему, вы можете попробовать использовать что-то вроде этого простого сервера узлов последовательного подключения к websocket, который прослушивает данные, поступающие из последовательного порта, и отправляет их через WebSocket.

,