Link search Menu Expand Document

norns: 数据管理帮助

通过本页面和上方的搜索栏,您应该能够解决遇到的大多数norns问题。

如果您需要额外帮助,我们会为您提供支持!请使用以下格式发送邮件至help@monome.org:

  • 您遇到了什么问题?
  • 重现该问题需要哪些步骤?
  • 问题发生时norns连接了哪些额外硬件?包括控制器、wifi适配器、外部集线器等。
  • 请附上问题发生时maiden中打印的任何输出

如果您无法提供可靠重现问题的具体步骤,这将降低我们的处理效率。如果我们指向现有资源并要求您验证额外信息,请理解。

如需特定脚本和库的支持,请访问lines并搜索该脚本的讨论线程。

章节

备份norns

您使用norns创建的所有数据——下载或创建的脚本、导入或录制的音频、MIDI映射和PSET等——都存储在一个中心位置:dust。

通过WiFi

要从同一wifi网络上的其他计算机访问dust文件夹,请按照wifi + 文件:传输文档中的步骤操作。

要备份或恢复您的dust文件夹,请按照wifi + 文件:备份文档中的步骤操作。

通过USB

wifi是备份norns最直接的方式。以下说明适用于无法将norns连接到wifi的情况(没有适配器、没有网络等)。

如果您有标准norns,请通过串行将其连接到第二台计算机。如果您有shield,请为其设置热点并通过ssh连接到第二台计算机。然后,将USB存储设备插入norns。

  • 使用ls /media确保检测到USB存储设备
    • 您应该看到usb以不同颜色列出
    • 如果执行ls /media/usb,这应该显示USB存储设备的内容(如果有的话)
  • 使用cp -r /home/we/dust /media/usb复制您的dust文件夹
    • 如果遇到权限问题,请尝试sudo cp -r /home/we/dust /media/usb
    • 这需要时间!可能需要15分钟以上。
  • 使用sudo shutdown now关机

通过SD卡(仅限shield)

在Windows和macOS上,不幸的是,您无法通过简单地将SD卡插入读卡器来访问SD卡上的norns分区。我们建议使用上述wifi步骤。

对于有冒险精神的用户,以下是访问ext4文件系统的步骤:Windows和MacOS。

全新安装

此过程将安装一个干净的工作系统。

警告:硬盘将被完全擦除。请务必先备份您在dust中的任何数据。

不是每个版本都会构建完整镜像,所以如果”最新”完整镜像与当前更新不同,请不要担心——您将在最后一步通过SYSTEM > UPDATE进行更新。

标准norns

刷写磁盘镜像最简单的方法是使用Etcher或官方Raspberry Pi Imager。它们适用于Linux、MacOS和Windows。如果Etcher或Imager不适合您,或者您更喜欢命令行,请参阅此指南。

有关Imager的可视化指南,请参阅Raspberry Pi基金会的这个视频。

如果您希望看到Etcher过程的可视化演示,monome的这个视频中演示了第2步及以后的步骤。

如果Etcher或Imager不适合您,或者您更喜欢使用命令行,请参阅此指南。

