Среда программирования espruino web ide

Подготовка

Для начала необходимо установить среду разработки, и если ты собираешься работать с платой из-под винды, то понадобятся драйверы. Подробно об установке среды разработки можно почитать на вики проекта Iskra JS.

Если же не пользуешься браузером Google Chrome, то можно установить нативные приложения для Windows с сайта проекта Espruino либо самостоятельно клонировать текущую версию среды разработки с GitHub и запустить ее локально с помощью фреймворка NW.js, просто скопировав все файлы среды в папку с фреймворком и запустив исполняемый файл nw.

Главное — не забудь поменять в Espruino Web IDE настройки для работы с платами и дополнительными библиотеками от «Амперки»:

  • В разделе SETTINGS → COMMUNICATIONS:

    • в поле Module URL укажи
    • в поле Module Extensions укажи
    • в поле Save on Send выбери
  • В разделе SETTINGS → BOARD:

    в поле Board JSON URL укажи http://js.amperka.ru/json

Окно среды разработки состоит из двух частей: справа — редактор кода, слева — консоль интерпретатора Espruino, доступная при соединении с отладочной платой.

Среда разработки Espruino Web IDE 

Сборка прототипа и подключение

Подключим физически все наши модули, разместив на беспаечной макетной плате. Что она собой представляет и как с ней работать, можно почитать здесь.

Прототип устройства на макетной плате

Выведем питание с пина 3V3 отладочной платы Iskra JS mini на дорожку + макетной платы, а «землю» — с пина GND на –.

OLED-экран с подключением по шине I2C имеет четыре контакта: GND, VDD (VCC), SCK (SCL), SDA. Подключим их к соответствующим пинам на плате:

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Uporaba piškotkov na naši spletni strani

Pravna podlaga

Podlaga za obvestilo je spremenjeni Zakon o elektronskih komunikacijah (Uradni list št. 109/2012; v nadaljevanju ZEKom-1), ki je začel veljati v začetku leta 2013. Prinesel je nova pravila glede uporabe piškotkov in podobnih tehnologij za shranjevanje informacij ali dostop do informacij, shranjenih na računalniku ali mobilni napravi uporabnika.

Kaj so piškotki?

Piškotki so majhne datoteke, pomembne za delovanje spletnih strani, največkrat z namenom, da je uporabnikova izkušnja boljša.

Piškotek običajno vsebuje zaporedje črk in številk, ki se naloži na uporabnikov računalnik, ko ta obišče določeno spletno stran. Ob vsakem ponovnem obisku bo spletna stran pridobila podatek o naloženem piškotku in uporabnika prepoznala.

Poleg funkcije izboljšanja uporabniške izkušnje je njihov namen različen. Piškotki se lahko uporabljajo tudi za analizo vedenja ali prepoznavanje uporabnikov. Zato ločimo različne vrste piškotkov.

Vrste piškotkov, ki jih uporabljamo na tej spletni strani

Piškotki, ki jih uporabljamo na tej strani sledijo smernicam:

  • Informacijske pooblaščenke RS (PDF)
  • Mednarodne gospodarske zbornice (PDF)

1. Nujno potrebni piškotki

Tovrstni piškotki omogočajo uporabo nujno potrebnih komponent za pravilno delovanje spletne strani. Brez teh piškotov servisi, ki jih želite uporabljati na tej spletni strani, ne bi delovali pravilno (npr. prijava, nakupni proces, …).

2. Izkustveni piškotki

Tovrstni piškotki zbirajo podatke, kako se uporabniki vedejo na spletni strani z namenom izboljšanja izkustvene komponente spletne strani (npr. katere dele spletne strani obiskujejo najpogosteje). Ti piškotki ne zbirajo informacij, preko katerih bi lahko identificirali uporabnika.

3. Funkcionalni piškotki

Tovrstni piškotki omogočajo spletni strani, da si zapomni nekatere vaše nastavitve in izbire (npr. uporabniško ime, jezik, regijo) in zagotavlja napredne, personalizirane funkcije. Tovrstni piškotki lahko omogočajo sledenje vašim akcijam na spletni strani.

