Arduino для Windows 10 (32/64 bit)

Добавлено 15 августа 2020 в 13:58

Фантастической особенностью любого микроконтроллера с поддержкой Wi-Fi, такого как ESP8266 NodeMCU, является возможность обновления его прошивки по беспроводной сети. Это называется программированием «по воздуху» (OTA, Over-The-Air).

image
Программирование ESP8266 в Arduino IDE «по воздуху» (OTA, Over The Air)

Что такое OTA программирование ESP8266?

OTA программирование позволяет обновлять/загружать новую программу в ESP8266 с помощью Wi-Fi вместо того, чтобы требовать от пользователя подключить ESP8266 к компьютеру через USB.

Функциональность OTA чрезвычайно полезна в случае отсутствия физического доступа к модулю ESP. Это помогает сократить время, затрачиваемое на обновление каждого модуля ESP при технической поддержке.

Одной из важных особенностей OTA является то, что один центральный объект может отправлять обновления нескольким модулям ESP, использующим одну и ту же сеть.

Единственным недостатком является то, что вам нужно для OTA добавлять дополнительный код в каждый загружаемый скетч, чтобы в следующем обновлении вы смогли снова использовать OTA.

3 простых шага по использованию OTA с ESP8266

  1. Установка Python версии 2.7.x. Первый шаг – установите на компьютер Python версии 2.7.x.
  2. Загрузка базовой OTA прошивки через последовательный интерфейс. Загрузите скетч, содержащий прошивку OTA. Этот шаг обязателен шаг, чтобы вы могли выполнять следующие обновления/загрузки через беспроводную сеть.
  3. Загрузка нового скетча по воздуху. Теперь вы можете загружать новые скетчи в ESP8266 из Arduino IDE по воздуху.

Шаг 1. Установка Python версии 2.7.x

Чтобы использовать функциональность OTA, вам необходимо установить Python версии 2.7.x, если он еще не установлен на вашем компьютере.

Перейдите на официальный сайт Python и загрузите 2.7.x (конкретный релиз) для Windows (установщик MSI).

image
Рисунок 1 – Скачать Python 2.7.x

Откройте установщик и следуйте указаниям мастера установки.

Рисунок 2 – Установка Python 2.7.x на ПК

В разделе настройки Python 2.7.x убедитесь, что включен последний параметр «Add python.exe to Path» (добавить python.exe в путь).

Рисунок 3 – Включите добавление python.exe в путь при установке Python

Шаг 2. Процедура загрузки скетча OTA через последовательный интерфейс

Заводской образ в ESP8266 не поддерживает возможность обновления через OTA. Поэтому вам нужно сначала загрузить на ESP8266 прошивку OTA через последовательный интерфейс.

Этот шаг обязателен для первой прошивки, чтобы вы могли выполнять следующие обновления/загрузки по беспроводной сети.

Дополнение ESP8266 для Arduino IDE поставляется с библиотекой OTA и примером BasicOTA. Вы можете получить к нему доступ через Файл → Примеры → ArduinoOTA → BasicOTA.

Рисунок 4 – Откройте скетч BasicOTA в Arduino IDE

Должен загрузиться следующий код. Но, прежде чем начать загружать скетч в модуль, вам нужно внести несколько изменений, чтобы он у вас заработал. Вам необходимо изменить следующие две переменные в соответствии с учетными данными вашей сети, чтобы ESP8266 мог подключиться к существующей сети.

const char* ssid = "..........";  const char* password = "..........";

После этих изменений загрузите скетч.

