你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
你觉得这篇文章怎么样?
首先看看最近宣布支持Zerynth的PSoC 6套件
Cypress PSoC 和 Zerynth 中间件的组合凭借高级硬件功能、Python 易用性和扩展生态系统以及带有多线程、云集成和 OTA 更新的实时 O/S,为 IoT 的快速开发提供了一个功能强大的平台。
PSoC 入门
图片来源:Cypress 产品路线图:PSoC 和 MCU 产品系列。
Cypress PSoC(可编程片上系统)将 MCU 与可配置的模拟和数字外围设备相结合,为高度集成的低功耗解决方案创建强大的平台。因此,它受到消费电子产品大众市场的广泛欢迎,例如 Apple AirPod。
图片来源:Cypress 产品路线图:PSoC 和 MCU 产品系列。
PSoC 6 是最新推出的产品系列,专门针对可穿戴设备和 IoT 应用而开发,搭载 Arm Cortex-M4 主应用处理器,同时搭配用于运行 BLE 堆栈和电容式触摸感应等功能的低功耗 Cortex-M0+。当然还有可配置的模拟模块和数字模块,以及可编程输入/输出路由和互连。
这种资源组合可降低材料成本并缩小产品的外形尺寸,此外无论是在主处理器还是辅助处理器上,无论是采用严苛的模拟模块还是数字模块方式,各种功能均采取最高效的运行方式,因此能够降低功耗。
PSoC 6 Wi-Fi BT Pioneer 套件
除 PSoC 6 之外,这款 Wi-Fi BT Pioneer 套件 (175-4669) 的其它重要组件还有:
- 兼容 Arduino Uno 3.3 V Shield1 和 Digilent® Pmod™ 模块的扩展管座。
- 1DX 超小型 2.4 GHz WLAN 和蓝牙功能模块。
- 12 Mbit 外部四路 SPI NOR 闪存,为数据和代码提供可扩展的快速存储器。
- KitProg2 板载编程器/调试器,带大容量存储器编程、USB 到 UART/I2C/SPI 桥接功能,并支持自定义应用。
- EZ-PD CCG3 USB Type-C 供电 (PD) 系统,支持可充电锂聚合物 (Li-Po) 电池。
- CapSense 触摸感应滑块(五个元件)和两个按钮,均支持自电容 (CSD) 和互电容 (CSX) 操作,以及一个 CSD 接近传感器,可用于评估 Cypress 第四代 CapSense 技术。
该套件还随附 Arduino 扩展板,内含 2.4 in. TFT 显示屏,以及三轴加速计/陀螺仪、PDM 麦克风输入、32 位立体声编解码器等。
标准开发选项为 PSoC Creator IDE 和 WICED Studio,两者均使用 C 语言工具链。然而,我们感兴趣的是如何通过 Zerynth 为基于 Python 的开发提供全新的支持,接下来我们将介绍如何设置开发工具。
Zerynth Studio
下面我们将介绍在 Ubuntu Linux 上安装 Zerynth Studio 的完整步骤,但是请注意,它也可以安装在 MS Windows 和 Mac OS 上。
首先创建一个新目录:
$ mkdir Zerynth
接着下载软件并保存到该位置。然后,提取存档文件并开始安装。
$ cd Zerynth
$ tar xvf zerynth.tar.xz
$ ./zerynth
然后,我们选择在线安装,选择最新版本,并在完成后启动应用程序。登录时要求使用 Zerynth 用户帐户,也可以方便地使用 DesignSpark 帐户登录!
如需为访问设备而配置 udev,则需要执行几个额外的步骤。首先创建一个新的规则文件。
$ sudo vi /etc/udev/rules.d/99-kitprog2.rules
内容如下:
# Match KP2 PID/VID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="f148", ENV{CY_KP2_PID_VID}="f148:04b4"
# Match KP2 CMSIS-DAP
SUBSYSTEMS=="usb", ATTRS{interface}=="KitProg2 CMSIS-DAP", ENV{CY_KP2_PID_VID}=="f148:04b4", MODE="0666"
接着重新加载 udev 规则。
$ sudo udevadm control --reload-rules && udevadm trigger
此时插入电路板,接着文件管理器窗口打开,因为板载闪存以 USB 存储器的形式安装。更重要的是,在 Zerynth Studio 顶部的“设备”字段中,我们可以选择下拉列表并在“物理设备”下找到 PSoC6 WiFi-Bt Pioneer 套件。
简单的三步操作
加载应用程序时,必须执行三个初始步骤,而这些步骤均通过“设备”下拉菜单右侧带“Z”图标的工具栏按钮来执行。第一次按下此按钮时,将在目标位置上运行注册固件,获取微控制器的唯一识别码,然后在 Zerynth 后端进行注册。
第二次按下时,系统将提示创建虚拟机 (VM)。
最后按第三下时,可选择需要使用的虚拟机。
现在,我们的第一个 Zerynth 应用程序已准备就绪!
第一步
通过左侧工具栏中的灯泡图标可访问一系列示例,其中包括经典的“Hello World”(使用串行控制台输出)以及更典型的嵌入式平台 LED 灯闪烁。单击示例将显示项目说明和 main.py 的内容,随后可以选择在本地复制副本。
pinMode(LED0,OUTPUT)
# loop forever
while True:
digitalWrite(LED0, HIGH) # turn the LED ON by setting the voltage HIGH
sleep(1000) # wait for a second
digitalWrite(LED0, LOW) # turn the LED OFF by setting the voltage LOW
sleep(1000) # wait for a second
上面我们可以看到闪烁示例,任何曾经用过 Arduino 的人都应当对此感到熟悉,编程指南解释了该示例如何有助于了解引脚和功能的命名。
如需验证项目,单击顶部工具栏中的勾号图标,然后按下带向上箭头图标的“上行链路”按钮加载到目标上。
不出所料,在短暂延迟之后,LED5 开始闪烁。
其他基本示例还包括数字读取和 ADC 读取,以及关于多线程和计时器应用演示的更高级示例等。
进一步拓展
写入时有一个专门针对 PSoC 的示例,用于演示如何读取 Pioneer 套件上的 CapSense 按钮和滑块。此外还有一系列更高级的通用示例,它们展示了 Zerynth 标准库的功能,例如 RTC 和文件系统支持、中断、加密、节能以及可在同一项目中混合使用 C 语言和 Python 语言的 C 语言界面。
此外还提供官方库(为各种 IoT 平台、Ethereum BlockChain、各种传感器提供支持)以及十分便捷的 Modbus、MQTT 等标准。同时还支持在社区库 GitHub 发布创意和获得安装功能。
此外还有一项特别巧妙的功能,那就是 Zerynth 高级设备管理器 (ADM),它可提供无线 (OTA) 更新管理、远程程序调用及设备自身用户界面等高级功能,其中托管的 JSON RPC 接口可用于远程调用设备上的 Python 功能!我们将在以后的帖子中详细介绍这一功能。
当然,我们尚未探讨的其他方面还有 PSoC 平台闻名的可配置模拟模块和数字模块。至少就目前而言,这些模块似乎还需要使用官方 Cypress 工具进行配置。但是与固件配置相比,这类设备配置可能更为静态。