4. Oglasni ali ciljani piškotki

Tovrstne piškotke najpogosteje uporabljajo oglaševalska in družabna omrežja (tretje strani) z namenom, da vam prikažejo bolj ciljane oglase, omejujejo ponavljanje oglasov ali merijo učinkovitost oglaševalskih akcij. Tovrstni piškotki lahko omogočajo sledenje vašim akcijam na spletu.

Nadzor piškotkov

Za uporabo piškotkov se odločate sami. Piškotke lahko vedno odstranite in s tem odstranite vašo prepoznavnost na spletu. Prav tako večino brskalnikov lahko nastavite tako, da piškotkov ne shranjujejo.

Za informacije o možnostih posameznih brskalnikov predlagamo, da si ogledate nastavitve.

Документация

Стандартный JavaScript

  • Встроенные функции и константы — константы и функции
  • Array, Boolean, Function, Number, Object, String — примитивы
  • ArrayBuffer — типизированые массивы, ArrayBuffer, DataView, ArrayBufferView
  • Error, , , , — ошибки
  • 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 — работы с файловой системой карт памяти

Подгружаемые библиотеки

  • @amperka/accelerometer — драйвер акселерометра
  • @amperka/analog-line-sensor — драйвер аналогового сенсора пересечения линии
  • @amperka/animation — плавное изменение параметров
  • @amperka/barometer — драйвер барометра
  • @amperka/bluetooth — драйвер bluetooth-модуля
  • @amperka/button — драйвер модуля-кнопки и других кнопок
  • @amperka/buzzer — драйвер модуля-зуммера
  • @amperka/card-reader — расширение библиотеки fs для работы с SD картами
  • @amperka/digital-line-sensor — драйвер цифрового сенсора пересечения линии
  • @amperka/dweetio — клиент для работы с графиками в dweet.io
  • @amperka/gas-sensor — драйвер датчиков газа
  • @amperka/gpio-expander — драйвер GPIO expander
  • @amperka/gprs-shield — драйвер GPRS-модуля
  • @amperka/hysteresis — фиксация пересечения пороговых значений
  • @amperka/ifttt-webhooks — клиент для компонента webhooks сервиса ifttt.com
  • @amperka/ir-receiver — драйвер модуля инфракрасного приёмника
  • @amperka/led — драйвер модуля-светодиода и других светодиодов
  • @amperka/led-matrix — драйвер светодиодной матрицы 8×8
  • @amperka/led-strip — драйвер светодиодной ленты
  • @amperka/light-sensor — драйвер модуля сенсора освещённости
  • @amperka/magnetometer — драйвер магнитометра (компаса)
  • @amperka/motor — драйвер для контроллера двигателей
  • @amperka/multiservo — драйвер для контроллера сервоприводов
  • @amperka/nfc — драйвер RFID/NFC сканера
  • @amperka/pot — драйвер модуля-потенциометра
  • @amperka/pid — ПИД-регулятор
  • @amperka/power-control — управление транзистором
  • @amperka/proximity — драйвер датчика приближения и освещённости
  • @amperka/quaddisplay — драйвер для работы с четырёхразрядным индикатором (v1)
  • @amperka/quaddisplay2 — драйвер для работы с четырёхразрядным индикатором (v2)
  • @amperka/ringtone — проигрывание мелодий в формате Nokia RTTTL
  • @amperka/relay — драйвер для работы с реле
  • @amperka/robot-2wd — драйвер двухколёсного робота
  • @amperka/rs-485 — драйвер для работы с модулей RS-485
  • @amperka/rtc — драйвер для работы с часами реального времени
  • @amperka/servo — драйвер хобби-сервомоторов
  • @amperka/stepper — драйвер шагового двигателя
  • @amperka/telegram — телеграм-бот
  • @amperka/thermometer — драйвер для модуля аналогового линейного термометра
  • @amperka/timer — периодически повторяющиеся и отложенные действия
  • @amperka/ultrasonic — драйвер для ультразвукового дальномера HC-SR04
  • @amperka/usb-keyboard — эмуляция HID-устройства USB-клавиатуры
  • @amperka/water-flow — драйвер датчика потока воды
  • @amperka/water-level — драйвер датчика уровня воды
  • @amperka/wifi — драйвер модуля Wi-Fi

