Как импортировать данные с SD-карты на Arduino на компьютер, используя последовательный/COM-порт Arduino?

У меня есть Arduino UNO с Wi-Fi Shield Adaruit. Я успешно сохранил некоторые данные на SD-карте, и теперь мне нужно импортировать эти данные на компьютер.

Я отправляю какой-то токен, скажем, «1», в UART-порт Arduino (COM-порт), на Arduino написан код, который отвечает на этот токен и отправляет данные (байт за байтом) в большом количестве. по серийному номеру Arduino. Я должен принимать байты и сохранять их в файле на локальном компьютере (компьютере) и одновременно загружать на сервер.

(Было бы хорошо, если бы процесс имел поддержку браузера, т.е. я отправлю запрос из веб-браузера в API, и этот API подключится к последовательному порту/COMP-порту моего компьютера, и каким-то образом файл будет создан на локальном компьютере. и данные из Arduino будут сохранены в этом файле; созданный файл будет в конечном итоге загружен на сервер.)

Как это правильно сделать, есть ли для этого API или программное обеспечение?

Пожалуйста, помогите мне.

Заранее спасибо!

, 👍-1


1 ответ


1

Есть пример для ESP8266 (с использованием Arduino IDE) под названием SDWebServer, который может дать вам некоторые идеи, я бы посоветовал вам попробовать, но я сомневаюсь, что библиотеки будут работать на Arduino.

Если вы собираетесь поддерживать веб-API, я бы посоветовал вам реализовать REST API на Arduino, который часто используется для таких вещей.

  1. Клиент (ПК) отправляет HTTP-запрос GET на сервер (Arduino) с нужным токеном.
  2. Сервер отвечает данными, которым соответствует токен.

Вы используете стандартный HTTP (вы можете сделать это через браузер), поэтому он без проблем пройдет через брандмауэры. Это очень распространенный формат, существует множество инструментов для его отладки и руководств для всех видов платформ, на которых вы можете учиться.

Проблема в том, что REST API — не лучшее решение для последовательной связи, я не говорю, что невозможно отправлять сетевые сообщения через последовательный порт, но это было бы некрасиво. Я думаю, вам лучше оставить свой пользовательский интерфейс для серийного номера и перенести как можно больше кода в общие функции, чтобы вы могли использовать его между двумя интерфейсами.

Надеюсь, это поможет

,