人们说包装虽小但东西好。也许他们应该说“微包装”(小组件)。本月,我们的月度开发者是paul sokolovsky。他正在进行的项目要求用到单片机(mcu)和缩微版软件,以实现高度可便携性。为完成这项工作,paul使用了dragonboard 410c进行开发和测试。
“许多项目是要求可扩展的——扩展为多核心、多台服务器甚至云环境。然而,我们的项目“micropython” 是关于轻量化python并能在小型嵌入式单片机系统上运行流行的高级语言python的项目,用户可以快速、轻松地完成原型设计、开发物联网及其它应用。但是,micropython并不单单针对单片机,它具有良好的移植性及可配置性,目的是打开python语言创新应用的潘多拉之盒。”
paul sokolovsky
paul是micropython团队的两名成员之一,他在土耳其安塔利亚工作。他与项目发起人——英国的damien george一起合作。据paul讲,damien是最开始想到这个疯狂的点子的人,即在单片机上运行python。他还成功发起了kickstarter众筹活动(吸引了将近1400名支持者),构建运行micropython的cortex-m4开发板。当时,paul正在研究各种小型脚本语言,解决自身的物联网/家庭自动化需求,那时还没有考虑过重写python以便运行在小型系统上。paul 说服damien在网上(github)发布源码。现在,他与damien一起承担这一项目的维护任务。( 此视频展示了在适用于物联网的嵌入式单片机开发板上运行micropython)
paul在micropython项目的一部分工作会使用到dragonboard 410c板,“它始终在我的工作台上占据一席之地,它执行着各种开发与测试工作。”
paul说:“我从github pull最新的更新,这一任务因dragonboard内置wi-fi而变得更加方便。然后,我利用dragonboard linaro aarch64工具链构建代码,检查64位armv8架构在编译时出现的问题。接着我再运行各种micropython测试套件,这个测试套件运行使用“大python”和“微python”(micropython)编写的各种python代码,检查结果是否匹配。”
例如,paul最近作了一项测试,以确定micropython物理内存访问api与dragonboard的配合情况。然后,他利用这些成果制作了一组如何访问dragonboard gpio的示例。
“我希望像我们这样的项目能向初入行者展示dragonboard很容易上手,为他们学习dragonboard更高级的功能铺平道路,”paul说。
我们最近采访了paul,更多地了解了他的工作和他对开源开发的见解。以下为访谈实录:
q:你们公司文化有哪些与众不同的地方?有什么传统惯例吗?
a:我们这个项目并不是第一个将python或其它高级语言带入单片机的项目,所以我们是站在前人的肩膀上,要争取做到更好。至于传统惯例,我们对于专业管理的软件项目有一套例行动作——每日代码审查、需遵循的代码风格和惯例、需编写的单元测试——诸如此类的事情。
q:您能和我们分享公司的一件趣事吗?
a:damien和我并没有见过面——这应该是开源世界经常发生的趣事了!
q:您和damien的工作灵感从何而来?
a:我们从用户和贡献者身上获得灵感。实际上,要想在自己的闲暇时间积极维护一个开源项目不是件易事。您开始为项目贡献代码,专注于项目,反而“忘记”了自己本身的任务;唯一可行的办法是,您始终对自己说:“我负责项目的核心工作,因为我最了解它,所以最好由我来做这项工作。我只是希望其他人利用这个项目做出一些我想做或觉得有趣/有用的东西。”这样的话,真得很令人高兴!
q:您在技术领域的偶像是谁?
a:adam dunkels. 我认为他是物联网之父。他向我展示了即使用很少的代码也能实现一些奇迹般的功能,即使是在cpu 数千兆赫和内存数个gb的时代,这些奇迹在现代世界仍能派上用场。他开发的contiki os是第一个物联网操作系统(早在“物联网”之词问世之前就出现了),为之开发的uip和lwip tcp/ip堆栈,现在已经成为行业领先的嵌入式tcp/ip堆栈。
q:您喜欢嵌入式和物联网开发的哪些方面呢?
a:有人说许多开源项目都是在解决自身问题中诞生。而物联网是这方面更具参与性——几乎每个人都会使用到灯,您可以控制它在您靠近时打开(并且只在特定时间);或者如果接下来几个小时不用就关掉加热器。能够解决生活中的小事,使生活更加舒适,并且是按您喜欢的方式解决,是物联网有趣和有意义的地方。
q:您喜欢dragonboard 410c的哪些方面?
a:我办公桌的抽屉里放了很多开发板,但只有dragonboard 410c稳稳地占据了我办公桌的一角,执行各种开发和测试任务。它配备了一款现代化的cpu,有wi-fi、蓝牙4.0和gps。wi-fi在日常工作中非常有用,bt4.0和gps对于物联网项目也大有帮助。但硬件的强大只是一部分。
我发现支持更为重要,这包括软件、文档和社区支持。..dragonboard的相关文档十分全面,并且还在持续完善。还有,96boards.org社区也在成长中,这里可以讨论各种问题,也会见识到各种最新项目。
q:您对其他开发者有什么建议吗?
a:请珍惜开源开发。就像路网一样——大部分时间里您可以免费通行,但道路维护需要付出极大的努力。请通过提交补丁或帮助其他用户来回馈开源世界。如果您从中赚了钱,请考虑赞助或雇用人员开展工作。
要了解更多关于micropython的信息,请在twitter关注他们。您可以在github上关注paul的工作。
CX-411光电传感器,光敏传感器电阻常用在灯光秀环境
双口独立快充:凯达63W 1A1C智能车充拆解
输出电流的控制和感测基础
未来智能办公机器人工作上缩短70%耗时降低95%错误率释放50%人力
IE7出现“Page could not be displa
月度开发者:使用DragonBoard 410c开发轻量化Python 实现小型嵌入式单片机运行高级语言Python
2023-RDC-RT-Thread开发者大会议程发布!
台积电计划在未来三年投资1000亿美元,提高其芯片代工制造厂的产能
建筑能耗监测系统主要功能
曝华为P40 Pro主摄将采用16合1技术 成像效果值得期待
微藻产油规模化迎“曙光”
特斯拉autopilot 2.0是否有潜力达五级自动驾驶等级?
怎样像台式电脑一样使用树莓派
荣耀V9首次亮相!6GB+双摄
自动化、智能化测试企业燕麦科技发布2022第一季度报告
LED照明电源及驱动电路的保护
在美国本土遇反垄断指控 英特尔拒不承认
搭载鸿蒙系统的荣耀智慧屏上市,荣耀智慧屏则是未来智能家居的中心?
血糖传感器可以将数据无线传送给用户的智能手机或平板电脑
安信可开源硬件:小安派Demo固件编译和烧录指南