По умолчанию библиотеки модулей Амперки работают только при подключении к интернету.
Если вы планируете прошивать плату Iskra JS без выхода в сеть, необходимо настроить ваш компьютер.

Вы так же можете создать свою библиотеку и подключить её к Espruino Web IDE

Программная среда Iskra JS

Iskra IDE было разработана на базе аналога от Эспруино. Программы создаются в WEB среде на JavaScript, совместимой со всеми популярными операционными системами. Работать над написанием кода можно в расширении для Google Chrome Espruino IDE или усовершенствованном Iskra IDE. Разработка от Амперки отличается расширенной поддержкой библиотек отдельных модулей, упрощающей создание программ. Сюда включается работа с популярными дополнительными компонентами среды разработки Arduino.

Имеются отличия и в работе с Java-кодом:

  • точки и запятые не расставляются в автоматическом режиме на месте переноса строк;
  • стандартные метки для выполнения инструкций break отсутствуют;
  • отсутствуют регулярные выражения;
  • в качестве основной используется кодировка UTF-8, что следует учитывать при написании программ.

Если вы когда-либо работали с аппаратно-программной средой разработки Ардуино, проблем в написании скетчев возникнуть не должно. Принцип работы устройств похож друг на друга. Остаётся лишь разобраться в виртуальной программной среде. Перепрошить микроконтроллер можно без использования программаторов, подключив к USB-порту.

Выпускавшиеся компьютеры

В конце 80-х — начале 90-х годов завод выпускал популярные среди жителей бывшего СССР ibm-совместимые компьютеры на полностью отечественной элементной базе. Особое распространение получили компьютеры Искра 1030М, Ассистент-128, Микро-86М и Турбо-86М[источник не указан 979 дней]. Также был начат выпуск компьютеров Искра 286М[источник не указан 979 дней] на базе процессора аналогичного Intel 80286, но популярности эти компьютеры не получили из-за значительной конкуренции со стороны зарубежных производителей.

Искра 1030М

ЭВМ «Искра 1030М» является продолжением серии ЭВМ Искра, выпускалась Производственным Объединением «ИСКРА» до 1992-93 года, разработана ЛНПО (Ленинградским Научно-Производственным Объединением) «Электронмаш» (г. Ленинград). Впервые была представлена на Международной Отраслевой Выставке (International Specialized Exhibition) Автоматизация ’89 (Automation’89) в Москве в Выставочном комплексе на Красной Пресне 28 ноября — 7 декабря 1989 г.[источник не указан 979 дней]

ПП ЭВМ «Искра 1030М» может функционировать как отдельная микрокомпьютерная система или использоваться в качестве интеллектуального терминала. ЭВМ построена по модульному принципу. В компактном модуле — накопитель на гибких магнитных дисках (НГМД — FDD 5,25′) и накопитель на магнитном диске (НМД — Винчестер (HDD — 5-20 МБ)). К модулю процессора подключаются: монохромный дисплей, клавиатура, свободно перемещаемая пользователем, печатное устройство (принтер)+графопостроитель, блок фильтра распределителя. ПП ЭВМ «Искра 1030М» выполнена с использованием интегральных схем большой степени интеграции (на момент создания).

  • Тип микропроцессора: КР1810ВМ86 (4,77 МГц)
  • Сопроцессор: К1810ВМ87
  • Тип ОС: M-86, АДОС, ИНМОС
  • Текстовый режим: 80×25
  • Графический режим: 640х200
  • Цвета: Ч/Б
  • Ёмкость ОЗУ: 640 КБ (с возможностью наращивания до 1 Мбайт)
  • Ёмкость НГМД типа ТМ65-4: 1 МБ (неформатированная 5,22’)
  • Ёмкость НМД типа Т-225 20 МБ (форматированная)
  • Количество НГМД: 2
  • Количество НМД (HDD): 1 (имеет возможность подключения второго)
  • ПО: GW-Basic — Qbasic, Turbo Pascal 7.00, Turbo Assembler, Turbo Debugger и др., Графический редактор PC Illustrator 3.00, Текстовый редактор от R1 до Лексикона 1.3, Игры Formula 1, Tetris…

