6 Star 1 Fork 0

jeremy_yang / meoser

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

更新说明

2018-3-23 meoser@0.3.0 支持 codey 在离线、在线模式下rocky颜色传感器、陀螺仪的校正。校正时程序会停止运行。

2018-3-15 meoser@0.2.9 codey 广播、通信变量等支持中文

2018-1-25 meoser@0.2.5 实现 codey 在线模式;另一个重要的调整是:将 file uploader 相关的接口整合进 uploader 对象中

2017-11-28 meoser@0.2.3 修复一个严重的拼写错误:deReceived 错误写成 deRecevied

2017-11-20 meoser@0.2.2 代码结构优化重构。另新增 getReadyStatus,getCommChannel接口,增强上位机对硬件状态的了解

2017-11-06 meoser@0.2.1 烧录文件默认错误重试2次 & 新增 setCommVarCache 接口

2017-11-03 meoser@0.2.0 新增 DTR 握手协议的接口及实现 & clean 了一下 code

2017-10-31 meoser@0.1.9 修复内部事件在下位机异常响应时未被移除,从而导致重复绑定的错误

2017-10-23 meoser@0.1.8 调整 uploadContent 接口,支持上传音乐

2017-10-18 meoser@0.1.5 新增 log 日志接口

2017-10-18 meoser@0.1.3 新增查询mac地址、查询固件版本号的接口实现

2017-10-13 meoser@0.1.1 新增广播协议及接口实现

API 简述

设置连接

设置连接的 API 用于设置发送协议的方法和绑定接收协议的回调。连接方式包括蓝牙(Ble)、WIFI、串口(serialport) 等。

设置协议发送方式:meos.setSender(sender)

mEos 接收返回协议:meos.doReceived(buf)

let meos = new Meos();
//假设使用 socket
socket.on('receive_buf', function (buf) {
    meos.doReceived(JSON.parse(buf));
});
let sender = (buf) => {
    socket.emit('send_buf', { buf: JSON.stringify(buf) });
}
meos.setSender(sender);

上传文件

与 mEos 主控建立连接之后,就可以上传文件了。只需两步调用:

// 设置内容
meos.content = 'here is a string of python code';
// 开始上传
meos.uploadContent()

上传音乐和上传文件同用该一套接口。

此外,还有一些相关接口丰富上传文件的交互形式:

meos.blockLength = 100 可以设置一次消息块的大小调整上传速度。

meos.onUploadProgress(hanlder) 传入的事件句柄 handler 可以获取到文件总大小及上传大小等信息。

删除文件

deleteFile(filename) 删除 mEos 中已上传的文件。

meos.deleteFile('./flash/main.py').then((result) => {
  console.log(result);
});

传感器读值

传感器读值,分两步完成:1、发送请求协议;2、调用接口获取读值

请求读值:requestRead(sensor_id)

// 发出请求,请求读取声音强度的值
// 声音强度传感器的 sensor_id 为: 1
meos.requestRead(1).then((req_result) => {
  console.log(req_result);
})

请求中断读值:requestUnRead(sensor_id)

// 发出请求,请求停止读取声音强度
meos.requestUnRead(1).then((result) => {
  console.log(result);
})

读取传感器的值:readSensor(sensor_id)

let value = meos.readSensor(1);

通信变量

读取变量是读取 mEos 主控中的脚本变量,写入变量是将软件端的变量写入到 mEos 主控中。 如果将上位机和 mEos 看成同一个编程环境,就很容易理解这个超全局的通信变量了。

读取通信变量的值:readCommVar(var_name)

// 读取下位机 speed 变量值
meos.readCommVar('speed')

// 读取下位机 name 变量值
let name = meos.readCommVar('name')

写入通信变量的值:writeCommVar(var_name, var_value)

// 设置下位机 speed 变量值为 50
meos.writeCommVar('speed', 50)

// 设置下位机 name 变量值为 'rick'
meos.writeCommVar('name', 'rick')

消息广播

向 mEos 发送广播消息:sendBroadcast(msg)

meos.sendBroadcast('hello')

添加 mEos 广播句柄:addBroadcastHandler(handler)

meos.addBroadcastHandler((msg) => {
  console.log('接收到 mEos 的广播:', msg);
})

读取 MAC 地址, 固件版本号

读取 mEos 的 MAC 地址:readMacAddr(typeNumber)

// wifi 连接时
meos.readMacAddr(1).then((res) => console.log(res.mac, res.type))

// ble 连接时
meos.readMacAddr(2).then((res) => console.log(res.mac, res.type))

读取 mEos 固件版本号:readVersion()

meos.readVersion().then((res) => console.log(res.version, res.name))

空文件

简介

meos 协议解析器 展开 收起
JavaScript
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/jeremy_young/meoser.git
git@gitee.com:jeremy_young/meoser.git
jeremy_young
meoser
meoser
master

搜索帮助