#include   #include   #include   #include     const char* ssid = "..........";  const char* password = "..........";    void setup()   {    Serial.begin(115200);    Serial.println("Booting");    WiFi.mode(WIFI_STA);    WiFi.begin(ssid, password);    while (WiFi.waitForConnectResult() != WL_CONNECTED)     {      Serial.println("Connection Failed! Rebooting...");      delay(5000);      ESP.restart();    }      // Порт по умолчанию - 8266    // ArduinoOTA.setPort(8266);      // Имя хоста по умолчанию - esp8266-[ChipID]    // ArduinoOTA.setHostname("myesp8266");      // Аутентификация по умолчанию    // ArduinoOTA.setPassword("admin");      // Пароль может быть зашифрован MD5    // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3    // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");      ArduinoOTA.onStart([]()     {      String type;      if (ArduinoOTA.getCommand() == U_FLASH)        type = "sketch";      else // U_SPIFFS        type = "filesystem";        // Примечание:  NOTE: при обновлении SPIFFS это место для размонтирования SPIFFS с помощью SPIFFS.end()      Serial.println("Start updating " + type);    });    ArduinoOTA.onEnd([]()     {      Serial.println("nEnd");    });    ArduinoOTA.onProgress([](unsigned int progress, unsigned int total)     {      Serial.printf("Progress: %u%%r", (progress / (total / 100)));    });    ArduinoOTA.onError([](ota_error_t error)     {      Serial.printf("Error[%u]: ", error);      if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");      else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");      else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");      else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");      else if (error == OTA_END_ERROR) Serial.println("End Failed");    });    ArduinoOTA.begin();    Serial.println("Ready");    Serial.print("IP address: ");    Serial.println(WiFi.localIP());  }    void loop()   {    ArduinoOTA.handle();  }

Теперь откройте монитор последовательного порта со скоростью 115200 бит/с. И нажмите кнопку RST на ESP8266. Если все в порядке, он выведет динамический IP адрес, полученный от вашего маршрутизатора. Запишите его.

Рисунок 5 – Запишите IP адрес, выделенный для ESP8266 NodeMCU

Шаг 3. Загрузите новый скетч «по воздуху»

А теперь давайте загрузим новый скетч по воздуху, т.е. через Wi-Fi.

Помните! Вам нужно добавлять код для OTA в каждый загружаемый вами скетч. В противном случае вы потеряете возможность прошивки через OTA и не сможете выполнять следующие загрузки через беспроводную сеть. Поэтому рекомендуется изменять приведенный выше код, включая в него ваш новый код.

В качестве примера мы включим простой скетч Blink в код BasicOTA. Не забудьте изменить переменные SSID и пароля на учетные данные вашей сети.

Изменения в программе BasicOTA выделены номерами строк.

#include   #include   #include   #include     const char* ssid = "..........";  const char* password = "..........";    // переменные для мигания светодоиодом  const int led = D0;                // вывод ESP8266, к которому подключен встроенный светодиод  unsigned long previousMillis = 0;  // хранит время последнего обновления светодиода  const long interval = 1000;        // интервал мигания (миллисекунды)  int ledState = LOW;                // ledState используется для установки состояния светодиода    void setup()   {    pinMode(led, OUTPUT);          Serial.begin(115200);    Serial.println("Booting");    WiFi.mode(WIFI_STA);    WiFi.begin(ssid, password);    while (WiFi.waitForConnectResult() != WL_CONNECTED)     {      Serial.println("Connection Failed! Rebooting...");      delay(5000);      ESP.restart();    }      // Порт по умолчанию - 8266    // ArduinoOTA.setPort(8266);      // Имя хоста по умолчанию - esp8266-[ChipID]    // ArduinoOTA.setHostname("myesp8266");      // Аутентификация по умолчанию    // ArduinoOTA.setPassword("admin");      // Пароль может быть зашифрован MD5    // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3    // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");      ArduinoOTA.onStart([]()     {      String type;      if (ArduinoOTA.getCommand() == U_FLASH)        type = "sketch";      else // U_SPIFFS        type = "filesystem";        // Примечание:  NOTE: при обновлении SPIFFS это место для размонтирования SPIFFS с помощью SPIFFS.end()      Serial.println("Start updating " + type);    });    ArduinoOTA.onEnd([]()     {      Serial.println("nEnd");    });    ArduinoOTA.onProgress([](unsigned int progress, unsigned int total)     {      Serial.printf("Progress: %u%%r", (progress / (total / 100)));    });    ArduinoOTA.onError([](ota_error_t error)     {      Serial.printf("Error[%u]: ", error);      if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");      else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");      else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");      else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");      else if (error == OTA_END_ERROR) Serial.println("End Failed");    });    ArduinoOTA.begin();    Serial.println("Ready");    Serial.print("IP address: ");    Serial.println(WiFi.localIP());  }    void loop()   {    ArduinoOTA.handle();      // цикл для мигания без использования задержек    unsigned long currentMillis = millis();    if (currentMillis - previousMillis >= interval)     {      // сохранить последнее внемя, когда мигнули светодиодом      previousMillis = currentMillis;      // если светодиод погашен, включить его, и наоборот      ledState = not(ledState);      // установить состояние светодиода в соответствии с переменной      digitalWrite(led,  ledState);    }  }

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

