~~NOTOC~~
Strona jest w trakcie tłumaczenia.
====== JavaScript w mikrokontrolerie ======
Łatwy, wielofunkcyjny, ekspresyjny JavaScript może być wykonywany nie tylko przez przeglądarkę, ale także przez mikrokontroler. Dzięki jądrze open source [[Espruino]] i otwartemu środowisku programistycznemu możesz tworzyć złożone urządzenia elektroniczne w prosty sposób.
===== Sprzęt =====
{{:js:start:iskra-neo.1.jpg?nolink |}}
**[[Iskra JS]]** — флагманская плата Амперки со встроенным интерпретатором JavaScript.
Построена на микроконтроллере Cortex-M4. 168 МГц, оперативная память на 5000 переменных JS, 1 МБ флеш-памяти для хранения программы.
Совместима по компоновке со стандартом Arduino Uno R3: можно использовать модули и платы расширения Arduino.
{{:js:start:yodo-box.jpg?nolink |}}
**«[[amp>/product/yodo|Йодо]]»** — набор из Iskra JS, модулей, конструктива и книги. Набор учит собирать и
программировать собственные устройства на JavaScript и платформе Iskra JS. Книга включает 25 мини-проектов и необходимую теорию.
Мы выпустили три продолжения «Йодо»:
* «[[amp>/product/yodo-iot|Интернет вещей]]» — 7 eksperymentów z WiFi, czytnikiem kart SD, mini-przekaźnikami i sieciowym IFTTT, dweet.io i telegramem;
* «[[amp>/product/yodo-automatic-watering|Автополив]]» — 7 modułów elektronicznych do montażu automatycznego systemu nawadniania;
* «[[amp>/product/yodo-to-robonjasha|Робоняша]]» — 8 modułów elektronicznych, #struktor i instrukcje montażu robota.
===== Środowisko programowania =====
[[ide|{{:js:start:espruino_web_ide_049.png?nolink |}}]]
**[[ide|Espruino Web IDE]]** — standardowe środowisko do programowania, aktualizacji i debugowania płyt Iskra JS i Espruino.
Działa na wszystkich komputerowych systemach operacyjnych. Instalacja w 2 kliknięciach.
**[[https://chrome.google.com/webstore/detail/serial-projector/kbkjgbkmphnikcpkcodjbifkblmgidia|Serial projector]]** —.
===== Документация =====
==== Стандартный JavaScript ====
* [[builtins]] — константы и функции
* [[Array]], [[Boolean]], [[Function]], [[Number]], [[Object]], [[String]] — примитивы
* [[TypedArray]] — типизированые массивы, ArrayBuffer, DataView, ArrayBufferView
* [[Error]], [[Error#InternalError|InternalError]], [[Error#ReferenceError|ReferenceError]], [[Error#SyntaxError|SyntaxError]], [[Error#TypeError|TypeError]] — ошибки
* [[Date]] — работа с датами и временем
* [[JSON]] — кодирование и декодирование JSON
* [[Math]] — математические функции
==== Классы и объекты, уникальные для Espruino и Iskra JS ====
* [[E]] — утилитарные функции Espruino
* [[Pin]] — работа с портами ввода-вывода (пинами)
* [[File]] — чтение и запись файлов
* [[SPI]] — работа с интерфейсом SPI
* [[I2C]] — работа с интерфейсом TWI/I²C
* [[Serial]] — работа с интерфейсом UART
* [[OneWire]] — работа с шиной 1-Wire
==== Встроенные библиотеки Espruino и Iskra JS ====
* [[crypto]] — работа с криптографией
* [[flash]] — прямые чтение и запись флеш-памяти контроллера
* [[fs]] — работы с файловой системой карт памяти
==== Подгружаемые библиотеки ====
* [[accelerometer]] — драйвер акселерометра
* [[analog-line-sensor]] — драйвер аналогового сенсора пересечения линии
* [[animation]] — плавное изменение параметров
* [[barometer]] — драйвер барометра
* [[bluetooth]] — драйвер bluetooth-модуля
* [[button]] — драйвер модуля-кнопки и других кнопок
* [[buzzer]] — драйвер модуля-зуммера
* [[card-reader]] — расширение библиотеки fs для работы с SD картами
* [[digital-line-sensor]] — драйвер цифрового сенсора пересечения линии
* [[dweet]] — клиент для работы с графиками в dweet.io
* [[gas-sensor]] — драйвер датчиков газа
* [[gpio-expander]] — драйвер GPIO expander
* [[gprs-shield]] — драйвер GPRS-модуля
* [[hysteresis]] — фиксация пересечения пороговых значений
* [[ifttt-webhooks]] — клиент для компонента webhooks сервиса ifttt.com
* [[ir-receiver]] — драйвер модуля инфракрасного приёмника
* [[led]] — драйвер модуля-светодиода и других светодиодов
* [[led-matrix]] — драйвер светодиодной матрицы 8×8
* [[led-strip]] — драйвер светодиодной ленты
* [[light-sensor]] — драйвер модуля сенсора освещённости
* [[magnetometer]] — драйвер магнитометра (компаса)
* [[motor]] — драйвер для контроллера двигателей
* [[multiservo]] — драйвер для контроллера сервоприводов
* [[nfc]] — драйвер RFID/NFC сканера
* [[pot]] — драйвер модуля-потенциометра
* [[pid]] — ПИД-регулятор
* [[power-control]] — управление транзистором
* [[proximity]] — драйвер датчика приближения и освещённости
* [[quaddisplay]] — драйвер для работы с четырёхразрядным индикатором (v1)
* [[quaddisplay2]] — драйвер для работы с четырёхразрядным индикатором (v2)
* [[ringtone]] — проигрывание мелодий в формате Nokia RTTTL
* [[relay]] — драйвер для работы с реле
* [[robot-2wd]] — драйвер двухколёсного робота
* [[rs-485]] — драйвер для работы с модулей RS-485
* [[rtc]] — драйвер для работы с часами реального времени
* [[servo]] — драйвер хобби-сервомоторов
* [[stepper]] — драйвер шагового двигателя
* [[telegram]] — телеграм-бот
* [[thermometer]] — драйвер для модуля аналогового линейного термометра
* [[timer]] — периодически повторяющиеся и отложенные действия
* [[ultrasonic]] — драйвер для ультразвукового дальномера HC-SR04
* [[usb-keyboard]] — эмуляция HID-устройства USB-клавиатуры
* [[water-flow]] — драйвер датчика потока воды
* [[water-level]] — драйвер датчика уровня воды
* [[wifi]] — драйвер модуля Wi-Fi
[[https://github.com/amperka/espruino-modcat/tree/master/modules/%40amperka|Репозиторий библиотек от Амперки]]
По умолчанию библиотеки модулей Амперки работают только при подключении к интернету.
Если вы планируете прошивать плату Iskra JS без выхода в сеть, необходимо [[js:ide:amperka-modules-without-internet|настроить ваш компьютер.]]
Вы так же можете создать свою библиотеку и [[js:modules:connection|подключить её к Espruino Web IDE]]
==== MDN ====
[[https://developer.mozilla.org/ru/docs/Web/JavaScript|MDN (Mozilla Development Network)]] — обширная
документация по JavaScript на русском языке. Большая часть информации применима к программированию
микроконтроллеров. [[espruino#отличия_javascript_от_стандарта|Отличия от стандарта]] — в минорных деталях.
==== Espruino ====
Англоязычные материалы на официальном сайте платформы:
* [[http://www.espruino.com/Reference|Документация по Espruino]]
* [[http://www.espruino.com/Tutorials|Примеры]]
* [[http://www.espruino.com/Modules|Модули / библиотеки]]