步骤:

  1. 安装Etcher或Imager。下载norns磁盘镜像:获取标准镜像。它将下载为.tgz文件——将其解压到您的计算机上,以便得到剩余的.img文件。请注意,在Windows上可能需要两次解压——如果一次解压返回.tar文件,请对.tar进行额外解压以获得.img。
  2. 关闭norns电源并移除设备底部的四颗螺丝。
  3. 为了简化过程,请断开连接到计算机的任何其他存储设备。然后,使用充电线将norns插入计算机。
  4. 您将通过norns电路板上的缺口看到一个开关。它当前位于run——将其切换到disk。norns背面的LED将变白并保持亮起直到第6步。
    • 放下norns时要注意设备底部的白色重置按钮——如果它持续被触发,请尝试将设备竖直放置在底部边缘上。
  5. 运行Etcher / Imager。如果使用Etcher,您可以简单地将磁盘镜像拖到+号上——如果使用Imager,点击Choose OS和Use custom,然后导航到磁盘镜像文件。在Etcher中,选择Compute Module作为目标——在Imager中,选择挂载为/Volumes/boot的设备。按Flash! / Write,输入您的非norns计算机密码,并等待完成+验证。
    • 如果您没有看到Compute Module填充,或者它没有正确初始化,请尝试重新开始:从计算机上拔掉norns并重启计算机。虽然听起来很傻,但简单的重启在我们的工作室中解决了这类问题。
    • 如果您使用USB适配器或集线器,并且没有看到Compute Module填充或它没有正确初始化,请尝试从适配器中移除USB-A连接器并重新连接。如果您使用USB-C Mac,我们看到使用集线器时的连接问题可以通过使用Apple官方USB-C转A适配器解决。
    • 尝试更换不同的线缆。
    • 如果您已经到了这一点并且在安装了homebrew的MacOS上运行,请尝试使用这些命令行说明安装rpiboot。
    • 如果您在Windows上首次安装到全新的CM3+,您可能需要安装Raspberry Pi启动驱动程序并在镜像之前运行rpiboot。按照Raspberry Pi网站上的这些说明使新的CM3+显示为USB大容量存储设备。
  6. 完成刷写和验证后,断开USB。将norns板上的开关切换回run。将底部固定回设备上。
  7. 启动norns(如果您完成了扩展,启动时间会比正常稍长),添加您的网络并通过SYSTEM > UPDATE更新
    • 如果您执行SYSTEM > UPDATE而norns告诉您它是up to date.,那就是最新的!我们建议在磁盘镜像可能没有为增量更新周期编译时执行此步骤。
  8. 如果您有32gb CM3+的norns,您需要扩展文件存储,因为全新安装假设最低容量(4gb)。这只需要做一次,但在全新安装后很重要——它让系统知道您的存储容量。
    • 通过终端连接SSH。
    • 执行:sudo raspi-config(或者执行:sudo raspi-config --expand-rootfs; sudo shutdown -r now跳到最后一步而不使用GUI)
    • 向下导航到Advanced Options。
    • 选择Expand Filesystem并选择OK。
    • 导航到Finish,如果提示重启,选择OK。请注意,这将完全关闭norns电源,而不是重启它。没关系!如果您没有看到重启选项,只需在扩展完成后将norns进入睡眠状态。
    • 请注意:文件系统扩展后,norns需要几分钟才能完全启动
    • 您可以通过在SELECT / SYSTEM / SLEEP屏幕上按K2来验证扩展是否已进行——disk应该显示大约26000M(26 gb)。
  9. 考虑更改默认密码和地址

shield

使用Etcher或官方Raspberry Pi Imager来刷写您的SD卡,使用这些shield专用说明。请务必使用高质量的SD卡——如果遇到任何问题,请尝试不同的卡。

如果Etcher或Imager不适合您,或者您更喜欢使用命令行,请参阅此指南。

刷写SD卡后,您需要扩展文件系统:

  1. 在连接到与shield相同网络的计算机上打开终端
  2. 执行:ssh we@norns.local 密码:sleep
    • 如果无法连接到we@norns.local,请尝试用shield的IP地址替换norns.local,可通过在SELECT / SYSTEM / SLEEP屏幕上按K2来发现
  3. 执行:sudo raspi-config(或者执行:sudo raspi-config --expand-rootfs; sudo shutdown -r now跳到最后一步而不使用GUI)
  4. 导航到Advanced Options并按RETURN
  5. 选择Expand Filesystem并按RETURN
  6. 会有很多活动发生。完成后,关机并重启。如果出现任何错误,请再次重启。
  7. 将norns连接到您的网络并通过SYSTEM > UPDATE更新
  8. 考虑更改默认密码和地址

如果您之前连接过shield(通过相同的IP地址或简单的norns.local),您可能会看到一个警告,提示”远程主机标识已更改”。这是因为shield现在有一个新的主机密钥。错误将为您提供hosts文件的文件路径,但如果您在MacOS上,您可以简单地在终端中执行rm -f ~/.ssh/known_hosts来擦除之前的hosts文件并重新开始。

扩展存储

标准norns

自2021年以来构建的所有新norns都配备了提供32gb存储的CM3+。它们的完整容量在初始发货前在工作室中扩展,但如果您最近重新安装了设备上的norns软件,您需要扩展文件系统以便使用完整的32gb。