Как только вы скопируете приведенный выше скетч в Arduino IDE, выберите Инструменты → Порт, и вы должны увидеть что-то вроде этого: esp8266-xxxxxx at ip_адрес_вашего_esp. Если подобного не будет, возможно, вам придется перезапустить IDE.

Рисунок 6 – Выберите порт OTA в Arduino IDE

Выберите порт и нажмите кнопку «Загрузить». Через несколько секунд новый скетч будет загружен. И вы должны увидеть на плате мигающий светодиод.

Рисунок 7 – Рабта тестового скетча Blink на ESP8266 NodeMCU

Теги

Arduino IDEESP8266EspressifIoT (интернет вещей)NodeMCUOTA (Over the Air)Wi-FiWi-Fi модульМикроконтроллер20.03.2020 22:03 Электроника

Arduino IDE — это программная среда разработки, использующая C++ и предназначенная для программирования всех плат ряда Ардуино (Arduino).

Аббревиатура IDE расшифровывается как Integrated Development Environment, в переводе – интегрированная среда разработки. С помощью этой среды программисты пишут программы, причем делают это гораздо быстрее и удобнее, чем при использовании обычных текстовых редакторов, хотя их тоже можно использовать для написания кода программ.

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

Интерфейс Arduino IDE сравнительно простой в освоении, его основой является C++ подобный язык  программирования с предопределенными функциями. Для программирования Arduino используется упрощенная версия языка C++. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Так же как и C++ язык является жестко типизированным и компилируемым. Пример простого скетча для Arduino IDE:

 /*   Blink   Turns on an LED on for one second, then off for one second, repeatedly.     This example code is in the public domain.  */   // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13;   // the setup routine runs once when you press reset: void setup() {                   // initialize the digital pin as an output.   pinMode(led, OUTPUT);      }   // the loop routine runs over and over again forever: void loop() {   digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)   delay(100);                // wait for a second   digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW   delay(100);                // wait for a second } 

Так же  Arduino IDE обладает широким спектром поддерживаемых плат: Arduino UNO, Arduino Nano, ESP32, ESP8266, семейство микроконтроллеров Attiny и т.д. Вы можете подключить любую поддержку плат через встроенный менеджер плат Arduino IDE:

На сегодняшний день с помощью Arduino IDE программируют всевозможные интерактивные, обучающие, экспериментальные, развлекательные модели и устройства.

Скачать Arduino IDE на официальном сайте arduiono.cc

Еще по теме Arduino

ATtiny85 прошивка при помощи Arduino IDE 1.8

Arduino. Используем Xinda – инфракрасный пульт управления (IR remote control)

Arduino. ESP32 Wemos. Пример скетча Blink

Универсальность шины USB создает большую поверхность атаки. Исследователи из Университета Бен-Гуриона выделяют почти три десятка хакерских техник использования USB. В данной статье мы рассмотрим один из самых эффективных вариантов — автоматизированную отправку команд при помощи самодельного устройства класса HID.

HID-атаки

HID-атака — хитрая разновидность BadUSB. Ее суть сводится к тому, что в USB-порт вставляется простейший хакерский девайс, эмулирующий устройство ввода. Практически любая современная ОС поддерживает plug-n-play и содержит универсальный драйвер устройства каждого класса. Хакерский девайс автоматически определяется ОС как нужный нам Human Interface Device — HID. Далее ОС безо всяких проверок принимает его команды.

Есть много готовых девайсов для атак через USB-порт. Например, Rubber Ducky и ее разновидности. На мой взгляд, интереснее разобраться, как сделать такую штуку самому. Это довольно просто (когда знаешь как) и дешево. Нам даже флешка на этот раз не понадобится.

Преимуществ HID-атаки перед атакой вручную сразу несколько: это скорость, незаметность и автоматизация. Все необходимые действия выполнятся быстрее, чем ты сможешь набрать то же на клавиатуре, и без опечаток (если их не было изначально). Подключить к USB-порту миниатюрное устройство можно за пару секунд. Это не такое палево, как садиться за чужую клавиатуру и поминутно оглядываться через плечо. Из-за малых габаритов самодельный девайс легко спрятать и пронести через охрану даже на режимный объект. В крайнем случае можно просто выдать его за флешку и «случайно» уничтожить легким нажатием ботинка, после чего изготовить хоть мешок других таких же.

