micro:bit & /dev/ttyACM*在 GNU/Linux 系统上
micro:bit & /dev/ttyACM*on GNU/Linux systems
我有 micro:bit 连接到我的笔记本电脑,运行 Xubuntu 18.04.4 LTS。
在我附加 micro:bit 之后,XFCE4 桌面上出现了一个图标,可以
用于将此设备安装到
/media/MyUserName/MICROBIT/
这样我就可以将设备 'BBC micro:bit CMSIS-DAP' 和我的笔记本电脑配对
通过在我的 Google Chrome 浏览器中使用 https://python.microbit.org/v/2.0。
但是在mu-editor我不能这样做,既不能使用REPL,也不能使用FILE
因为我收到这个消息框:
“找不到连接的设备
请确保设备已插入此计算机。
它必须有一个版本的 MicroPython(或 CircuitPython)闪烁到它上面
在 REPL 工作之前。
最后,按下设备的重置按钮并等待几秒钟,然后再
再试一次。"
$lsusb
编号0d28:0204恩智浦LPC1768
上面这一行是针对附件的 micro:bit。
$ls /dev/ | grep tty
在上面命令的输出中没有 /dev/ttyACM0
或其他 ACM* 设备。
为什么没有这样的设备/dev/ttyACM*?
我怀疑mu-editor找不到这个设备是因为没有这样的设备
设备 /dev/ttyACM* 在那里。
如何解决mu-editor的问题?
我使用 Debian Linux。您可能需要做两件事:
- 我最近不得不更新 micro:bits 上的固件才能继续使用 mu-editor。有关如何执行此操作的说明,请参见此处:
[https://microbit.org/get-started/user-guide/firmware/]
- 安装 micro:bit。这可以通过双击 'MICROBIT' 来完成,例如Nautilus,或从命令行使用 udisksctl。请在下面找到一个名为 microbit_mount.sh 的 bash 脚本,它使用 udisksctl 来安装和卸载 microbit。要安装 microbit,请使用命令:
microbit_mount.sh挂载
要卸载 microbit,请使用
microbit_mount.sh卸载
我将这些命令别名为 mm amd md.The microbit 将出现在 /media/MICROBIT 中。您可能需要在每次刷机后重新安装 microbit。
#!/bin/bash
# microbit_mount.sh
# mount and unmount microbit
# modified from https://askubuntu.com/questions/342188/how-to-auto-mount-from-command-line
BASEPATH="/media/$(whoami)/"
MICRO="MICROBIT"
if [ $# -eq 0 ]
then
echo "no argument supplied, use 'mount' or 'unmount'"
exit 1
fi
if [ == "--help" ]
then
echo "mounts or unmounts a BBC micro:bit"
echo "args: mount - mount the microbit, unmout - unmount the microbit"
fi
# how many MICRO found in udisksctl dump
RESULTS=$(udisksctl dump | grep IdLabel | grep -c -i $MICRO)
case "$RESULTS" in
0 ) echo "no $MICRO found in 'udkisksctl dump'"
exit 0
;;
1 ) DEVICELABEL=$(udisksctl dump | grep IdLabel | grep -i $MICRO | cut -d ":" -f 2 | sed 's/^[ \t]*//')
DEVICE=$(udisksctl dump | grep -i "IdLabel: \+$DEVICELABEL" -B 12 | grep " Device:" | cut -d ":" -f 2 | sed 's/^[ \t]*//')
DEVICEPATH="$BASEPATH""$DEVICELABEL"
echo "found one $MICRO, device: $DEVICE"
if [[ -z $(mount | grep "$DEVICE") ]]
then
echo "$DEVICELABEL was unmounted"
if [ == "mount" ]
then
udisksctl mount -b "$DEVICE"
exit 0
fi
else
echo "$DEVICELABEL was mounted"
if [ == "unmount" ]
then
udisksctl unmount -b "$DEVICE"
exit 0
fi
fi
;;
* ) echo "more than one $MICRO found"
;;
esac
echo "exiting without doing anything"
我安装了 Xubuntu 20.04,在这个系统上,mu-editor 在文件模式和 REPL 模式下工作,附带 micro:bit。
我有 micro:bit 连接到我的笔记本电脑,运行 Xubuntu 18.04.4 LTS。
在我附加 micro:bit 之后,XFCE4 桌面上出现了一个图标,可以 用于将此设备安装到
/media/MyUserName/MICROBIT/
这样我就可以将设备 'BBC micro:bit CMSIS-DAP' 和我的笔记本电脑配对 通过在我的 Google Chrome 浏览器中使用 https://python.microbit.org/v/2.0。
但是在mu-editor我不能这样做,既不能使用REPL,也不能使用FILE 因为我收到这个消息框:
“找不到连接的设备
请确保设备已插入此计算机。
它必须有一个版本的 MicroPython(或 CircuitPython)闪烁到它上面 在 REPL 工作之前。
最后,按下设备的重置按钮并等待几秒钟,然后再 再试一次。"
$lsusb
编号0d28:0204恩智浦LPC1768
上面这一行是针对附件的 micro:bit。
$ls /dev/ | grep tty
在上面命令的输出中没有 /dev/ttyACM0 或其他 ACM* 设备。
为什么没有这样的设备/dev/ttyACM*?
我怀疑mu-editor找不到这个设备是因为没有这样的设备 设备 /dev/ttyACM* 在那里。
如何解决mu-editor的问题?
我使用 Debian Linux。您可能需要做两件事:
- 我最近不得不更新 micro:bits 上的固件才能继续使用 mu-editor。有关如何执行此操作的说明,请参见此处:
[https://microbit.org/get-started/user-guide/firmware/]
- 安装 micro:bit。这可以通过双击 'MICROBIT' 来完成,例如Nautilus,或从命令行使用 udisksctl。请在下面找到一个名为 microbit_mount.sh 的 bash 脚本,它使用 udisksctl 来安装和卸载 microbit。要安装 microbit,请使用命令:
microbit_mount.sh挂载
要卸载 microbit,请使用
microbit_mount.sh卸载
我将这些命令别名为 mm amd md.The microbit 将出现在 /media/MICROBIT 中。您可能需要在每次刷机后重新安装 microbit。
#!/bin/bash
# microbit_mount.sh
# mount and unmount microbit
# modified from https://askubuntu.com/questions/342188/how-to-auto-mount-from-command-line
BASEPATH="/media/$(whoami)/"
MICRO="MICROBIT"
if [ $# -eq 0 ]
then
echo "no argument supplied, use 'mount' or 'unmount'"
exit 1
fi
if [ == "--help" ]
then
echo "mounts or unmounts a BBC micro:bit"
echo "args: mount - mount the microbit, unmout - unmount the microbit"
fi
# how many MICRO found in udisksctl dump
RESULTS=$(udisksctl dump | grep IdLabel | grep -c -i $MICRO)
case "$RESULTS" in
0 ) echo "no $MICRO found in 'udkisksctl dump'"
exit 0
;;
1 ) DEVICELABEL=$(udisksctl dump | grep IdLabel | grep -i $MICRO | cut -d ":" -f 2 | sed 's/^[ \t]*//')
DEVICE=$(udisksctl dump | grep -i "IdLabel: \+$DEVICELABEL" -B 12 | grep " Device:" | cut -d ":" -f 2 | sed 's/^[ \t]*//')
DEVICEPATH="$BASEPATH""$DEVICELABEL"
echo "found one $MICRO, device: $DEVICE"
if [[ -z $(mount | grep "$DEVICE") ]]
then
echo "$DEVICELABEL was unmounted"
if [ == "mount" ]
then
udisksctl mount -b "$DEVICE"
exit 0
fi
else
echo "$DEVICELABEL was mounted"
if [ == "unmount" ]
then
udisksctl unmount -b "$DEVICE"
exit 0
fi
fi
;;
* ) echo "more than one $MICRO found"
;;
esac
echo "exiting without doing anything"
我安装了 Xubuntu 20.04,在这个系统上,mu-editor 在文件模式和 REPL 模式下工作,附带 micro:bit。