ПК Ассистент

Основная статья: Ассистент-128

Компьютер для домашнего использования, выпускался в виде моноблока, включащего в себя собственно сам компьютер с блоком питания и клавиатурой. Имелась возможность подключения внешнего CGA-монитора или телевизора. В ПЗУ записан бейсик, являющийся одновременно некоторым подобием операционной системы. В стандартной поставке рекомендовалось использование ПК вместе с кассетным магнитофоном, но была возможность и подключения дисковода. Стоил 1225 рублей.

  • Тип микропроцессора: аналог i8086 (5Mhz)
  • Тип ОС: CP/M с интегрированым языком BASIC или АДОС,MS-DOS,IBM-DOS (при наличии дисковода)
  • Текстовый режим: 80×25 или 40х25
  • Графический режим: 640х200 или 320х200
  • Цвета: CGA
  • Ёмкость ОЗУ: 128кб (с возможностью наращивания до 640кб)
  • Количество НМД (HDD): нет

Турбо 86М

Улучшенная версия компьютера Искра 1030М. Комплектовался цветным 14″ CGA-монитором, НМД объёмом 20 мегабайт. Отдельно можно было приобрести мышку.

Микро 86М

Упрощённая версия компьютера Турбо 86М, отличается от него только отсутствием второго дисковода, монохромным монитором, изменённым уменьшенным корпусом и отсутствием жёсткого диска.

Элементы платы

Микроконтроллер STM32F405RG

Сердце платформы Iskra JS — 32-разрядный микроконтроллер STM32F405RG от STMicroelectronics с вычислительном ядром ARM Cortex M4.

Выбор питания

Джампер определяет, как осуществляется преобразование входного напряжения. Он может быть установлен в одном из двух положений:

  • — внешнее питание сначала проходит регулятор на 5 В, а он в свою очередь питает регулятор на 3,3 В. Работают обе шины: 5V и 3.3V. Допустимое входное напряжение в этом случае — от 7 до 15 вольт.
  • — внешнее питание сразу подаётся на регулятор 3,3 В. Шина 5V не используется для получения 3,3 В. Допустимое входное напряжение — от 3,6 до 12 вольт. Используйте это положение, чтобы питать схему от одного Li-Ion аккумулятора.

Регулятор напряжения 5 В

Когда плата подключена к внешнему источнику питания, и джампер выбора питания установлен в положении , напряжение проходит через стабилизатор MC7805BD. Выход стабилизатора соединён с пином 5V. Максимальный выходной ток составляет 1000 мА.

Регулятор напряжения 3,3 В

Стабилизатор MC33275ST с выходом 3,3 вольта, обеспечивает питание микроконтроллера STM32F405RG. Максимальный выходной ток составляет 300 мА.

Светодиодная индикация

Имя светодиода Назначение
BUSY Информационный светодиод. Загорается, когда плата выполняет действия.
LED1 Светодиод свободного назначения.
ON Информационный светодиод о наличии питания на микроконтроллере.

Разъём SPI

Некоторые платы расширения работают через интерфейс SPI. По стандарту Arduino R3 разъём SPI должен быть выведен в виде разъёма 3×2 штырька в этом месте. Iskra JS следует этому стандарту.

SPI-разъем не предназначен для внутрисхемного программирования микроконтроллера STM32F405RG и может использоваться только для связи с другими SPI-устройствами.

Разъём SWD

SWD-разъём предназначен для внутрисхемного программирования микроконтроллера STM32F405RG через программатор, например, ST-Link.

Пин BOOT0