WARNING

Статья написана в исследовательских целях. Вся информация в ней носит ознакомительный характер. Ни автор, ни редакция не несет ответственности за неправомерное использование упомянутых в ней аппаратных платформ, программ и техник!

Выбираем аппаратную платформу

Сотворить такую хакерскую железку можно и на одноплатниках (вроде Raspberry Pi), но это все равно что перевозить ноутбук на фуре. Есть «братья меньшие» не такие известные, но не менее «злые» и опасные в руках из плеч. По сути, для выполнения HID-атаки нам необходим микроконтроллер, USB-порт и минимальная электронная обвязка, чтобы это все заработало.

Arduino Micro Pro

На мой взгляд, это один из идеальных кандидатов на роль хакерского девайса.

Другие статьи в выпуске:

Xakep #234. Взломать iPhone

← Ранее Google принудительно авторизует пользователей в Chrome Далее → Международную киберпреступность обсудят в Москве в рамках CyberCrimeCon 2018

Arduino – это программа-контроллер для программирования различных автоматических устройств.

Применение

Программное обеспечение Arduino состоит из нескольких частей – среды разработки и платы. Для начала Вам нужно будет скачать программу. С ее загрузкой и использованием проблем возникнуть не должно, так как софт распространяется совершенно бесплатно и имеет русскоязычную локализацию. После этого следует купить специальную плату. Имейте в виду, что без ее приобретения в установке софта нет никакого смысла. 

Сама же плата нужна для того, чтобы подключать к ней различные элементы вроде лампочек, моторчиков, датчиков, динамиков и прочих деталей. Ну а с помощью контроллера можно будет написать программу, которая всем этим созданным устройством будет управлять. Помимо всего прочего, Arduino умеет подключаться к ПО, установленному на компьютере пользователя. Среди тех программ, с которыми она интегрируется — Pure Data, Macromedia Flash, Super Collider и несколько других. 

Интерфейс

Интерфейс у Arduino довольно лаконичный. На верхней панели можно найти кнопки «Файл», «Правка»,»Скетч», «Сервис» и «Справка». Под ними также расположено несколько функциональных клавиш, чей функционал можно понять по присутствующим на них иконкам. Среда разработки включает в себя немного примитивный редактор кода, компилятор и модуль, с помощью которого можно загружать прошивки на плату, используя для этого USB-кабель. Чтобы воспользоваться всеми этими модулями, необходимо владеть языком программирования С++, так как написание прошивок будет происходить именно на «плюсах».

Ключевые особенности

  • позволяет создавать роботизированные устройства и полностью управлять ими;
  • при установке ПО следует дополнительно купить плату и USB;
  • подходит для использования начинающими программистами;
  • взаимодействует с некоторыми из установленных на ПК программ;
  • при программировании использует язык С++;
  • поддерживает все актуальные версии Windows;
  • включает в себя компилятор и инструменты дебаггинга;
  • имеет очень прагматичную графическую оболочку. 

Что такое Arduino

Если называть вещи своими именами, то Arduino — это конструктор для тех, кому надоело созидать бесполезные образы и захотелось хоть немного наделить их жизнью. В самом простейшем случае Arduino — печатная плата, на которой расположен контроллер, кварцевый генератор, АЦП/ЦАП, несколько разъёмов, диодов и кнопок. Остальное — дело рук хозяина: хотите — создавайте робота, хотите — программно-аппаратную платформу для «умного» дома, ну или забудьте про практическую пользу и развлекайтесь.

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

Arduino достаточно ограниченная платформа в плане возможностей программирования, особенно в сравнении с Raspberry Pi. В силу того, что порог входа неприлично низкий (базовый Tutorial занимает 3 листа формата A4), то рассчитывать на изобилие языков без подключения дополнительных модулей не приходится. За основу здесь принят C/C++, но с использованием различных IDE и библиотек вы получите доступ к оперированию Python, C#, Go, а также таким детским развлечениям, как Snap! и ArduBlock. О том как, когда и кому их использовать, поговорим далее.

