Flipper Zero是我与朋友一起开发的针对黑客的tamagotchi袖珍多功能工具项目。以前的帖子[ 1 ],[ 2 ],[ 3 ],[ 4 ]
在Kickstarter活动的前24小时内,我们筹集了100万美元。坦白说,没有一个团队甚至没有期望到如此受欢迎。早期,我的电话被通知撕裂,从《福布斯》杂志致电第一频道。我仍然没有完全从震惊中恢复过来,也没有完全回答所有的来信。我一生中从未经历过这样的事情。
非常感谢支持我们,跟随该项目并参与的每个人。正是在哈布雷(Habré)上,我发表了关于Flipper概念的第一篇文章,得到了第一批反馈,批评和称赞。在对Habré提出反馈后,我们向Flipper添加了一些功能。我们将尽量避免浪费生产并达到期望。
现在,我完全相信,最大程度的开放和诚实是最好的策略。我们的整个团队都相信开源,并且我们相信发烧友可以创建很棒的项目而不会吸引投资者和公司的监督。因此,我邀请对项目感兴趣的每个人参与开发。
切口下方是针对固件,硬件,桌面程序和硬件模块的开发人员的程序说明。
谁在从事该项目?
该项目由几个大型部分组成,每个部分都有自己的团队。有时,团队必须协调他们的工作,例如,当机械师和硬件工人试图就如何在板上移动组件达成一致时,它不会干扰按钮的移动。以下是基本命令:
- 固件-固件的所有软件开发,包括每个组件的软件模块:无线电,RFID,蓝牙,红外,U2F,USB堆栈等。
- 电子工程(EE)是一个团队,负责开发硬件,即整个电子部件:板,天线和电源。
- Mechanical Engineering (ME) — , . , , : , , , , ..
- Manufacturing — , , ME Hardware . , , . SMT-, , -, , . , .
目前,在铁和机械方面,我们拥有约80%的完整设备。但是Flipper开发的最大部分是固件。现在,我们有了工作所需的原型,体系结构和主要固件组件,这些都是我们赖以生存的基础。
在此阶段,正确地实现所有组件的统一以保持代码的可读性和单一可理解的样式非常重要,这样全世界的开发人员都可以轻松地为我们的平台进行开发。我们相信,这项任务将引起社区的关注,并邀请您像早期一样为创建Flipper的过程做出贡献。
如何参与固件的开发?
所有的Flipper Zero固件都将完全开源,并在Github上发布。目前,我们决定不打开代码存储库,以略微推迟Aliexpress上出现假冒产品的时间。同时,我们很清楚,在kickstarter上取得如此成功之后,肯定会出现假货,总的来说,我们对此并不特别担心。让我们暂时推迟一下,也许这会促使中文编写一些新代码,而不是立即使用我们的代码。因此,现在所有开发工作都在一个封闭的存储库中进行,我们在人员填写表格并签署开发人员协议(CLA)后添加人员。在协议中,我们要求您在未经我们明确同意的情况下不要分发代码,并要求我们可以处置您的代码,但请务必保留您的作者身份。
, . , .
当前使用的来自STM和FreeRTOS的HAL / LL。与外设的大部分工作都是由CubeMX生成的,但是在某些核心地方,我不得不扔掉标准函数并直接使用寄存器。
现在我们处于易于更改技术堆栈的阶段,我们的首席程序员已经思考了一周的时间,是否要切换到RIOT OS,ChibiOS,NuttX和Zephyr以加快并简化开发。我们也在考虑用Rust重写所有内容,并使用Embedded-hal和Tock OS。总的来说,为了更加光明的未来,我们现在已经准备好进行重大变革。
代码的汇编通过make和gcc进行,但是很快我们将需要增加在Arduino IDE和PlatformIO中收集代码的功能。
固件架构:
我们在找谁?
Flipper的主要组件是用C,C ++和Rust编写的,因此对这些语言的了解将对开发有用。如果您使用过微控制器并知道如何调试电子设备,那也很好,但是我们尝试通过抽象层将硬件与代码分开,以便许多组件(例如图形界面或海豚行为)不需要使用硬件。我们还需要界面设计人员(在128×64屏幕上放置信息丰富的UI并非易事),开发人员和测试人员(如果您准备测试电子产品并处理用于远程调试和测试的机架)。
最重要的是,您必须愿意为发展做出贡献。要参与该项目,请填写表格... 请非常仔细地填写表格,这是我们了解您的专业知识的唯一便捷方法:写下您的开发经验,仅指出您真正对开发感兴趣的Flipper组件。如果您已经有了可以实现的想法,那就太好了-请务必以表格的形式写出它们。
我们将仔细审查所有申请,并与有相关经验的人联系。然后,我们将告诉您如何共同处理该项目,将您添加到Github,给您说明,提供所有必要的文档,并向您介绍该项目。同时,合作的条件可能会非常不同:从我们团队中的全职工作到业余爱好成为志愿者。
铁工开发套件
对于那些敢于参与铁开发的开发人员,即测试无线电模块的物理部分,调试NFC / RFID,开发天线等。我们提供了一个特殊的开发套件。它将是Flipper的一种版本,在特殊装备中不带外壳,可轻松连接调试工具。
除了在表上进行开发之外,此类集合很难用于其他任何用途,并且可能包含错误。因此,您无需讨好自己,也可以认为通过这种方式,您可以先拿到自己的Flipper。
模块开发人员
根据我们的想法,可以使用硬件模块扩展Flipper的功能。现在我们没有资源来开发模块,因此我们准备将这项任务完全委派给社区。它绝对可以是任何模块,例如CAN总线,霍尔传感器,逻辑分析仪,环境传感器,噪声传感器,调制解调器,LoraWAN,IMU,FM发射器以及所有可能的选择,而这些选择只有足够的想象力。
如果您是大型商业公司或谦虚的DIY爱好者,并且对Flipper的铁模块有想法,我们随时准备为您提供所有必要的3D模型和文档,以开发模块,并积极地为我们提供帮助。我们将通过媒体资源支持
前10个现成的模块在我们的网站和所有Flipper的宣传材料中。因此,所有了解Flipper的人也会知道您的模块。要参与模块的开发,请填写此表格。
我们团队中的大多数人都会说俄语,因此我们将更容易与说俄语的人合作。但是,由于该项目是国际性的,因此所有问题,评论和文档都必须使用英语保存。
我保证在这里将详细描述进一步开发的所有阶段。希望我能够到达中国并在工厂现场直播,展示如何从内部制作Flipper。另外,我们正在准备用于学习数字协议,电子学和编程基础知识的培训材料,以便初学者可以将Flipper用作学习平台。
在社交网络上关注项目