1

不确定这是否可行,但我需要使用 Javascript 将传感器中的数据写入文本文件。然后,此数据将显示在应用程序中,因此我需要传感器提供它。

我使用 BBC micro:bit 作为我的微控制器,它只支持 Javascript 和 micro python,理想情况下我会使用 micro python,但它还不支持 BLE,我也需要这个。任何帮助表示赞赏。

4

2 回答 2

0

使用转换为 java的块编辑器,您可以执行以下操作:

  1. 在块菜单中选择底部的高级块
  2. 滚动到底部并单击添加包
  3. 在搜索框中输入file
  4. 这会找到一个名为 files beta 的包,选择它

您现在拥有将数据写入 microbit 的相关块。如上所述,您将需要 microfs 实用程序使用 USB 电缆从 microbit 检索数据。警告不要将脚本(复制/下载 .hex 文件)闪存到您的 microbit 而不检索它将被擦除的数据

于 2018-08-19T20:33:18.777 回答
0

这很长——最后有一个总结:)

如果你使用的是 MicroPython,那么你可以使用 micro:bit 的30k文件系统——

with open("filename.txt", "w") as file_object:
    file_object.write("[your data here]")

要管理 micro:bit 上的文件,您可以使用MicroFS或简称“ufs”。要安装:$ pip install microfs. 你的四个命令是:

  1. ufs ls查看您的微型计算机上的所有文件

  2. ufs rm filename.txt删除你的微型文件

  3. ufs put path/to/your/file.txt optional_target_filename.txt将文件从您的计算机复制到您的微型计算机上

  4. ufs get filename.txt optional/path/to/target/file.txt将文件从您的微型计算机复制到您的计算机。

    有关更多信息,请键入ufs --help

注意:闪烁您的 micro:bit 将删除您的所有信息;但是,将其关闭不会。此外,micro:bit 的文件系统是扁平的,这意味着它没有目录;一切都存储在顶层。

根据您对 BLE 的要求,我在该领域无能为力,但我想指出radioMicroPython 模块,使用 withimport radio后跟 a radio.on()
(用于节省电池;还有一个radio.off()

  • 发送数据radio.send("[your data here]")
  • 接收radio.recieve()来自消息队列顶部的数据。

radio模块在默认设置的 0 到 100 之间的频道发送无线电波。我不确定如何更改它,但应该在某个地方有文档 :) 很抱歉,这不是一个很好的解决方案,但希望它能为您指明正确的方向。

编辑:要更改广播频道,请设置radio.channel为您想要的频道(默认值 = 7)。它可以0-100(含),实际上是2400MHz-2500MHz。欲了解更多信息,请访问此处

概括

微机上的 main.py

import microbit
import radio

with open("datalog.txt") as logfile:
    logfile.write(microbit.temperature()) #or whatever data you had in mind

radio.channel = 47 #2447MHz, feel free to use something else
radio.send(microbit.temperature()) #or whatever

应用伪代码

radio.listenOn(2447MHz) #or whatever

@event.recieveRadioMessage()
void function(evt) {
    #tell user the data
    screen.display(evt.msg)
}
于 2018-03-06T03:18:09.490 回答