C/C++

Базовый язык платформы Arduino, который с некоторыми доработками и упрощениями используется в стандартной программной оболочке. Найти все доступные команды «для новичка» можно здесь, но никто не мешает вам воспользоваться исходными возможностями языка C++, никаких надстроек не потребуетс. Если же есть желание поиграть с «чистым» C, то к вашим услугам программа WinAVR, предназначенная, как следует из названия, для взаимодействия ОС Windows и МК серии AVR, которые и используются на Arduino. Более подробное руководство можете прочитать вот здесь.

Использование C/C++ рекомендуется тем, кто уже имеет представление о программировании, выучил в школе пару языков и хочет создать на Arduino что-то большее, чем светодиодную «мигалку» или простую машинку.

Ardublock

Временно отойдем от языков взрослых к любимому ребятней языку Scratch, а вернее к его адаптации — Ardublock. Здесь всё тоже самое, но с адаптацией к вашей платформе: цветные блоки, конструктор, русские названия, простейшая логика. Такой вариант здорово подойдет даже тем, кто с программированием не знаком вовсе. Подобно тому, как в языке Logo вы можете перемещать виртуальную черепашку по виртуальной плоскости, здесь с помощью нехитрых операций вы можете заинтересовать ребенка реальной интерпретацией его программных действий.

Да, кстати, для использования необходимо на вашу стандартную среду Arduino IDE установить плагин. Последние версии лучше не хватать, они довольно сложные, для начала подойдет датированная концом 2013 года. Для установки скачанный файл переименовываем в «ardublock-all» и запихиваем в папку «Мои документы/Arduino/tools/ArduBlockTool/tool». Если её не существует – создаем. Если что-то не поняли, то вот здесь более подробно.

Snap!

По сравнению с Ardublock, Snap! имеет расширенные возможности в виде дополнительных блоков, возможности использования списков и функций. То есть Snap! в общем и целом уже похож на взрослый язык программирования, не считая, что вам по прежнему необходимо играть в конструктор кода.

Для того, чтобы использовать этот язык, придется сходить на сайт snap4arduino.org и скачать необходимые компоненты для вашей ОС. Инструкции по установке, использованию и видеопримеры ищите здесь же.

Рекомендуется младшей возрастной группе, тем, кто учил программирование так давно, что уже ничего не помнит и тем, кто хочет завлечь своего ребенка в IT через Scratch и Snap!.

Python

Формально программировать на Arduino вы можете используя хоть язык Piet, просто потому что при должном упорстве вы скомпилируете в машинный код что угодно. Но в силу того, что Python — один из наиболее популярных языков с практически оптимальным сочетанием сложностьвозможности, то обойти стороной его применяемость в Arduino было бы нелепо. Начать изучение Python вы можете с нашего бесплатного интенсива “Основы языка Python”.

Итак, для этого вам понадобится библиотеки PySerial (ранее, возможно, вы использовали её для общения с портами компьютера) и vPython. О том, как правильно всё настроить и заставить в конечном счёте работать, можете соответственно почитать здесь и здесь.

Go и другие языки.

Подобно тому, как Arduino взаимодействует с Python через библиотеку PySerial, он может взаимодействовать и с Go, и c Java, и с HTML, и с чем только захотите. Arduino — достаточно популярная платформа, чтобы такой банальный вопрос, как выбор удобного языка, не остановил очередного исследователя. Единственное, что требуется от владельца этой маленькой платы — задумать что-нибудь удивительно интересное, а удобный инструмент неизбежно найдётся.

“>

Начать свой путь в IT бывает очень сложно хотя бы просто потому, что глядя на окружающие технологии невозможно отделить «железный» интерес от программного. С одной стороны — желание создать устройство с безупречным внешним видом, множеством датчиков и безграничными возможностями, с другой — таинство обработки данных, стремление максимально увеличить быстродействие, не пренебрегая функциональностью. Arduino — первый шаг к большим изобретениям, не требующий ни глубоких знаний схемотехники, ни опыта в программировании.

image

Что такое Arduino

Если называть вещи своими именами, то Arduino — это конструктор для тех, кому надоело созидать бесполезные образы и захотелось хоть немного наделить их жизнью. В самом простейшем случае Arduino — печатная плата, на которой расположен контроллер, кварцевый генератор, АЦП/ЦАП, несколько разъёмов, диодов и кнопок. Остальное — дело рук хозяина: хотите — создавайте робота, хотите — программно-аппаратную платформу для «умного» дома, ну или забудьте про практическую пользу и развлекайтесь.

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