Если замкнуть эту пару пинов, плата загрузится в DFU-режиме. Это позволит перепрошить микроконтроллер без программатора, через USB.

Объекты-пины

Функциям и методам, которые принимают пины в качестве параметров, передают встроенные объекты-пины. Среди них есть синонимы. Используйте то обозначение, которое более уместно в конкретном контексте.

  • , , , … — соответствуют пинам, промаркированным на плате; это удобные синонимы к непосредственным портам микроконтроллера вида , ;
  • , , , … — также соответствуют маркировке на плате, но в то же время 1-в-1 совпадают с наименованием портов микроконтроллера;
  • , , , … , , , , … — непосредственные порты микроконтроллера, их соответствие с смотрите в документации на свою плату;
  • , , — пины подключенные к встроенным на плату светодиодам и кнопкам;

Все перечисленные объекты являются экземплярами класса Pin, поэтому помимо передачи их в функции, можно вызывать их собственные методы.

Распиновка

— GPIO-пин на Iskra JS. Под этим именем вы можете обратиться к пину из программы.

— соответствующий пин на микроконтроллере STM32F405RG.

— пин питания.

— пин может генерировать ШИМ-сигнал.

— пин подключён к АЦП микроконтроллера, т.е. может считывать аналоговый сигнал.

— пин подключён к ЦАП микроконтроллера, т.е. может генерировать аналоговый сигнал.

— пин толерантен к 5 вольтам, т.е. выдерживает входной сигнал с напряжением, превышающим штатные 3,3 вольта.

— пин подключён к аппаратному интерфейсу SPI. также доступен в программе под псевдонимом .

— пин подключён к аппаратному интерфейсу I²C. доступен под псевдонимом .

— пин подключён к аппаратному интерфейсу UART/USART. доступен под псевдонимом .

На платах с компоновкой «xDuino Rev3» по одному интерфейсу SPI, I²C, UART, физически расположенных на определённых пинах, условно считаются основными. Через них обычно работают платы расширения. Для удобства программирования этим интерфейсам даны альтернативные имена вида

Выпускавшиеся компьютеры

В конце 80-х — начале 90-х годов завод выпускал популярные среди жителей бывшего СССР ibm-совместимые компьютеры на полностью отечественной элементной базе. Особое распространение получили компьютеры Искра 1030М, Ассистент-128, Микро-86М и Турбо-86М[источник не указан 1643 дня]. Также был начат выпуск компьютеров Искра 286М[источник не указан 1643 дня] на базе процессора аналогичного Intel 80286, но популярности эти компьютеры не получили из-за значительной конкуренции со стороны зарубежных производителей.

Искра 1030М

ЭВМ «Искра 1030М» является продолжением серии ЭВМ Искра, выпускалась Производственным Объединением «ИСКРА» до 1992-93 года, разработана ЛНПО (Ленинградским Научно-Производственным Объединением) «Электронмаш» (г. Ленинград). Впервые была представлена на Международной Отраслевой Выставке (International Specialized Exhibition) Автоматизация ’89 (Automation’89) в Москве в Выставочном комплексе на Красной Пресне 28 ноября — 7 декабря 1989 г.[источник не указан 1643 дня]

ПП ЭВМ «Искра 1030М» может функционировать как отдельная микрокомпьютерная система или использоваться в качестве интеллектуального терминала. ЭВМ построена по модульному принципу. В компактном модуле — накопитель на гибких магнитных дисках (НГМД — FDD 5,25′) и накопитель на магнитном диске (НМД — Винчестер (HDD — 5-20 МБ)). К модулю процессора подключаются: монохромный дисплей, клавиатура, свободно перемещаемая пользователем, печатное устройство (принтер)+графопостроитель, блок фильтра распределителя. ПП ЭВМ «Искра 1030М» выполнена с использованием интегральных схем большой степени интеграции (на момент создания).

  • Тип микропроцессора: КР1810ВМ86 (4,77 МГц)
  • Сопроцессор: К1810ВМ87
  • Тип ОС: M-86, АДОС, ИНМОС
  • Текстовый режим: 80×25
  • Графический режим: 640х200
  • Цвета: Ч/Б
  • Ёмкость ОЗУ: 640 КБ (с возможностью наращивания до 1 Мбайт)
  • Ёмкость НГМД типа ТМ65-4: 1 МБ (неформатированная 5,22’)
  • Ёмкость НМД типа Т-225 20 МБ (форматированная)
  • Количество НГМД: 2
  • Количество НМД (HDD): 1 (имеет возможность подключения второго)
  • ПО: GW-Basic — Qbasic, Turbo Pascal 7.00, Turbo Assembler, Turbo Debugger и др., Графический редактор PC Illustrator 3.00, Текстовый редактор от R1 до Лексикона 1.3, Игры Formula 1, Tetris…

