Всем привет! Моя компания основана на разработке программного обеспечения, но также наша другая команда основана на образовании. Мы даем роботизированное образование кодирования начальным/средним школам. У нас есть веб -сайт, на котором много уроков о робототехнике и 3D -принтерах. Мы перепроектируем этот сайт, и я являюсь частью этого. Когда я иду на сайт, я задавался вопросом, как работают эти доски, что может сделать с этим. Я искал в Google, я был немного смущен Так что, наконец, я получил все ингредиенты из нашего офиса и начал этот пост. Давайте вместе сделаем «домашний выключатель света» и посмотрим, как это работает. Я буду использовать Fedora Но вы можете использовать любые дистрибутивы Linux, Windows или MacOS.
Ингредиенты для вашего домашнего выключателя света
- Arduino uno с USB -портом
- Arduino Ide
- OpenJDK
- Git (это не обязательно)
- Подключение к Интернету
- ” Root »доступ к машине разработки
- Node.js
- Джонни-Фив и Нарф
Давайте начнем
Установите Arduino IDE из https://www.arduino.cc/en/main/software , выберите свою ОС, загрузите файл и настройку или установку из командной строки
sudo dnf установить arduinoУстановите OpenJDK из https://jdk.java.net/13/ или из командной строки:
SUDO DNF Установить Java-11-Openjdk.x86_64(Для обнаружения вашей карты Arduino).Подключите плату к компьютеру USB TTL Serial Cable (USB-A до USB-B).
Давайте проверим наше устройство, которое правильно подключается к нашему ПК: Наша команда:
dmesg | хвостЭто будет перечислять все наши соединения. Если вы видите, как вывод ниже:
[fedora@localhost ~]$ dmesg | tail [ 144.148444] atkbd serio0: Use 'setkeycodes e02b' to make it known. [ 1079.091148] usb 1-1: USB disconnect, device number 5 [ 1079.092304] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0 [ 1079.092381] ch341 1-1:1.0: device disconnected [ 1081.563604] usb 1-1: new full-speed USB device number 7 using xhci_hcd [ 1081.691846] usb 1-1: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54 [ 1081.691856] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 1081.691862] usb 1-1: Product: USB2.0-Serial [ 1081.694861] ch341 1-1:1.0: ch341-uart converter detected [ 1081.695788] usb 1-1: ch341-uart converter now attached to ttyUSB0
Если вы видите что -то подобное, поздравляю! Ваше устройство успешно подключено.
Настройка проекта Workspace: Вам нужно будет создать и настроить рабочее пространство проекта для создания приложения Arduino. Для нашего проекта мы будем использовать node.js в качестве языка для создания коммутатора. Есть несколько способов создания такого рода приложения, это не имеет значения, вы можете использовать любой язык для этого, но чтобы помочь вам начать, я создал HTML -страницу и файл JavaScript, который вы можете использовать для своей собственной настройки. Вы можете найти мой демонстрационный код, доступный на Gitlab. Для этого проекта вам понадобится копия файлов index.html и connectarduino.js. Вы можете скопировать и вставить два файла в рабочее пространство проекта, которое вы создали ранее. Gitlab Project: https://gitlab.com/burakibis/hello-little-arduino
Настройка node.js Теперь, когда у нас есть наши рабочие пространства и файлы, необходимые для запуска проекта, нам нужно будет настроить сервер Node.js для запуска приложения. Начнем с запуска «Сервер Switch Switch», вам нужно будет установить node.js и npm, диспетчер пакетов для приложений node.js. Введите следующие команды, чтобы установить необходимые зависимости с помощью диспетчера пакетов узлов: Для установки node.js:
sudo dnf install npm nodejs
Для строительства JSON API с JavaScript:
npm install narf
Для связи с нашей доской Arduino:
npm install serialport
Нам нужна структура робототехники для кодирования нашей доски. Мы будем использовать Johnny Five. Johnny-Five-это открытый исходный код, основанную на протоколе Firmata, IoT и робототехническую структуру, разработанную в Bocoup. Программы Johnny-Five могут быть написаны для Arduino (All Models), Electric IMP, Beagle Bone, Intel Galileo & Edison, Linino One, Pinoccio, Pcduino3, Raspberry Pi, Particle/Spark Core & Photon, Tessel 2, Ti Launchpad и More!
npm install johnny-five
Для установки всех зависимостей:
npm install
- Некоторые из зависимостей были изменены и не работают правильно, поэтому вы можете получить такую ошибку:
home/burak/Arduino/projects/hello-little-arduino/node_modules/pageserver/lib/pageserver.js:97
var type = mime.lookup(filepath);
^
TypeError: mime.lookup is not a function
at /home/burak/Arduino/projects/hello-little-arduino/node_modules/pageserver/lib/pageserver.js:97:37
at suppressedCallback (fs.js:199:5)
at FSReqWrap.args [as oncomplete] (fs.js:140:20)
Не волнуйся!. Мы просто исправляем файл на Your_path/hello-little-arduino/node_modules/pageserver/lib/pageserver.js: 97 В новой версии Mime Переименованные некоторые методы, поэтому мы должны перейти к файлу и изменить эту строку var.lookup (filepath); к var.getType (filePath); Сохраните и закройте этот файл.
Финал
Итак, мы готовы запустить наш проект! Давайте сделаем это: запустить Узел Connectarduino.js на консоли и написать http://127.0.0.1:8079/index.html в ваш браузер. Тада! Вы увидите две кнопки (On-Off). Нажмите на кого -то и посмотрите на свет вашей доски. Эм .. Вы потрясающий роботизированный программист, братан. Сделать больше!
Вы можете прочитать эту статью и многое другое в моем техническом блоге: https://virgul.co
Фотография на обложке от Rock’n Скатать обезьян
Оригинал: “https://dev.to/burakibis/hello-little-arduino-1jp”