Arduino достаточно ограниченная платформа в плане возможностей программирования, особенно в сравнении с Raspberry Pi. В силу того, что порог входа неприлично низкий (базовый Tutorial занимает 3 листа формата A4), то рассчитывать на изобилие языков без подключения дополнительных модулей не приходится. За основу здесь принят C/C++, но с использованием различных IDE и библиотек вы получите доступ к оперированию Python, C#, Go, а также таким детским развлечениям, как Snap! и ArduBlock. О том как, когда и кому их использовать, поговорим далее.

C/C++

Базовый язык платформы Arduino, который с некоторыми доработками и упрощениями используется в стандартной программной оболочке. Найти все доступные команды «для новичка» можно здесь, но никто не мешает вам воспользоваться исходными возможностями языка C++, никаких надстроек не потребуетс. Если же есть желание поиграть с «чистым» C, то к вашим услугам программа WinAVR, предназначенная, как следует из названия, для взаимодействия ОС Windows и МК серии AVR, которые и используются на Arduino. Более подробное руководство можете прочитать вот здесь.

Использование C/C++ рекомендуется тем, кто уже имеет представление о программировании, выучил в школе пару языков и хочет создать на Arduino что-то большее, чем светодиодную «мигалку» или простую машинку.

Ardublock

Временно отойдем от языков взрослых к любимому ребятней языку Scratch, а вернее к его адаптации — Ardublock. Здесь всё тоже самое, но с адаптацией к вашей платформе: цветные блоки, конструктор, русские названия, простейшая логика. Такой вариант здорово подойдет даже тем, кто с программированием не знаком вовсе. Подобно тому, как в языке Logo вы можете перемещать виртуальную черепашку по виртуальной плоскости, здесь с помощью нехитрых операций вы можете заинтересовать ребенка реальной интерпретацией его программных действий.

Да, кстати, для использования необходимо на вашу стандартную среду Arduino IDE установить плагин. Последние версии лучше не хватать, они довольно сложные, для начала подойдет датированная концом 2013 года. Для установки скачанный файл переименовываем в «ardublock-all» и запихиваем в папку «Мои документы/Arduino/tools/ArduBlockTool/tool». Если её не существует – создаем. Если что-то не поняли, то вот здесь более подробно.

Snap!

По сравнению с Ardublock, Snap! имеет расширенные возможности в виде дополнительных блоков, возможности использования списков и функций. То есть Snap! в общем и целом уже похож на взрослый язык программирования, не считая, что вам по прежнему необходимо играть в конструктор кода.

Для того, чтобы использовать этот язык, придется сходить на сайт snap4arduino.org и скачать необходимые компоненты для вашей ОС. Инструкции по установке, использованию и видеопримеры ищите здесь же.

Рекомендуется младшей возрастной группе, тем, кто учил программирование так давно, что уже ничего не помнит и тем, кто хочет завлечь своего ребенка в IT через Scratch и Snap!.

Python

Формально программировать на Arduino вы можете используя хоть язык Piet, просто потому что при должном упорстве вы скомпилируете в машинный код что угодно. Но в силу того, что Python — один из наиболее популярных языков с практически оптимальным сочетанием сложностьвозможности, то обойти стороной его применяемость в Arduino было бы нелепо. Начать изучение Python вы можете с нашего бесплатного интенсива “Основы языка Python”.

Итак, для этого вам понадобится библиотеки PySerial (ранее, возможно, вы использовали её для общения с портами компьютера) и vPython. О том, как правильно всё настроить и заставить в конечном счёте работать, можете соответственно почитать здесь и здесь.

Go и другие языки.

Подобно тому, как Arduino взаимодействует с Python через библиотеку PySerial, он может взаимодействовать и с Go, и c Java, и с HTML, и с чем только захотите. Arduino — достаточно популярная платформа, чтобы такой банальный вопрос, как выбор удобного языка, не остановил очередного исследователя. Единственное, что требуется от владельца этой маленькой платы — задумать что-нибудь удивительно интересное, а удобный инструмент неизбежно найдётся.

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий