Skip to content

JavaScript client library to communicate with Arduino devices running firmware based on Babbler library

License

Notifications You must be signed in to change notification settings

sadr0b0t/babbler-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

babbler.js

JavaScript client library to communicate with Arduino devices running firmware based on babbler_h library.

babbler_h library for Arduino/ChipKIT boards: https://github.com/1i7/babbler_h

See babbler.js material-ui widgets https://github.com/1i7/babbler-js-material-ui

and babbler-js-demo https://github.com/1i7/babbler-js-demo

for usage examples.

Demo application video in action: https://www.youtube.com/watch?v=uLHPr1sS558

Babbler.js управление Arduino через последовательный порт

Basic usage:

var Babbler = require('babbler-js');
var babbler = new Babbler();

babbler.on('connected', function() {
    console.log("connected");
    
    console.log("send cmd: ping");
    babbler.sendCmd("ping", [],
        // onResult
        function(err, reply, cmd, params) {
            if(err) {
                console.log("fail with '" + cmd + " " + params + "': " + err);
            } else {
                console.log("got reply on '" + cmd + " " + params + "': " + reply);
            }
        }
    );
    
    console.log("send cmd: help --list");
    babbler.sendCmd("help", ["--list"],
        // onResult
        function(err, reply, cmd, params) {
            if(err) {
                console.log("fail with '" + cmd + " " + params + "': " + err);
            } else {
                console.log("got reply on '" + cmd + " " + params + "': " + reply);
            }
        }
    );
});

babbler.on('disconnected', function(err) {
    console.log("disconnected" + (err != undefined ? ": " + err : ""));
});

babbler.connect("/dev/ttyUSB0");
//babbler.connect("/dev/ttyUSB0", {baudRate: 9600});

Для разработки

Версии - x.y.z:

  • z - патчи без изменений API, ломающих клиентский код (исправления ошибок, мелкие улучшения)
  • y - эволюционные улучшения и развитие кодовой базы, изменения в API, ломающие клиентский код
  • x - достаточное количество новых возможностей для смены главной версии

Стратегия git при обновлении версии:

  • создаём релиз (тэг) vx.y.z

Публикация в npm

https://docs.npmjs.com/getting-started/publishing-npm-packages

npm publish

перед публикацией

  • Обновить версию командой

vx.y.z -> vx.y.(z+1)

npm version patch

vx.y.z -> vx.(y+1).z

npm version minor

vx.y.z -> v(x+1).y.z

npm version minor

(внесет исправление в package.json и сразу сделает коммит в репозитории)

или исправитьpackage.json и сделать коммит вручную

  • Удалить README.md~ (иначе он попадет в архив)

  • Проверить релиз - создать локальный архив babbler-js-0.1.0.tgz

npm pack
  • конвертировать библиотеку в CommonJS src/babbler.js -> lib/babbler.js (перед публикацией выполняется автоматом)
npm run-script build

или

./scripts/build.sh

About

JavaScript client library to communicate with Arduino devices running firmware based on Babbler library

Resources

License

Stars

Watchers

Forks

Packages