Поддержка Arduino Due HTTPS
В предыдущих версиях Arduino, ограничивающей 8-разрядную плату микроконтроллера, кажется, что внедрение HTTPS (а не просто HTTP) было практически невозможным. Но новая версия Arduino Due обеспечивает 32-битное ядро ARM - см. Здесь .
Я попытался проверить несколько сетевых библиотек (libcurl, openssl, yaSSL), но я не нашел никого, кто уже портирован для работы с Arduino Due.
OpenSSL, вероятно, слишком тяжел, чтобы работать на этом процессоре, но я считаю, что yaSSL в качестве встроенной библиотеки сделать.
Есть ли у вас информация о библиотеке, которую я могу использовать для запуска запросов HTTPS на Arduino Due?
Ответы
Ответ 1
К сожалению, это слишком долго для комментария.
► Нет готового решения
Из того, что я собрал, нет простого решения для веб-сервера, работающего на процессоре Atmel SAM3X8E ARM Cortex-M3, который выводит HTTPS из коробки.
Texas Intstruments предоставляет лучшие варианты на данный момент, используя свои платы, оснащенные процессором Intel Core Cortex-M3 с микроконтроллером Stellaris.
► Альтернатива
Существует несколько вариантов, которые предоставляют криптографические функции, на основе которых можно было бы разработать и реализовать простой протокол защищенной связи доступно. Это может показаться уродливым или жестким, но гораздо проще, чем делать программные основы для веб-сервера с полной поддержкой TLS 3 на Arduino. Учитывая правильную мотивацию, последнее может быть легким, но не для того, чтобы просто стремиться к быстрому прагматическому решению одного собственного проекта.
► Криптографические библиотеки
► Обсуждения
Ниже приведен список дискуссий, которые помогут вам начать:
Многие из этих библиотек все равно должны быть адаптированы, но эксперты могут помочь вам в этом довольно быстро.
Удачи! Если вы можете загрузить свой последний проект в github, вы просто получили благодарность и последователь.
Ответ 2
Большая проблема с поддержкой https на arduino - это опасность перегрузки вашего процессора, который может сделать проект нежизнеспособным.
Даже встроенные платформы, такие как PolarSSL, могут потреблять слишком много памяти и использовать слишком большую вычислительную мощность. Помните, что даже в самых оптимизированных реализациях поддержка SSL должна быть обобщена для широкого внедрения и будет включать компоненты, которые вы не найдете необходимыми. Там также вопрос о том, какие сертификационные центры вы будете доверять, и как вы будете общаться с ними для таких вещей, как аннулирование сертификата.
Я бы посмотрел вместо этого на решение, которое не так ломается на поверхности для ваших нужд. Что-то вроде CurveProtect, которое представляет собой реализацию CurveCP.
Конечно, ваше решение будет в основном основано на том, что вы хотите сделать, и сколько времени вы хотите потратить на выяснение проблемы. PolarSSL имеет площадь, которая может быть как 30K (более типично близко к 100K).
Ответ 3
IMHO Arduino (включая DUE) является неправильным инструментом для тяжелой и/или зашифрованной веб-связи. Я настоятельно рекомендую искать более подходящее оборудование в том же размере и ценовом диапазоне. Как только вы попадете в https, вы будете достаточно близки, чтобы также хотеть многое из того, что предоставляют реальные операционные системы. Другими словами, я предлагаю пойти на что-то вроде Распи. Подобный размер и приз, но более мощный, особенно он может запускать Linux. → HTTPS становится простым.