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 用于设置发送协议的方法和绑定接收协议的回调。连接方式包括蓝牙(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);
})
读取 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))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。