
Funpack
文章平均质量分 81
得捷电子 x 硬禾学堂 = Funpack 项目分享
阿基米东
本科毕业于广东工业大学,当过校队球员,后自学编程,在嵌入式、物联网、工业自动化、机器人、汽车等领域拥有丰富经验,也是多个开源项目的贡献者,同时对 Web 开发和 AI 技术也很感兴趣。立志成为一名杰出的全栈工程师、开源创客,让世界因我而变得更美好!
展开
-
Syntiant TinyML 开发板 + Edge Impulse 机器学习实现语音识别
本次项目用 Syntiant TinyML 开发板自带的麦克风,通过 Edge Impulse 搭建机器学习模型,使板卡上的 LED 灯根据中文语音指令呈现出不同效果。一共训练了四个标签的声音数据,具体说明如下。Syntiant TinyML Board 是美国 AI 芯片研发商 Syntiant 推出的一款 TinyML 开发板,它配备了超低功耗 Syntiant NDP101 神经决策处理器,可以使语音和传感器应用程序分别在 140 和 100 微瓦以下运行。与基于 MCU 的传统 MCU 相比,Syn原创 2022-07-08 22:03:27 · 2877 阅读 · 0 评论 -
Wio Terminal LCD 中文显示
虽然在 Wio Terminal LCD 字体格式 中,我们学习了如何在 Wio Terminal 上显示不同格式的文本。但由于 Wio Terminal 并没有提供中文显示的支持,因此需要我们自己来实现。本文介绍如何使用中文字模提取(Bitmap fonts)的方式,实现在 Wio-Terminal 的 LCD 液晶显示屏上显示中文内容。字模提取所谓的“字模提取”,就是把一个中文字体按照位图的组合方式提取像素的排列顺序。可以参考 字体取模软件 下载安装一款适合你的开发环境的软件,然后输入我们想要的.原创 2021-12-14 21:01:47 · 3048 阅读 · 0 评论 -
【ODYSSEY-STM32MP157C】硬件平台及学习资源
STM32MP1ST 于 2019 年正式发表首款 MPU 产品线系列 STM32MP1,希望延续过去 STM32 MCU 在全球 MCU 市场的成功经验,进一步朝 MPU 市场迈进。作为能够支持轻松开发更广泛应用的通用微处理器产品线,STM32MP1 系列基于单核或双核 Cortex-A7 与 Cortex-M4 组成的异构架构,加强了支持多应用和灵活应用的能力,可以随时实现最佳性能和功率数据。Cortex-A7 内核提供对开源操作系统(Linux/Android)的支持,而 Cortex-M4 内核可原创 2020-09-24 13:32:54 · 2300 阅读 · 2 评论 -
【ODYSSEY-STM32MP157C】环境搭建与系统运行
在上一篇《【ODYSSEY-STM32MP157C】硬件平台及学习资源》中,我们大体了解了 ODYSSEY-STM32MP157C 开发板的情况。除了核心板上的 eMMC,载板上还提供了 SD 卡插槽,通过载板上的滑动开关选择从 eMMC 启动或者从 SD 卡启动。因此开发者可以像树莓派一样,将 Linux 系统镜像烧写到 SD 卡中,即可开启本趟学习之旅。准备材料发车之前,请各位旅客对照如下清单并准备号材料。 ODYSSEY – STM32MP157C 开发板一个 Wi-Fi 网络 4GB 以原创 2020-09-25 17:08:08 · 1845 阅读 · 2 评论 -
【ODYSSEY-STM32MP157C】驱动 GPIO 实现呼吸灯
Grove 接口Grove 是一种规范的嵌入式开发套件连接接口定义。什么是 Grove 系统Grove 是一个模块化的标准连接器原型系统。Grove 采用积木式组装电子技术。与基于跳线或焊接的系统相比,连接、试验和构建更容易,并简化了学习系统。Grove 系统允许你构建真正的系统。因而它需要一些学习和专业知识才能正确地将物件联接起来。Grove 系统由基本处理单元(树干)和具有标准化连接器的各种模块(树枝)组成。基本单元(通常为微处理器)允许从 Grove 模块轻松连接任何输入或输出。每个 Gro原创 2020-09-26 19:01:43 · 2830 阅读 · 4 评论 -
【ODYSSEY-STM32MP157C】驱动 UART 读取传感器数据
我们在上一节《【ODYSSEY-STM32MP157C】驱动 GPIO 实现呼吸灯》 已经驱动 GPIO 实现呼吸灯功能,本节我们将在 Linux 上操作 STM32MP157C 的 UART2 串口与传感器进行通信,并将传感器数据打印出来。准备材料Seeed:ODYSSEY-STM32MP157C 开发板攀藤:PMS5003ST 传感器PMS5003ST 简介PMS5003ST 是攀藤科技的一款空气质量传感器,可以同时监测空气中颗粒物浓度(PM1.0、PM2.5、PM10)、甲醛浓度和环境原创 2020-10-02 11:48:42 · 1898 阅读 · 1 评论 -
【ODYSSEY-STM32MP157C】上报数据到阿里云 IoT 平台
我们在上一节《【ODYSSEY-STM32MP157C】驱动 UART 读取传感器数据》 已经成功读取到 PMS5003ST 传感器的数据,本节我们将学习如何将设备接入阿里云 IoT 平台,并上报数据到云端。准备材料阿里云:阿里云物联网平台账号Seeed:ODYSSEY-STM32MP157C 开发板攀藤:PMS5003ST 传感器创建产品与设备登录阿里云物联网平台,进入“控制台”,选择“设备管理” -> “产品”页面,创建产品。添加自定义功能,我在这里共添加了 6 个属性,分别原创 2020-10-02 15:05:46 · 961 阅读 · 0 评论 -
【RED-V】基于 RISC-V 架构的开源开发板
板卡介绍RED-V RedBoard 是 SparkFun 出品的开源开发板,主控芯片是基于 RISC-V 架构的 SoC SiFive FE310。FE310 是全球第一款基于 RISC-V 架构的 32 位商用 SoC,采用了 180nm 的工艺,最大工作频率可以到 320MHz,性能大致相当于 Arm Cortex-M3。RED-V RedBoard 采用了大家熟悉的 Arduino UNO R3 规格,板上包括 SiFive Freedom E310 内核、32MB QSPI 闪存、NXP K原创 2020-11-04 09:59:15 · 2028 阅读 · 0 评论 -
【RED-V】开发环境搭建及快速入门
开发工具介绍RED-V 的主控芯片是 SiFive 的 FE310,因此可以使用 SiFive 提供的开发工具进行开发。网址:https://www.sifive.com/software因此,RED-V 支持多种开发方式,常见的开发方式是使用 SiFive 官方支持的 Freedom E SDK 和 Freedom Studio 工具。Freedom E SDK 包含多个板卡的板级支持包(BSP)、测试程序和示例程序。仓库地址:https://github.com/sifive/freedom-e原创 2020-11-04 14:11:10 · 3710 阅读 · 2 评论 -
【RED-V】驱动 PWM 实现呼吸灯
打开 FreedomStudio 软件,依次在菜单栏中选择【File】->【New】->【Freedom E SDK Software Project】新建工程。在 Select Target 中选择“sifive-hifive1-revb”,在 Select Example Program 中选择“example-pwm”示例程序。接下来我们将修改这个程序。由于板载的 LED 连接的 D13(GPIO_5)引脚没有 PWM 功能,因此本次实验使用具有 PWM 输出功能的 D9(GPIO_1原创 2020-11-04 15:56:39 · 1500 阅读 · 0 评论 -
【RED-V】驱动 I2C 显示 OLED 屏
打开 FreedomStudio 软件,依次在菜单栏中选择【File】->【New】->【Freedom E SDK Software Project】新建工程。在 Select Target 中选择“sifive-hifive1-revb”,在 Select Example Program 中选择“example-i2c”示例程序。接下来我们将修改这个程序。虽然 E310 只有一个 I2C 外设,但是 RED-V 板卡上引出了 3 组接口,包括 Arduino 插槽上的两组以及一个 Qwi原创 2020-11-04 16:34:11 · 1195 阅读 · 1 评论 -
【RED-V】运行 RT-Thread 操作系统
准备工作BSP目前 RT-Thread 官方仓库还没有提供 Sparkfun RED-V 开发板的 BSP 包,想尝试的小伙伴可以先克隆我的!仓库地址:https://github.com/luhuadong/rt-thread/tree/riscv/bsp/sparkfun-redv配置工具链编译工具依然使用 Freedom Studio 集成的 riscv64-unknown-elf-gcc 编译工具链。因此,在开始之前,您还需要安装 Freedom Studio 集成开发环境。特别地,如果原创 2020-11-04 17:20:43 · 1706 阅读 · 0 评论 -
【Funpack】Thunderboard BG22 蓝牙开发板
硬件平台Thunderboard BG22 是一款来自 Silicon Labs(芯科科技)的蓝牙开发套件。Silicon Labs 公司一直提供丰富的业内先进的无线连接产品,BG22 是 2020 年推出的第二代蓝牙 SoC。蓝牙通信是短距离无线通信中增长最快的协议之一,其最大的优势是其低功耗特色。BG22 相对于之前 BG13 和 BG21 系列功耗更低,主要定位于电池供电带定位功能的极低功耗物联网应用。支持蓝牙 5.2 协议,更快的传输速度,更高精度和安全性,同时易于开发。开发板上有 USB M原创 2021-01-07 11:38:51 · 2182 阅读 · 0 评论 -
【Funpack】蓝牙技术 Q&A
蓝牙技术的应用场景?蓝牙其实有很多应用场景。目前很多的消费品类产品如蓝牙耳机、蓝牙音箱、车载多媒体、蓝牙手环、蓝牙防丢器、蓝牙血压计、蓝牙体重秤,都使用蓝牙进行数据交互与控制。比如开车时,开启导航将手机蓝牙与车载蓝牙连接,可以将音频视频数据流通过手机蓝牙传送到耳机、音箱等设备上。都是智能设备与蓝牙手机连接,将数据发送到手机终端。在某一些应用场景当中,需要考虑低于安卓5.0系统的手机不支持 BLE,所以选择双模,以保证手机的兼容性。但随着手机产品的迭代和更新,较老的型号被淘汰,价格等因素,双模逐渐被单模替原创 2021-01-07 12:00:28 · 1729 阅读 · 0 评论 -
【Funpack】低功耗蓝牙 BLE 协议架构
想要开发蓝牙应用,了解蓝牙协议架构是必不可少的。本文以低功耗蓝牙 BLE 为例,简要介绍 BLE 蓝牙协议架构,帮助开发者快速了解蓝牙协议概况。BLE 协议分层BLE 协议栈主要由如下几部分组成:PHY 层(Physical layer 物理层)。PHY层用来指定 BLE 所用的无线频段,调制解调方式和方法等。PHY层做得好不好,直接决定整个 BLE 芯片的功耗,灵敏度以及 selectivity 等射频指标。LL 层(Link Layer 链路层)。LL层是整个 BLE 协议栈的核心,也是 B原创 2021-01-07 12:36:26 · 1101 阅读 · 2 评论 -
【Funpack】BlueZ gatttool 操作 Thunderboard 蓝牙开发板
BlueZ 是 Linux 官方蓝牙协议栈。它是一个基于 GPL 发布的开源项目,从 Linux2.4.6 开始便成为 Linux 内核的一部分。其基础代码均是由就职于 Qualcomm 的 Maxim Krasnyansky 完成,包括 HCI、L2CAP、RFCOMM 和基本 socket 的实现。安装$ sudo apt install bluez安装完 Bluez 协议栈后,系统会增加一些调试工具,包括 bluetootchctl、hciconfig、hcitool 和 gatttool。原创 2021-01-07 12:57:45 · 1709 阅读 · 1 评论 -
【Funpack】使用 pygatt 读取 Thunderboard 温度数值并控制 LED
pygatt 是一个用于读写蓝牙设备的 GATT 描述符的 Python 模块,可用于任何符合标准 GATT 描述符行为的设备,例如健身追踪器、传感器等等。pygatt 支持两种不同后端并提供了 Pythonic API:BlueZ (requires Linux), using the gatttool command-line utility.Bluegiga’s BGAPI, compatible with USB adapters like the BLED112.我们在 Linux 上原创 2021-01-07 13:19:09 · 1708 阅读 · 0 评论 -
Wio Terminal 有什么好玩的?
Wio Terminal 是什么Wio Terminal 是 Seeed Studio 设计的一款开发套件。它基于 SAMD51 的微控制器,运行速度为 120MHz(最高可达 200MHz),拥有 4MB 外部闪存和 192KB RAM,具有 Realtek RTL8720DN 支持的无线连接,同时支持蓝牙和 Wi-Fi 功能,并且兼容 Arduino 和 MicroPython,是物联网项目的一个不错选择。Wio Terminal 自身配有 2.4 寸 LCD 屏幕、板载 IMU(LIS3DHTR)原创 2021-12-14 12:17:38 · 4438 阅读 · 0 评论 -
Wio Terminal 读取 AHT10 传感器
本文介绍如何通过 Wio Terminal 读取 AHT10 传感器的温湿度数据。AHT10 传感器AHT10 是一款高精度、完全校准、贴片封装的温湿度传感器,采用 I2C 信号输出,可测量温度范围 -40~+85℃,分辨率达 0.01℃。读取数据这里使用 Adafruit AHTX0 库读取 AHT10 传感器数据,返回浮点类型的温度和湿度值。#include <Adafruit_AHTX0.h>Adafruit_AHTX0 aht;void setup() { Ser原创 2021-12-14 12:32:38 · 3201 阅读 · 0 评论 -
Wio Terminal 将数据存储到 Flash
Wio Terminal 内置了一片 4MB 大小的 Flash 闪存,我们可以通过 QSPI 访问它。下面就来介绍如何通过 Wio Terminal 读写内置的 Flash 存储器。安装依赖库首先需要为 Wio Terminal 安装 Seeed_Arduino_FS 文件系统库和 Seeed_Arduino_SFUD 库。1、在 Seeed_Arduino_FS 的 GitHub 仓库 下载 zip 包。2、在 Seeed_Arduino_SFUD 的 GitHub 仓库 下载 zip 包。3原创 2021-12-14 12:40:24 · 1665 阅读 · 1 评论 -
Wio Terminal 从网络获取天气数据
本文主要介绍如何使用 Wio Terminal 的 WiFi 网络获取天气数据。WiFi 配置Wio Terminal 配备的无线网卡是 Realtek RTL8720,在开始本次学习之前,请确保你已经阅读 Wio Terminal 网卡固件更新,并完成固件更新和 Arduino 依赖库的安装。我们知道,WiFi 有两种工作模式:AP 模式和 STA 模式。AP(Access Point)也就是无线接入点,是一个无线网络的创建者,是网络的中心节点。一般家庭或办公室使用的无线路由器就一个 AP。S原创 2021-12-14 13:02:05 · 3174 阅读 · 0 评论 -
Wio Terminal 天气小助手(Funpack 项目)
Demo 概述这个 Demo 展示了如何使用 Wio Terminal 实现一个天气小助手,Wio Terminal 通过 I2C 接口连接一个温湿度传感器 AHT10 实时监测室内环境温湿度,同时通过 WiFi 网络获取当地天气信息以及未来三天的天气预报,使用按键即可切换显示界面。实现功能开机自动联网获取实况天气和预报天气在主界面同时显示室外和室内的温湿度按上方左键可手动更新天气信息可通过五向开关的 Left 和 Right 翻页查看未来几天的天气预测重点难点实现温湿度传感器的实时.原创 2021-12-14 13:05:11 · 3876 阅读 · 0 评论