Member 13244363 Ответов: 1

Отправлять данные с arduino и датчика на компьютер с помощью интернета (вещей)?


Добрый вечер!

Вместе с парой одноклассников мне пришла в голову идея, над которой мы будем работать с августа этого года по март 2018 года в качестве школьного проекта. Мы изучаем электронику, и в качестве оговорки: мы в значительной степени новички в мире программирования, и все, что мы сделали, это немного поработали с Arduino. Однако идея состоит в том, чтобы передавать данные, такие как число, поступающее от датчика, с платы микроконтроллера, такой как Arduino Uno, в компьютерную программу, где они могут отображаться либо как число, либо как представление другого числа. Данные будут отображаться в реальном времени, чтобы мы могли следить за показаниями датчиков в режиме реального времени, и их можно было передавать через Интернет. Arduino с датчиком будет иметь соединение Wi-Fi и / или 2g / 3g / 4g для доступа в Интернет, а компьютер будет просто ноутбуком или настольным компьютером Windows с подключением Wi-Fi или Ethernet.

Мы знаем, что есть такие решения, но это скорее опыт обучения, чем что-либо еще. Мы видели некоторые решения arduino в интернете, но они используют веб-сайты для сбора и отображения чисел. Хотя это работает, это не идеально для нас, но мы понимаем, что программа windows будет самой сложной частью, так как у нас нет никакого опыта работы с базами данных или языками, используемыми для таких задач.

Мы также понимаем, что это может быть и, вероятно, слишком большой кусок, чем мы можем проглотить, но мы все равно хотим попробовать и посмотреть, как далеко мы можем продвинуться, как в программном, так и в аппаратном обеспечении. Мы не из тех людей, которые думают, что это будет легко, даже без каких-либо знаний, но мы хотим попробовать. Кстати, мы уже работали с некоторыми базовыми датчиками, и с этой частью все в порядке. Но что, с вашей точки зрения, думать? С чего бы вы начали, каково ваше мнение о том, что нам нужно? Мы не хотим, чтобы вы предоставили нам полный код, готовый к запуску, но нам нужны некоторые данные сейчас, прежде чем мы начнем с того, что нам нужно делать и как вы бы это сделали. Возможно, мы не понимаем всего, о чем вы говорите, но именно поэтому мы исследуем и продолжим работать над своими знаниями в области программирования.

Спасибо вам за ваши ответы!

Джондив

Что я уже пробовал:

Мы провели некоторые исследования, и, как уже упоминалось, решения, которые люди объяснили, не полностью отвечают нашим потребностям. Опять же, мы знаем, что это большой проект для кого-то вроде нас, может быть, слишком большой, но мы постараемся.

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

(Мы сожалеем, если это не соответствует намерениям этого сайта, но мы думали, что попробуем в любом случае! Если он не подходит, пожалуйста, снимите его и скажите нам, спасибо!)

1 Ответов

Рейтинг:
2

Jochen Arndt

Для такого проекта вам нужна система, которая действует как сервер для ваших данных. Этот сервер должен иметь публичный адрес, по которому можно связаться с клиентом (системой Arduino), и всегда находиться в сети. По этим причинам другие решения часто используют размещенный веб-сайт.

Если вы хотите использовать вместо этого выделенную систему (рабочий стол Windows или ноутбук), вы должны выполнить следующие требования:


  • Сервер должен иметь известный публичный адрес. Это может потребовать у (Динамический DNS-Википедия[^]) и переадресация портов (Переадресация портов - Википедия[^]) для настройки на шлюзе сервера (маршрутизаторе).
  • Система должна быть всегда включена, или вы должны реализовать код на Arduino, который собирает данные и отправляет их, когда сервер находится в сети. Однако способность реагировать на не реагирующие серверы-это всегда хорошая идея.

Поскольку в большинстве примеров используются размещенные службы HTTP (веб-сайты), вы можете запустить веб-сервер в своей системе, используя аналогичную обработку данных. В качестве альтернативы напишите приложение на основе сокета, которое принимает данные, отправляемые с Arduino (Сетевой сокет-Википедия[^]).

Способ хранения и отображения данных на сервере зависит от ваших требований. Общие реализации используют базы данных или файлы данных для фиксированных периодов времени (например, обычный текст или XML-файлы для каждого дня/недели/месяца).

Язык программирования на самом деле не заботится. Все языки VisualStudio обеспечивают поддержку сокетов, баз данных, ввода-вывода файлов и XML.