注意:如果您运行的是norns 230509或更高版本,您可以简单地执行norns.expand_filesystem()来自动执行以下步骤。

  • 在连接到与norns相同网络的计算机上打开终端
  • 执行:ssh we@norns.local
    • 如果找不到您的norns,您也可以使用ssh we@IP_ADDRESS_OF_SHIELD,例如ssh we@192.168.1.100
  • 密码:sleep(输入时您不会看到字符,这是正常的),按ENTER/RETURN
  • 执行:sudo raspi-config(或者执行:sudo raspi-config --expand-rootfs; sudo shutdown -r now跳到最后一步而不使用GUI)
  • 导航到Advanced Options并按ENTER/RETURN
  • 选择Expand Filesystem并按ENTER/RETURN
  • 会有很多活动发生,您会收到”根分区已调整大小”的通知。在<Ok>上按ENTER/RETURN
  • 按右箭头两次导航到Finish,您会被要求重启——选择<Yes>(注意norns将关机且不会自动重启)
  • 重新打开您的norns,在SELECT / SYSTEM / SLEEP屏幕上按K2时,您应该在disk下看到~26000M

shield

由于shield的Raspberry Pi运行在SD卡上,而SD卡可以覆盖广泛的容量范围,软件不知道它被允许为自己分配多少空间。

如果您注意到shield似乎没有看到您的microSD卡的全部容量,这是正常的!您只需要让shield扩展其文件系统。

注意:如果您运行的是norns 230509或更高版本,您可以简单地执行norns.expand_filesystem()来自动执行以下步骤。

  • 在连接到与shield相同网络的计算机上打开终端
  • 执行:ssh we@norns.local
    • 如果找不到您的shield,您也可以使用ssh we@IP_ADDRESS_OF_SHIELD,例如ssh we@192.168.1.100
  • 密码:sleep(输入时您不会看到字符,这是正常的),按ENTER/RETURN
  • 执行:sudo raspi-config(或者执行:sudo raspi-config --expand-rootfs; sudo shutdown -r now跳到最后一步而不使用GUI)
  • 导航到Advanced并按ENTER/RETURN
  • 选择expand filesystem并按ENTER/RETURN
  • 会有很多活动发生。完成后,关机并重启。如果出现任何错误,请再次重启。
  • 如果您SSH回到norns并执行df -h,您将看到新扩展的容量

删除日志

如果您的norns似乎比应该的更满(首先检查是否有任何大于预期的TAPE文件!),有可能日志系统在您的存储中添加了多余的文件。

确认方法:

  • 在连接到与norns相同网络的计算机上打开终端
  • 执行:ssh we@norns.local
    • 如果找不到您的norns,您也可以使用ssh we@IP_ADDRESS_OF_SHIELD,例如ssh we@192.168.1.100
  • 密码:sleep(输入时您不会看到字符,这是正常的),按ENTER/RETURN
  • 执行sudo du -h /var/log
  • 如果/var/log/journal显示大于20兆字节,您可以通过执行以下命令安全地清理其中的文件:sudo journalctl --vacuum-size=20M
  • 执行sudo du -h /var/log确认空间已被回收

截取屏幕截图

捕获norns的屏幕截图可以是创建说明文档或分享UI想法的有用工具。

在您的norns通电并连接到与计算机相同的wifi网络的情况下,连接到maiden。然后,在maiden的REPL中执行此行(将"filename"替换为唯一字符串):

screen.export_screenshot("filename")

这将在dust/data/<script>/filename.png创建屏幕截图。如果没有加载脚本,屏幕截图将简单地保存到data。然后,使用SMB或SFTP连接到norns并下载PNG文件。

下载后,您可能希望调整伽马值以显示屏幕级别的完整范围。如果您在计算机上安装了ImageMagick,请cd到文件位置并执行:

magick convert <filename> -gamma 1.75  <filename>

请注意:screen.export_screenshot生成的图像被放大了4倍并包含64像素边框。如果您希望创建保留norns屏幕确切尺寸的屏幕截图,请在maiden的REPL中执行此行(将"filepath"替换为唯一字符串,例如"home/we/dust/data/my_script/screenshot.png"):

_norns.screen_export_png("filepath")

然后您可以使用screen.display_png(filepath, x, y)在norns屏幕上显示图像。