Flipper Zero是我与朋友一起开发的针对Tamagotchi尺寸形式的黑客的袖珍多功能工具。以前的帖子[ 1 ],[ 2 ],[ 3 ],[ 4 ],[ 5 ]
在本版本中:系统API,开发人员套件,机械和电子改进,GPIO更新,NFC中的新功能,远程测试平台...
在9月份,我们几乎没有撰写有关该项目的任何文章,现在是时候解释原因了。我们已经暂停了所有营销活动,以专注于开发和其他任务:供应和生产合同,法律问题,招聘等等。所有这些花费了很多精力,以至于我们甚至没有时间发布更新。现在,我们准备与您分享新闻。
系统API
在本月中,我们开发了固件体系结构和系统API,用于与硬件交互的抽象,线程管理和多任务处理。这是我们未展示的幕后工作,但这是发展的重要组成部分。
我们在固件开发中的主要目标是使开发人员对用户尽可能友好且易于理解,以便他们可以轻松地为Flipper Zero编写程序。因此,活动结束后,我们丢弃了所有肮脏的代码,并从头开始开发架构。
在这段时间里,我们一直在积极地进行内部工作:编写引导加载程序,重构操作系统代码,编写外围设备驱动程序,为自定义应用程序设计API。重构还影响了构建系统和相关性,重新设计了用户界面代码。最重要的变化发生在我们的开发堆栈中:我们将使用的CMSIS RTOS更新为第二个版本,并使我们的代码使用单个API。新的自定义应用程序API已朝Beta迈出了一大步,我们希望在不久的将来公开开放它。
机械和电子学方面的改进
新组件和外壳设计
外壳与第一个原型相比已经发生了很大变化。我们已经完全重新设计了内部按钮和组件的布局,以使Flipper不会散开,耐用且可以承受大量使用。
我们已将RFID和NFC模块移至电池下方的单独板上。它通过FPC电缆连接到主板。
新的按钮机制
新的弹簧加载按钮
在操纵杆上增加了弹簧,以获得更好的触觉响应。
如何进行按钮力学测试
可更换电池
不可拆卸电池是现代设备的祸害。我们决定不使用密封电池,而是使用三针连接器,以便用户自己更换电池。为了提高可维护性,我们计划直接在现场出售单个Flipper组件,包括电池。
红外移到角落
经过一些测试,我们发现以前放置红外端口不是很方便:它被食指和外部模块挡住了。最后,决定将其移至某个角落。
更多GPIO
重新设计了GPIO引脚。添加了另外两个GND触点-从来没有很多。
新功能:USB NFC读取器
诸如加密攻击之类的资源密集型任务无法直接在Flipper上执行。对于某些人来说,即使是Raspberry Pi也不够用-您需要功能强大的台式机处理器。例如:
- 对Mifare Classic的攻击:MFCO(嵌套),MFCUK(黑暗面)
- 攻击Mifare Plus:硬巢式
我们决定增加将Flipper与LibNFC库一起用作常规USB NFC适配器的功能。因此,所有通过LibNFC运行的现有程序都可以直接使用,而无需进行任何修改。在这种模式下,来自PC的所有命令都将通过USB接口直接代理到ST25R3916 NFC芯片。
这项任务的主要问题是LibNFC库牢牢地钉在了NXP PN5xx芯片上,新驱动程序本质上必须模仿PN53xxx芯片的行为,但这并不是那么可怕。
Flipper Zero Devkit
对于致力于固件和硬件的开发人员,我们制作了一个特殊的devkit。实际上,这是一个普通的挡板,在塑料配件中带有展开板,因此可以轻松地从下方和上方访问所有组件,并且可以轻松地用探针爬到每个元素。
鳍状肢实验室
Flipper实验室的幕后工作在
编写代码时,需要不断对其进行测试。测试必须在真实的硬件上执行并与真实世界交互,这一事实使任务变得复杂。为此,制作了一个远程测试平台,该平台通过GitHub Workflow与CI脚本集成。每次提交固件后,都会自动将其收集并倒入设备中,然后执行测试,然后将测试结果吐入UART:通过这种方式,您可以了解成功完成了哪些测试。到目前为止,它的工作情况很糟,但是在将来,我们将以这种方式检查所有功能:接收/发送无线电,读取/写入NFC卡,发送/接收IR信号等。
这是针对开发人员的相同开发套件。物理按钮通过继电器连接,从而可以对其进行远程控制。屏幕上的图像由摄像机捕获,并在网站上实时广播。即使开发人员手边没有设备,也可以通过Web界面手动上传固件和Poke按钮。
Flipper Zero
Flipper Lab远程测试平台界面模型目前处于Alpha开发中,但我们稍后会公开打开它,以便任何开发人员都可以:
- 将您自己的固件或插件上传到实时Flipper Zero示例
- 实时查看日志,甚至向Flipper发送UART消息
- 远程按下所有按钮
- 使用物理RFID卡和iButton标签测试外围设备
实时更新Discord
在Discord服务器上,我们在项目中添加了实时更新的提要。您可以使用新的#updates频道实时查看开发人员的工作情况,并在其中查看提交到存储库中的提交。
现在服务器上有超过6000名参与者!
加入我们的Discord服务器以:
- 与我们的工程师和支持者沟通
- 通过#updates频道实时关注开发进度
- 讨论Flipper Zero的用例
- 结识数千名极客
- 访问仅用于支持者的秘密频道(通过私人消息联系@Backers Bot以获取角色)
-您好,我们正在寻找人才!
我们先前启动了Flipper开发人员计划,并收到了上千个回复。我们邀请了几个开发人员到一个半封闭的带有固件的存储库。
不幸的是,我们意识到水平管理模型不适合我们,因为大多数不专职工作的开发人员只有在有灵感和渴望的时候才将时间投入到项目中。随着时间的流逝,这样的过程难以管理和预测结果。因此,现在我们只雇用全职开发人员。也许当大部分低级代码准备就绪并且我们打开存储库时,接受社区输入将变得更加容易。