Новая плата Arrow ASME Tiger является последним дополнением к линейке ASME, ориентированной на аппаратное прототипирование IoT. На плате установлены два микроконтроллера для разных типов разработки в зависимости от потребностей операторов. Плата готова к работе с Thread и WiFi, а также Tiger совместим с Arduino.
MCU следующие:
Рабочий блок предназначен для приложений с очень низким энергопотреблением. Встроенный балун снижает стоимость системы и площадь платы, а датчики многочисленны и легко доступны. Вы найдете руководство пользователя (PDF), а также загрузчик и пример кода на Github.
KW41Z — это микроконтроллер NXP ARM Cortex-M0 +, одночиповое устройство со сверхнизким энергопотреблением, обеспечивающее низкое энергопотребление Bluetooth (BLE) v4. 2 и IEEE 802.15.4 RF для легкой переносимости и встраиваемых систем с чрезвычайно низким энергопотреблением.
KW41Z включает приемопередатчик 2,4 ГГц, который полностью поддерживает модуляции FSK/GFSK и OQPSK, с процессором ARM Cortex-M0 +, флэш-памятью объемом до 512 КБ, 128 КБ SRAM, пакетным процессором 802.15.4.Безопасность периферийных устройств и оборудования оптимизирована для соответствии с требованиями приложений-прототипов IoT, а также других приложений.
Блок-схемаПлата крепкая и легко монтируется, компоновка подходит для разработки прототипа, порты и входы/выходы размещены на внешних краях для легкого доступа. ASME Tiger имеет множество применений, и это дополнение может быть значительно расширено в отрасли IoT. Если вам нужна дополнительная информация, ее можно найти на странице продукта на веб-сайте Midatronics , а также на странице Arrow, если вы собираетесь приобрести плату.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software. com.
Оригинал статьи вы можете прочитать здесь.
Программированиеспросил
Изменено 6 лет, 2 месяца назад
Просмотрено 5к раз
Ну вот я только начал изучать концепцию многопоточности с C++ и сразу в голову пришла куча вопросов о возможности использования многопоточности с микроконтроллерами вообще и Arduino в частности.
Итак, можно ли использовать многопоточность на любом типе плат Arduino?
2
В Cosa вы можете найти следующую поддержку параллельного программирования:
Существует множество примеров их использования. Хорошей отправной точкой являются наброски Blink. Существует даже многопоточный пример Blink с потоком, который включает/выключает светодиод, и потоком контроллера, который периодически меняет период мигания. Размер стека потока составляет всего 64 байта, и он работает даже на ATtiny.
Со всеми внутренними аппаратными модулями AVR (такими как SPI, TWI, UART и т. д.) существует множество возможностей для параллелизма.
Также доступна библиотека планировщика для ядра Arduino. Это порт Cosa Threads. Пожалуйста, смотрите github для получения дополнительной информации.
Ура!
2
Самый быстрый ответ — «может быть» — это зависит от того, что вы подразумеваете под «Arduino» и что вы подразумеваете под «потоком».
Ответ, вероятно, будет отличаться для Arduino на базе AVR (Uno и др.) по сравнению с Arduino на базе ARM (Due и др.) — я ожидаю, что аппаратная поддержка «настоящих» потоков на процессорах ARM будет намного лучше. . Еще один вопрос, на который вы хотели бы ответить: «Почему потоки?» Вы хотите, чтобы абстракция помогла вам организовать ваш код? Или вам действительно нужны «настоящие» темы?До того, как появилась поддержка аппаратных потоков (например, в середине 80-х), существовали реализации пользовательских потоков, и вполне возможно, что их можно будет адаптировать для работы даже на AVR. Я ожидал, что это будет что-то вроде проекта.
Существует пакет потоков под названием Protothreads, который может быть интересен. В описании говорится: «Протопотоки — это чрезвычайно легкие бесстебельные потоки, разработанные для систем с жестким ограничением памяти». Я нашел еще один вопрос о простом использовании Protothreads, поэтому кажется, что вы можете найти других пользователей пакета.
Вы также можете найти полезную информацию в этом вопросе Stack Exchange о потоках. Быстрый поиск «потоки пользователей C» нашел эту реализацию на первой странице – и я уверен, что их гораздо больше.
Поиск по теме «Arduino threads» нашел еще несколько интересных ссылок:
Если вам нужны только потоки, небольшая и недорогая плата и контакты ввода-вывода, возможно, стоит подумать о Raspberry Pi — в Linux есть поддержка потоков.
3
Есть один Arduino-подобный продукт, который, безусловно, может поддерживать многопоточность, поскольку он многоядерный: Shield Buddy TC275.
Итак, в основном у вас есть три функции setup()
и три loop()
функций. Настоящая многопоточность.
4
Я использую Atomthreads на Atmega128, он очень легкий с минимальными накладными расходами. Есть планировщик задач, мьютекс, семафоры и очередь. Код является переносимым, но может потребоваться некоторая настройка для использования с Arduino IDE (я использую Atmel Studio). Я в основном использую планировщик задач, никогда не было проблем. Только что проверил, разработка еще активна.
1
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Электронная почта
Требуется, но никогда не отображается
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.≡ Страниц
Авторы: РБЕРЛИА
Избранное Любимый 26
Thread — это открытый стандарт для надежной, экономичной, маломощной беспроводной связи D2D (устройство-устройство). Он был разработан специально для подключенных домашних приложений.
Возникла в 2014 году, когда была создана Thread Group. Теперь у него есть крупные организации, такие как Google, Samsung, Qualcomm и ARM, для проектирования и разработки протокола Thread.
Источник: thread.org
Nest использует сеть Thread для своих продуктов Thermostat и Nest Cam.
Основан на стандартной архитектуре 802.15.4 (6loWPAN). Самое приятное в Nest то, что это открытый протокол со встроенным интернет-протоколом версии 6 (IPv6).0005
Протокол потока определяет три основных типа устройств в сети:
Источник: Основы стека потоков, 2015 г. , Wi-Fi, Ethernet). Если один граничный маршрутизатор выходит из строя, другой маршрутизатор в сети может взять на себя роль граничного маршрутизатора, обеспечивая надежность протокола Thread.
Маршрутизаторы, как следует из названия, предоставляют услуги маршрутизации для сетевых устройств. Они используются при вводе в эксплуатацию новых устройств в сети. Как правило, маршрутизаторы всегда активны, но их можно понизить до статуса REED (конечные устройства, соответствующие требованиям маршрутизатора). Эти устройства используются не для маршрутизации или передачи данных в сети Thread, а в качестве резервной конечной точки, которую можно вызвать, чтобы при необходимости взять на себя роль маршрутизатора.
Это конечные точки сети Thread, также называемые хост-устройствами. Хост-устройства — это индивидуальное функциональное оборудование с IP-адресом, такое как термостаты, камеры видеонаблюдения, обогреватели и т. д. Эти устройства также можно назвать сонными детьми или сонными узлами. Маршрутизатор, подключенный напрямую к спящему устройству, называется родительским. Спящие устройства (конечные точки) проводят большую часть времени в спящем режиме и просыпаются только для передачи данных. Они общаются только через родительское устройство (например, термостат Nest — это сонливое оконечное устройство).
В отличие от WiFi, в котором используется режим инфраструктуры, Thread использует специальный режим сети.
Примечание.