tag 标签: 软件

相关帖子
相关博文
  • 热度 2
    2024-9-10 18:05
    265 次阅读|
    0 个评论
    在树莓派上构建和部署 Node.js 项目
    探索在Raspberry Pi上构建和部署Node.js项目的最佳实践。通过我们的专业提示和技巧,克服常见挑战,使您的项目顺利运行。 去年圣诞节,我收到了一份极其令人着迷的礼物,它占据了我许多周末的时间,甚至让我夜不能寐。它就是全新的Raspberry Pi Zero。 它带来了无穷无尽的可能性,并且情不自禁占据着我的大脑,所以我采取了唯一明显的行动方案就是把它扔进抽屉里,然后慢慢远离它。几个月后,我读到了同为双面间谍的Adam Lukens的一篇精彩文章。那篇文章给了我所需的鼓舞,让我卷起袖子,拂去Raspberry Pi上的灰尘,开始工作。为了额外的挑战,我决定在我的项目中加入Node.js。我将其称为Tot Tunes。 Tot Tunes:https://github.com/pingortle/tot-tunes 我只用了一两个小时就建立了一个可行原型,并短暂地感觉自己像个超级英雄。然后我发现了一个错误。我修复了那个错误,但又出现了许多其他小问题。如果断电或拔下电源怎么办?因此,我通过一系列的学习,并为我的小项目建立了一个工具库。我想分享的不仅仅是构建Tot Tunes本身的经验。这要归功于Adam详细的文章。我希望降低门槛,让更多人能够构建出色的产品,并满怀信心地运行它们,而无需经历我在项目中遇到的痛苦。 如果您想一边阅读本文一边动手构建一些东西,您需要一台安装了Raspbian的Raspberry Pi、对JavaScript基础有合理的掌握,以及安装Node.js。我们还将进行少量的shell脚本编写。 我构建了一个Node.js项目 您可能有一个一直渴望构建的小项目,如果没有,我为您准备了一个简单的Node.js服务。请前往此处克隆项目,并按照自述文件中的说明进行设置。 项目:https://github.com/pingortle/til-node-raspberry-pi-delivery 如何部署? 部署Node.js项目的最显而易见的方法是在Raspberry Pi上安装Node.js,然后开始编写代码。有些工作流程可能很适合这种方法,但我知道我很快就会怀念笔记本电脑的强大功能和便捷性。另一种常见的方法是在笔记本电脑上编写代码,然后将代码复制到Raspberry Pi上并运行npm install && npm start。每次更新代码时,只需复制代码并重新启动服务即可。虽然这不是世界上最糟糕的情况,但我认为一定有另一种更好的方法。其中一个问题是,我受限于Raspbian软件包存储库中可用的Node.js版本,因为我想使用更新版本的Node.js来提高性能和功能。解决此问题的常见方法是使用像nodenv这样的工具来管理Node.js版本。但我意识到可以有不同的选择。我是继续在Raspberry Pi上管理所有这些基础设施,还是尝试寻找一种更简单的方法?我最近听说了一个项目,该项目将软件包与Node.js运行时捆绑在一起,以便您可以将应用程序作为独立的可执行文件分发。这最终解决了我的许多问题。您可以在GitHub上的zeit/pkg找到该工具。由于我现在处理的是二进制可执行文件,因此我知道我需要获取一个适用于Raspberry PiCPU架构的Linux二进制文件。初步测试表明,从理论上讲,pkg支持这些限制条件,但出现了一条错误信息。 nodenv:https://github.com/nodenv/nodenv zeit/pkg:https://github.com/vercel/pkg 错误!无法在此处为'armv7'构建,仅能为'x64'构建 经过一番挖掘,我在github上找到了这个问题的评论。它表明,只要我的依赖项是纯JavaScript,我就可以通过一个标志告诉pkg不要将结果编译为字节码,即pkg ... --no-bytecode。构建成功,所以我把二进制文件复制到了Raspberry Pi上。它起作用了!我再也不用担心部署和开发版本的Node.js同步问题了。我可以直接将这些配置检入git。 问题的评论:https://github.com/vercel/pkg/issues/145#issuecomment-311150484 它起作用了!但它刚刚崩溃了... 我住在龙卷风巷附近。幸运的是,我的附近从来没有真正发生过龙卷风。但不幸的是,每年都会有暴风雨来临,然后就会停电。有时这只是电压波动造成的短暂停电,但无论如何,我的没有电池的Raspberry Pi都会在没有警告的情况下重新启动。关键是,我的Raspberry Pi服务需要为大自然带来的任何事情做好准备。由于我使用的是Raspbian,因此systemd似乎是完成这项工作的合适工具。我不知道如何编写systemd服务,但这似乎是学习的完美借口。它实际上非常容易制作!命令行界面非常直观,您只需创建一个描述如何运行服务的文件即可。 Description =TotTunes User =pi ExecStart =/usr/local/bin/tot-tunes Type =simple Restart =always WantedBy =multi-user.target 将该文件放置在/etc/systemd/system/目录中。然后运行以下命令。 systemctldaemon-reload systemctlenable tot-tunes.service servicetot - tunes start 通过这种简单的配置,您可以获得一个在重启和崩溃时自动重启的服务。另外,它还可以通过journalctl接口轻松访问应用程序的日志。 任务完成了吗? 在Raspberry Pi(Raspberry Pi)项目上进行开发既有趣又有点让人上瘾。但如果你像我一样,我们还渴望在我们小小的物联网霸主之外拥有自己的生活,所以并没有总是有时间花几个小时来学习一个新的操作系统或编程语言。 我们需要快速实现一个想法,这样我们就可以继续我们的生活,只需稍微多一点的JS自动化,因为你永远不会有太多的JS。 虽然我部分选择Node.js是作为一种有趣的挑战,但我认为它对于物联网新手来说还有其他优势。一方面,几乎每个人都知道一点JS,所以这是让那些想要快速提高生产力的人们的一条途径。如果你不是JS的粉丝,那么有大量的工具可以帮助你编写TypeScript、CoffeeScript和许多其他可以编译成JS的语言。npm有成千上万的包,所以你可以借鉴他人的工作成果,而pkg允许我们将所有这些打包成一个可执行二进制文件,无需安装任何必要的依赖项。 npm:https://www.npmjs.com/ 即使在你的下一个Raspberry Pi项目上使用Node.js和pkg有充分的理由,但在投入这个平台之前,你还是要权衡一下成本和收益。Node.js是一个相当大的依赖项,在二进制文件中包含运行时环境会创建超过30MB的文件。这会减慢部署速度,因为你必须传输整个二进制文件,而不仅仅是一些文本文件。此外,像任何解释型语言一样,你可能会遇到应用程序性能不可接受的情况。 这种设置非常适合启动一个简单的服务,但我认为我们可以继续改善Raspberry Pi和Node.js的体验。在为Raspberry Pi构建软件时,最大的矛盾之一是,你可以通过在设备本身上进行开发来获得快速且更高保真度的反馈,但你可能没有习惯使用的所有好工具。如果你选择在舒适的笔记本电脑上构建软件,那么每次你想在Raspberry Pi上测试代码时,都可能会经历等待部署的痛苦。 另一个困扰是设置服务配置的繁琐。在Raspberry Pi上手动编辑文件的过程很容易耗费你本来可以用来构建你热爱的东西的几个小时的时间。一个相关的问题是分发。如果你的非技术朋友来访并注意到了你的酷炫新玩意怎么办?如果你为别人建了一个项目,并且需要更新它怎么办? 这个领域充满了机遇,我很高兴能继续学习、建设和与你们分享。如果你正在用Raspberry Pi做令人兴奋的事情,并且这些与你产生了共鸣,请与我联系!关注树莓派开发者,了解更多树莓派相关内容!
  • 2023-12-8 10:04
    0 个评论
    在11月25日由中国电子信息行业联合会与盐城市人民政府联合主办的“2023中国电子信息行业发展大会”上, 华秋DFM软件凭借其卓越的技术实力帮助电子制造产业质量提升,荣获了2023年度电子信息行业质量提升典型案例-可靠性质量提升奖项。 这一荣誉是对华秋DFM软件在推动电子信息行业质量提升方面的肯定和表彰。 华秋DFM软件的获奖,彰显了其在电子制造领域的影响力和专业性。这一荣誉不仅是对华秋DFM软件过去几年在产品质量提升方面努力的肯定,也是对华秋DFM软件未来发展的期待和鞭策。 本次大会聚集了相关省市工信主管部门,工信部相关直属单位,相关行业协会、企业代表等近400余人,共同探讨电子信息行业的发展趋势和挑战。在大会上,华秋DFM软件与其他79家优秀企业一起,被表彰为电子信息行业质量提升典型案例。这些案例代表了行业在质量提升方面的最佳实践,为整个行业树立了榜样。 随着电子产品的更新迭代速度加快,电子产品朝着更轻便、更薄、更小体积、更高性能发展。电子产品的硬件开发主要流程包括,结构设计、原理图设计、layout布线,bom采购,PCB板生产,PCBA组装,小批量试产,大批量生产。在整个开发过程,30%以上的文件存在设计缺陷,也需要多次打样、试产,而60%以上的缺陷可以在生产前发现,进而采取措施消除或减少。就拿pcb来说,需要越来越小的线宽线距、越来越小的尺寸和孔径。并且元器件选型及布局也朝着微型化、密集化,因此加工过程相对容易引发缺陷等问题。 目前国内缺少有效的检查工具,来检查PCB设计隐患,而国外DFM软件不仅价格昂贵,而且功能分散,使用复杂度也很高,国内板级DFM迎来了机会。 华秋作为电子供应链产业数字化平台 ,为工程师用户提供PCB柔性制造,元器件采购,SMT/PCBA加工制造服务。PCB设计问题、生产难度、价格等问题,华秋每天都会遇到,因此 为了帮助工程师规避设计问题,我们研发了DFM软件——华秋DFM 。 华秋DFM软件作为国内首款免费pcb可制造性和PCBA装配分析软件 ,从设计开始考虑制造工艺的制程参数,提高制版直通率,降低过程沟通成本。能在生产前帮助客户发现并解决PCB生产隐患,输出各生产端标准文件及智能工具,让产品在整个制作过程得以提升品质以及生产效率,缩短研发周期,降低生产成本。同时也帮助工程师,规范布局,正确设计PCB封装,散热均衡,确保装配的可靠性。 在制造方面,我们有 30万+ 交易用户,每天有上万个文件需要对文进行检查。在工程师社区,我们有 620万 用户,他们在设计过程中需要了解工厂端工艺要求及全面的检查。面对海量的不同设计参数和生产工艺的数据,为了更高效、精准的获取元器件模型,华秋致力于打造千万级的标注元器件数据库,通过智能BOM匹配,DFM可制造性分析,生产成本最优方案,帮助客户实现 高可靠、短交期、低成本 生产。 未来,华秋DFM软件将继续秉承 “以客户为中心” 的企业理念,不断加大研发投入,提升产品和服务的质量。以更高的标准、更严的要求、更优的质量服务于每一位客户。同时,华秋DFM软件也将积极赋能电子制造行业,推动电子信息行业的持续发展。 在此次颁奖典礼上,华秋DFM软件的获奖无疑给整个电子信息行业带来了新的动能和助力。华秋DFM软件的推出将激励更多的企业以质量提升为核心,积极探索和实践电子信息行业的发展之路。我们期待在未来的日子里,华秋DFM软件能够继续引领行业发展潮流,为推动中国电子信息行业的繁荣和发展做出更大的贡献。
  • 热度 5
    2023-11-2 09:36
    1981 次阅读|
    2 个评论
    有些用户第一次使用示波器时(或者更换电脑使用示波器时),发现电脑识别不了示波器,出现此类问题,可以根据下述方法进行解决。 我们先来看看软件识别到示波器的状态: P S7 版本的软件中,可以点击软件左侧一栏【连接设备】查看,如图 1 ; 图1 P S6 版本的软件中,可以点击软件左上角【文件】,再点击【连接设备】查看,如图 2 和图 3 。 图2 图3 如果电脑与示波器连接后,上述界面没有搜索到示波器,则表示电脑没有识别出示波器,如图 4 、图 5 。 图4 图5 注意: 先确保你的电脑上只打开一个示波器软件,如果同时打开多个示波器软件,只会在其中一个软件上连接示波器,而其他软件则是默认的没有连接示波器的状态。 出现这种情况,最好先用 同一台电脑的不同 U SB 端口 连接示波器看看能否成功识别(因为电脑的 U SB 端口输出电压有差异,也有可能会导致示波器不能正常工作;此外,建议用户尽量不使用 USB 拓展坞,因为可能会导致供电电压降低而识别不到驱动);如果还是不行,则使用 另一台电脑 连接示波器看看能否成功识别(这一步是为了排查示波器内置驱动是否有问题),如果能识别出,证明示波器本身没有问题。之后将示波器重新连接到识别不出示波器的电脑上,打开【设备管理器】查看,一般这种情况是显示为叹号的状态,如图6,点击选中它然后右键【卸载】。 图6 完成上述步骤后,拔开示波器,再重新插上示波器。 Windows 会运行“发现新硬件向导”。按照屏幕指示操作,如果向导询问是否更新 Windows(WindowsUpdate) ,选择“否” ( “ No ” ) ,让 Windows 自动探测并设置你的示波器。完成此步,示波器的驱动将会在设备管理器上显示,显示为“ Pico Technology instruments ”或“ PicoScope 4000 series Oscilloscope ”,如图 7 。此时你的示波器软件应该可以用了。 图7 如果到了这一步还是不行,就在图 8 中的路径找到这个文件(这个文件是示波器的驱动), 双击它重新安装一下 。 图8
  • 热度 5
    2023-9-6 23:23
    749 次阅读|
    0 个评论
    该解决方案即使在最复杂的异构和定制化设计中也能显著提高生产效率 德国慕尼黑, 2023 年 9 月 5 日 —— RISC-V 定制计算领域的领导者 Codasip® 宣布:公司现在可为其定制 RISC-V 处理器内核提供 Tessent™ Enhanced Trace Encoder 增强型追踪编码器解决方案,该方案是西门子 EDA 的 Tessent Embedded Analytics 嵌入式分析产品线的成员产品。通过这一联合解决方案,开发人员可以有效地追踪和调试芯片和软件之间的问题,并能准确了解基于 Codasip RISC-V processor™ 处理器的最复杂定制设计的实时行为。 Codasip 的 RISC-V 处理器完全可定制,并可完全适应应用的独特需求。系统设计人员可以使用 Codasip Studio™ 工具链找到最佳软件和硬件的权衡点,并实现最优功能和 PPA (功率、性能、面积)。把针对处理器设计的可定制化处理器 IP 和工具组合在一起,使实现定制计算的自动化方法成为可能。为了使这种定制化服务对软件开发人员可用, Codasip 确保所有的工具都支持定制,包括编译器和调试器。现在还包括追踪解决方案。 在 SoC 中加入追踪功能可以大大加快曾经非常耗时的软件调试任务,从而减少项目启动时间和软件开发的成本。 Codasip 之所以选择与西门子 EDA 合作开发其 Trace Encoder 编码器,是因为两家公司都坚信在整个产品设计流程中都能有效地实现产品质量。这种对质量的关注使创新成为可能,即使在最复杂的异构和定制设计中,也能帮助客户显著提高生产效率。 Tessent Enhanced Trace Encoder 增强型追踪编码器基于由调试和追踪工作组( Debug and Trace Working Group )制定的 RISC-V 标准,该工作组由西门子的代表领导,西门子向 RISC-V 国际社区捐赠了 Trace 算法。然而,西门子的解决方案远远超出了 RISC-V 标准,提供了一个更高效的工具,在最复杂系统的开发中提供显著的生产率效益,并且还支持自定义指令。它对系统进行详细的检查,以找到错误及其根本原因。它是周期精确的,这意味着开发人员可以深入了解每一条指令。 Codasip 战略和生态系统副总裁 Mike Eftimakis 评论道 :“ Codasip 对自己的处理器 IP 提出了很高的质量标准。为了确保其成果可支持出色的系统,我们需要一个超越 RISC-V 标准的追踪解决方案。 Tessent Enhanced Trace Encoder 增强型追踪编码器专为我们客户正在开发的复杂型和定制化系统进行了优化。 ” “ Tessent Embedded Analytics 嵌入式分析工具可实现全系统实时调试和部署后的分析,从而帮助 SoC 提供商专注于产出高质量的、创新的产品等关键任务,并将其快速推向市场, ” Siemens EDA Tessent 部门副总裁兼总经理 Ankur Gupta 说道。 “ Codasip 在帮助客户满足这些要求方面享有卓越的声誉,我们很高兴能够与其成为合作伙伴关系。 ” Codasip 将直接向客户提供 Tessent Enhanced Trace Encoder 增强型追踪编码器解决方案,以简化合同的复杂性。 关于 Codasip Codasip 作为领先的处理器解决方案供应商,支持系统级芯片( SoC )开发人员设计出差异化的产品,从而获得竞争优势。通过使用 Codasip 专为定制计算提供的解决方案: Codasip Studio 设计自动化工具和完全开放的架构授权模式,以及一系列可轻松定制的处理器 IP ,客户可以一种独特的方式充分解锁开放 RISC-V ISA 的无限潜力。 Codasip 总部位于欧洲,同时服务于全球市场, Codasip 的技术目前已实现在数十亿颗芯片中布局。更多信息,请访问: www.codasip.com 。
  • 热度 4
    2023-6-30 11:12
    541 次阅读|
    0 个评论
    系统升级 rpi-update 是一个命令行应用程序,可以将您的Raspberry Pi操作系统内核和VideoCore固件更新到最新的预发布版本。 ::: tip 软件的预发布版本不保证能够工作。除非Raspberry Pi工程师建议,否则不要在任何系统上使用 rpi-update 。它可能会使你的系统不可靠,甚至完全崩溃。它不应作为任何常规更新过程的一部分。 ::: rpi-update 使用 rpi-update 将下载linux内核的最新预发布版本、其匹配模块、设备树文件以及最新版本的VideoCore固件。然后,它会将这些文件安装到SD卡上的相关位置,覆盖任何以前的版本。 rpi-update 使用的所有源数据都来自rpi-firmware repository。该存储库仅包含来自官方固件存储库的数据子集,因为并不需要来自该存储库的所有数据。 运行rpi-update 如果您确定需要使用 rpi-update ,建议您首先备份当前系统,因为运行 rpi-update 可能会导致系统无法启动。 rpi-update 需要以root用户身份运行。更新完成后,您需要重新启动。 sudo rpi-update sudo reboot 它有许多选项记录在rpi-update repository中。 还原版本 如果您已经完成了 rpi-update ,但事情并不像您希望的那样工作,如果您的Raspberry Pi仍然是可引导的,您可以使用以下命令返回到稳定版本: sudo apt-get update sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel 您需要重启您的 Raspberry Pi 以使这些更改生效。 http://https//rpideveloper.com/topic/37/rpi-update-与-系统升级 web: http://www. edatec.cn/cn/ WX公众号:上海晶珩
相关资源