2017-01-18 28 views
0

Позвольте мне сказать, что я полный новичок на микроконтроллерах. Так что, пожалуйста, помогите!Подключите микроконтроллер к Интернету и загрузите данные из API

Я хочу использовать микроконтроллер с сохраненной памятью временных меток на один год. Причина в том, что я хочу написать простой условный сигнал, который будет вызывать выход в зависимости от этих времен дня (например, сегодня, если время == X, установить выход = 1)

Мой вопрос в том, как я могу получить данные временной метки в микроконтроллер? Фактически это можно загрузить через API - могу ли я выполнить вызов API и загрузить информацию через микроконтроллер, или есть другой способ хранения данных в его памяти?

Любая помощь была бы чрезвычайно оценена!

+2

Недостаточно «микроконтроллера» - это далеко от «микроконтроллера» до «подключенной к Интернету системы *» (больше аппаратного обеспечения и, конечно, больше программного обеспечения). Опишите вашу * систему *. Если вопрос (или становится) "* какое оборудование мне нужно? *", Тогда SO не тот вопрос, о котором вы спрашиваете - вы можете спросить о программном обеспечении, но ваш широкий вопрос может получить только широкие ответы, и это может не быть быть тем, что вам нужно. – Clifford

+0

Считаете ли вы использование малинового пи? Сравнительно недорого, вы можете хранить метки времени в файле и легко переключаться с цифровым выходом с помощью скрипта python. Описание проблемы довольно тонкое, поэтому я не уверен, что это то, что вы ищете, но похоже, что это может быть хорошо. – semaj

+0

Можете подумать о Пи - никогда не думал об этом. Думаю, в этом случае я буду внедрять логику в Pi, а затем запускать выходную радиопередачу для управления другим набором устройств. Благодарю semaj! – genesis

ответ

-1

Ответ на ваш вопрос зависит от ваших требований к конструкции и ограничивает:

  • , что микроконтроллер вы хотите использовать, и сколько памяти он будет иметь в своем распоряжении?
  • Может ли он подключиться к Интернету? Доступно ли подключение к Интернету все время?
  • Как узнать, какое время это время?
  • делать временные метки со временем? Например. как только вы скачали, список временных меток устареет?

Существует множество возможных подходов: вы можете загружать данные вручную и записывать на SD-карту или внутреннюю память микроконтроллера (если набор данных невелик). Или вы можете запрограммировать микроконтроллер для загрузки данных с использованием API. Просто имейте в виду ограничения памяти. Многие устройства имеют только 1-2 КБ ОЗУ, поэтому загрузка всех данных сразу и сохранение их в ОЗУ может стать проблемой.

+0

Да, предположим, что интернет доступен все время, и что я использую контроллер, который может подключиться. Загружается набор временных меток за день, поэтому этот процесс происходит каждый день (что должно исключать проблемы с размером данных). Ваш третий вопрос о том, как он знает, какое время это - я не уверен. Если бы вы могли поделиться некоторыми соображениями относительно погоды, это можно сделать с минимальным количеством оборудования, которое было бы действительно оценено. – genesis

-1

«Микроконтроллер» не является полной системой, и они не все одинаковы. Это может быть скромный 8-битный 8051-код с открытым кодом, или это может быть 32-разрядный чип, способный работать под управлением Linux. Существует много дополнительного оборудования и программного обеспечения между «микроконтроллером» и Интернетом.

С точки зрения программного обеспечения (и это область действия, в которой вопрос действителен для StackOverflow), для сетевого интерфейса (обычно Ethernet) требуется как минимум стек TCP/IP, так и драйверы. Как вы храните данные полностью в пределах вашего дизайна; ваша система может иметь файловую систему или может иметь только небольшое количество EEPROM, или вы можете сохранить ее в встроенной флэш-памяти, например. Вы должны адаптировать свое программное решение к аппаратным ресурсам, доступным в вашей системе (и ваша система - это не просто микроконтроллер).

С учетом стека TCP/IP «API» будет тем, что обеспечивает этот стек - это может быть полный API сокетов BSD или что-то более легкое. Он может или не может обеспечивать протоколы уровня приложения, такие как FTP, Telnet или SSH. Для этого простого приложения, вероятно, достаточно проприетарного протокола приложения, позволяющего работать на уровне сокета TCP/IP.

Еще одна вещь, которую следует учитывать, - время, из которого приходит время. Будет ли система иметь RTC (требуется кристалл RTC и аккумулятор), или он получит время через интернет-соединение, GPS или другой источник?

+0

Система предназначена для управления несколькими устройствами вывода в зависимости от закодированного условного обозначения. Но значения проверки различаются ежедневно, поэтому мне нужно, чтобы контроллер запрашивал ежедневные данные перед запуском условного. И эти ежедневные данные могут быть получены через API онлайн - так что да, он получит время через интернет-соединение. Скажем, что мы будем использовать встроенный EEPROM. Моя проблема заключается в написании фактического кода для ежедневного получения данных. Как я могу это сделать? Нужен ли мне стек TCP/IP внутри контроллера? Какое программное обеспечение используется для этого? – genesis

+0

Протокол Интернета - TCP/IP, поэтому да, вам обязательно понадобится стек TCP/IP. Существуют интерфейсные модули, поддерживающие TCP/IP для последовательного моста для подключения простых устройств, которые имеют только последовательный ввод-вывод. Некоторые из этих модулей поддерживают код пользователя и имеют некоторый GPIO, поэтому могут поддерживать ваше приложение автономно. Обратите внимание, что стек TCP/IP значительно больше и сложнее, чем ваше предполагаемое приложение - это будет большая часть кода и оборудования. – Clifford

+0

Хорошо, как я могу научиться кодировать стек TCP/IP? Не могли бы вы предоставить некоторые рекомендации для начинающих, если вы знаете их? – genesis

 Смежные вопросы

  • Нет связанных вопросов^_^