ПК Ассистент

Основная статья: Ассистент-128

Компьютер для домашнего использования, выпускался в виде моноблока, включащего в себя собственно сам компьютер с блоком питания и клавиатурой. Имелась возможность подключения внешнего CGA-монитора или телевизора. В ПЗУ записан бейсик, являющийся одновременно некоторым подобием операционной системы. В стандартной поставке рекомендовалось использование ПК вместе с кассетным магнитофоном, но была возможность и подключения дисковода. Стоил 1225 рублей.

  • Тип микропроцессора: аналог i8086 (5Mhz)
  • Тип ОС: CP/M с интегрированым языком BASIC или АДОС,MS-DOS,IBM-DOS (при наличии дисковода)
  • Текстовый режим: 80×25 или 40х25
  • Графический режим: 640х200 или 320х200
  • Цвета: CGA
  • Ёмкость ОЗУ: 128кб (с возможностью наращивания до 640кб)
  • Количество НМД (HDD): нет

Турбо 86М

Улучшенная версия компьютера Искра 1030М. Комплектовался цветным 14″ CGA-монитором, НМД объёмом 20 мегабайт. Отдельно можно было приобрести мышку.

Микро 86М

Упрощённая версия компьютера Турбо 86М, отличается от него только отсутствием второго дисковода, монохромным монитором, изменённым уменьшенным корпусом и отсутствием жёсткого диска.

Загрузка первой программы

Среда настроена, плата подключена. Прошейте управляющую плату, программой приведённой ниже.
Светодиод «LED1» на плате будет загораться и гаснуть каждые 500 миллисекунд.

blink.js
var  on = false;
setInterval(function() {
  on = !on;
  LED1.write(on);
}, 500);

Немного модифицируем код, чтобы изменить частоту мигания светодиода.

Замените значение на и перепрошейте плату.

blink2.js
var  on = false;
setInterval(function() {
  on = !on;
  LED1.write(on);
}, 100);

Теперь светодиод «LED1» будет загораться и гаснуть каждые 100 миллисекунд — в 5 раз быстрее исходной версии.

В примере используется объект который установлен на платформе Iskra JS. Если вы используете другую платформу с интерпретатором JavaScript, имена объектов и пинов могут отличатся.

Зачем разбираться с JS

В 2005 году Arduino произвела фурор в мире DIY. Раньше разработчик гаджета должен был разбираться в программировании, аппаратной архитектуре и схемотехнике — даже чтобы сделать простое устройство. С появлением Arduino мир электроники стал доступен новичкам, а время разработки сократилось в разы.

Iskra JS — следующий шаг в упрощении разработки!

Разработка стала ещё быстрее, код понятнее, освоение проще. Можно сосредоточиться на сути проекта, а не на архитектурных особенностях микроконтроллера, борьбе за память и программировании на C++.

Сейчас не встретить веб-приложений на C++: балом правят PHP, Python, Ruby и JavaScript. Они медленнее C++, но гораздо выразительнее и проще: скорость разработки растает, а процесс освоения упрощается.

Так и Iskra JS: если важны результат и комфортная среда программирования, а оптимизация не является самоцелью — Iskra JS станет логичным продолжением разработки устройств на платформе Arduino.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector