自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

燕十三的物联网之旅

物联网IoT开发

  • 博客(68)
  • 资源 (7)
  • 收藏
  • 关注

原创 ESP-TOUCH编码规则及解码

1. 概述 ESP-TOUCH是Espressif公司自主研究的一键智能配网工具,帮助用户将使用ESP8266的硬件产品连接Wi-Fi网络。用户只需在手机上配合硬件产品进行简单的操作即可实现智能配网连接Wi-Fi路由。目前app是开源的,Android和ios代码均可在github上下载到,设备端RTOS版本SDK和NON_OS版本SDK使用同样的ESP-TOUCH。下载地址如下:

2017-01-22 21:52:26 20197 13

原创 wifi一键配网smartconfig原理及应用

智能家居/家电现阶段还处于普及阶段,由于家庭wifi网络的普及,目前普遍采用wifi与路由器完成连接,与手机/云端进行数据交互智能硬件,如智能插座,智能空调,智能空气净化器由于不具备人机交互界面,不能像电脑一样的搜索/选择指定路由器,输入连接密码的界面,所以必须先解决正确连接路由问题;目前流行的wifi配置模式一般有以下2种:1:智能硬件处于AP模式,手机用于station模式,手机连

2015-10-20 21:38:22 44102 14

原创 轻松玩转树莓派Pico之九、RP2040-SMP自定义工程创建

[toc]## 1、工程创建运行完 FreeRTOS-SMP-Demos 后,我们对 SMP 运行有了一定的了解,接下来我们自己创建工程编译运行。测试是否可以正常编译。

2024-02-25 22:14:00 403

原创 轻松玩转树莓派Pico之八、RP2040 双核应用

该项目编译后,会生成 main_blinky 和 main_full 两个可执行文件,分别对应 vLaunch() 下的宏 mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 控制的两个函数。FreeRTOS SMP 相关的代码,目前是以分支形式在 FreeRTOS-Kernel 仓库里面的。可以通过 FreeRTOS 提供的 SMP 专有的 API 设置在创建任务时候设置对应任务运行在哪个核。编译完成后,会在 2 个 demo 下各自自动生成 2 个可执行文件。显示当前任务运行核。

2024-02-25 22:13:01 848

原创 Arduino 单片机也可以直连涂鸦云,轻松实现智能控制

Arduino 单片机也可以直连涂鸦云,轻松实现智能控制

2024-02-21 20:17:40 393

原创 tuya-open-sdk-for-device使用体验之Windows 下 MSYS2 编译 T2-U 开发板

tuya-open-sdk-for-device 是一款跨芯片平台、操作系统的 IoT 开发框架。它基于通用南向接口设计,支持 Bluetooth、Wi-Fi、Ethernet 等通信协议,提供了物联网开发的核心功能,包括配网,激活,控制,升级等;它具备强大的安全合规能力,包括设备认证、数据加密、通信加密等,满足全球各个国家和地区的数据合规需求。

2024-02-02 17:31:12 973

原创 离线语音识别 sherpa-ncnn 尝鲜体验

有专门的小模型可应用于 Raspberry Pi 4 之类的嵌入式板卡上,在 PC 上可以选择大一点的模型,做一些对比,选择了 csukuangfj/sherpa-ncnn-streaming-zipformer-bilingual-zh-en-2023-02-13 (Bilingual, Chinese + English) 这个模型在 PC 上运行。不需要访问网络,不需要数据传输,完全本地识别。识别效果:识别速度很快,效果比较好,但是只支持wav格式的音频,其他格式的需要转换后才能识别。

2023-12-31 15:16:32 1423

原创 平头哥玄铁 E906 编译与使用

玄铁 E906 是一款完全可综合的中端 MCU 级处理器,兼容 RV32IMA[F][D]C[P] 指令集,提供可观的整型性能提升以及高能效的浮点性能。

2023-12-14 23:27:54 1130

原创 RISC-V 基础知识汇总

基本指令集、扩展整数或浮点运算、多CPU系统使用的同步指令扩展,标准扩展指令MAFD被认为是大部分的一般运算都需要的,所以有一个字母的简称 G 用来表示 IMAFDZicsr_Zifencei。使用嵌入式系统的一个小的32位电脑可能用 RV32EC,而大型的64位电脑可以用 RV64GC,即 RV64IMAFDCZicsr_Zifencei 的简称。随着扩展指令集数量的增加,指令集标准提供了另外一种命名方式,用 Z 前缀紧接着字母名称表示标准扩展,例如 Zifencei 表示指令抓取屏障扩展。

2023-12-14 23:01:28 513

原创 平头哥玄铁 E902 编译与使用

玄铁 E902 是平头哥半导体有限公司自主研发的极低功耗、极低成本嵌入式 CPU 核,以 8 位 CPU 的成本获得 32 位嵌入式 CPU 的运行效率与性能。E902 兼容 RISC-V 指令架构,采用 16/32 位混合编码系统,指令系统与流水线硬件结构精简高效,具备极低成本、极低功耗和高代码密度等优点。E902 主要针对智能卡、智能电网、低成本微控制器、无线传感网络等嵌入式应用。。

2023-12-13 21:39:07 1310

原创 平头哥玄铁系列 RISC-V 芯片及开发板

平头哥玄铁系列 RISC-V 芯片及开发板

2023-12-13 21:34:05 1602

原创 ARM Cortex-M 的 SP

这意味着同一个逻辑地址,实际上有两个物理寄存器,一个为 MSP,一个为 PSP,在不同的工作模式调用不同的物理寄存器。裸机中,SP 指向在系统启动文件中被设置为一个被预留大小的内存块顶部,每次调用函数,把需要的临时变化放入栈中,函数退出后,恢复为调用之前的值。,该函数 startup_stm32f10x_md.s 中已经实现,用于提供编译器的初始化C库函数设置用户程序的堆栈所需要的堆栈信息。在嵌入式开发中,堆栈是一个很基础,同时也是非常重要的名词,堆栈可分为堆 (Heap) 和栈 (Stack)。

2023-09-02 22:47:20 1354 3

原创 RISC-V Linux系统rootfs制作

整个 buildroot 是由Makefile(*.mk) 脚本和 Kconfig(Config.in) 配置文件构成的,因此可以像配置 Linux 内核一样执行 make menuconfig 进行配置,编译出一个完整的、可以直接烧写到机器上运行的 Linux 系统文件(包含 bootloader、kernel、rootfs 以及 rootfs 中的各种库和应用程序)。文件系统可以用 busybox、buildroot 等工具制作,busybox 需要自己一步一步的做出来,过程比较麻烦。

2023-08-29 19:48:52 1199

原创 RISC-V Linux系统kernel制作

配置完成后相应的配置项会保存在 .config 文件中。下一次执行 make menuconfig 时可以 load 这份配置文件,在此基础上进行修改。编译完成后,在arch/riscv/boot下生成Image,该文件用于 qemu -kernel 参数。

2023-08-29 19:47:56 1160

原创 RISC-V交叉工具链riscv-gnu-toolchain编译

注意上面 clone 的仓库,我们称其为构建脚本仓库,其并不包含 gcc 等工具源码,这些源码以 git 的 submodule 的形式作为子仓库的内容发布,所以需要继续更新子仓库。使用上诉命令通过 submodule 方式下载困难的话,可以手工通过下载并切换到指定的分支。如 binutils 可通过以下方式下载并切换到指定的分支,地址和分支可以在根目录下的。riscv-gnu-toolchain 支持通过不同的编译命令和参数,生成不同版本的 toolchain。版本可以使用以下命令编译。

2023-08-29 19:45:20 2256

原创 qemu编译与使用

Qemu 有两种运行模式,一种是全系统模拟(system mode),一种是用户态模拟(user mode)。qemu 是一款支持多个 CPU 架构的虚拟机,支持如如 Alpha, ARM, Cris, i386, M68K, PPC, Sparc, Mips, Xtensa等;默认编译参数下,configure 会编译所有 ISA 的 QEMU,全量编译会耗时 20 分钟左右,其实很多时候我们不需要绝大多数 ISA,比如 Mips Sparc 的 QEMU 我是不关心的就可以不编译。

2023-08-29 19:43:26 897

原创 博流RISC-V芯片JTAG debug配置与运行

正确连接 cklink-lite 与目标芯片,然后点击 T-HeadDebugServer 上的 Run debug server,如硬件连接正确,图标会由三角形编程圆形,并在软件窗口上显示芯片内核信息。解压后按照默认配置安装,安装成功后插上 cklink-lite 后,可以在设备管理器中找到 cklink-lite 已经找到。注意:在运行 jtag 功能器件,T-HeadDebugServer 要一直运行。注:使用 JTAG 调试前,需先下载完成对应目标项目的 bin 文件。命令加载 elf 文件。

2023-08-29 19:36:46 1609

原创 博流RISC-V芯片Eclipse环境搭建

在 Eclipse 主界面 Project Explorer 栏中,点击 Build Targets 下的 make 按钮,即可开始编译。在 Eclipse 主界面 Project Explorer 栏中,点击 Build Targets 下的 flash 按钮,开始烧录。在 Eclipse 下同样支持 ninja 编译,只需要更新 Build Targets 下的 make 按钮对应的编译命令。如编译出错,可先点击 Build Targets 下的 clean 按钮清除编译后,再次点击 make 按钮。

2023-08-29 19:27:08 1319

原创 博流RISC-V芯片BL616开发环境搭建

CMake 是一个跨平台的构建工具,用于生成各种不同构建系统(如 Makefile、Ninja 等)所需的构建文件。CMake用于定义项目的构建规则和依赖关系,并生成相应的构建文件(如 Makefile 或 Ninja文件)。然后,使用 Ninja 等构建工具来实际执行构建过程,编译源代码、链接库文件等。Ninja 的设计目标是提供一种快速的构建工具,尤其适用于大型项目和复杂的构建过程。速度快:Ninja 使用简单的依赖图来确定需要重新构建的目标,因此可以避免不必要的重新构建,提高整体编译速度。

2023-08-29 19:17:40 1780 1

原创 RPMsg-Lite上手

RPMsg-Lite 是远程处理器消息传递(RPMsg)协议的轻量级实现。RPMsg 协议定义了标准化的二进制接口,该接口用于在异构多核系统中的多个核之间进行通信。与开放式非对称多处理(OpenAMP)框架的 RPMsg 实现相比,RPMsg-Lite 减少了代码大小,简化了 API,并提高了模块性。RPMsg-Lite 是由 NXP Semiconductors 开发并在 BSD 兼容许可下发布的开源组件。下载 rpmsg-lite 源码后,查看源码文件较少└── virtio。

2023-08-03 23:45:10 549

原创 最新高性能RISC-V开发板-LicheePi4A尝鲜开箱笔记

LicheePi4A是以 TH1520 主控核心,搭载 4TOPS@int8 AI 算力的 NPU,支持双屏 4K 显示输出,支持 4K 摄像头接入,双千兆 POE 网口和多个 USB 接口,音频由 C906 核心处理TH1520(曳影1520)是平台哥首款基于无剑600 SoC平台设计的多模态AI处理器SoC原型。该SoC原型基于玄铁C910内核 ,最高主频可达2.5GHz,支持全链路安全防护,具有4K视频处理能力,同时含有丰富的异构计算和高速IO资源。性能指标对标广泛的中高性能应用场景。

2023-05-08 22:44:07 1580 1

原创 轻松玩转树莓派Pico之七、让Pico跑个分

CoreMark是一个综合基准,用于测量嵌入式系统中使用的中央处理器(CPU)的性能。代码用C编写,包含以下算法:列表处理(增删改查和排序)、矩阵操作(公共矩阵操作)、状态机(确定输入流是否包含有效数字)和CRC(Cyclic redundancy check 循环冗余校验) 。目前 CoreMark已迅速成为测量与比较处理器性能的业界基准测试。

2023-01-26 22:22:27 1440

原创 轻松玩转树莓派Pico之六、pico-project-generator使用

pico-project-generator是树莓派官方出的Pico C SDK 项目的自动生成工具,该工具可以通过配置,自动生成编译所需的CMake文件、example文件、VSCodeIDE配置文件等。之前几个项目,都是通过copy老项目的CMakeLists.txt方式来编译项目,今天来体验一下树莓派官方提供的工具pico-project-generator。配置完成后点击OK,工具自动会运行,如果没有配置PICO_SDK_PATH和toolchain环境变量会报错。Location:项目存储位置。

2023-01-26 16:34:43 1118

原创 轻松玩转树莓派Pico之五、FreeRTOS体验

树莓派Pico开发板片上主芯片为RP2040单片机,双核 Arm Cortex-M0 + 处理器,工作主频为133MHz,264K片上SRAM,和2MByteFlash。Pico开发板上芯片为RP2040,Cortex-M0双核,当前只使用单核,使用portable/GCC/ARM_CM0下的适配文件。3、在FreeRTOS目录下下新增CMakeLists.txt,不使用FreeRTOS自带的CMake脚本。下载完成后,可看到项目目录下会出现FreeRTOS/FreeRTOS-Kernel两级目录。

2022-12-09 21:50:30 3225

原创 轻松玩转树莓派Pico之四、Ubuntu下在线debug环境搭建

按照前文一文中的Pico固件更新方式(uf2文件格式),在正式开发过程中需要不断修改代码/更新固件,这种固件更新方式会感觉开发效率有些低。Pico开发板芯片为RP2040,ARM-Cortex-M0架构,官方开发板上留有SWD接口,那是不是可以在线debug呢?答案是肯定的。中有详细相关流程介绍。官方文档中提供了2种在线debug方式:方式1:树莓派作为主机,同时也作为openocd的仿真器,对Pico开发板进行固定烧录、在线debug。

2022-11-24 00:16:44 2314

原创 Node.js环境搭建

Node.js 是一个跨平台的JavaScript运行环境,它构建在为了在服务器端运行JavaScript代码而设计的Chrome JavaScript上。使用apt-get安装的版本可能不是最新版本的Node.js,可以和官网上的最新正式版本对照一下。非最新版本会在实际使用中遇到较多问题,所以先将Nodejs升级到最新版本,使用node升级神器-n。(n不支持windows系统)npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)

2022-11-21 21:46:16 1706

原创 轻松玩转树莓派Pico之三、Windows+Ubuntu虚拟机模式下VSCode C语言开发环境搭建

树莓派Pico-VSCode编译环境搭建

2022-11-20 21:58:39 2813

原创 轻松玩转树莓派Pico之二、创建自己的pico工程项目

一切正常的话,会在build目录下生成hello_world.uf2文件,按照新手上路一文对应步骤,将该文件下载到Pico中, 在UART0上每隔1000ms输出一串“Hello World!文档“Chapter 8. Creating your own Project”中详细介绍了相关流程。3、从pico-sdk/external目录下复制pico_sdk_import.cmake文件至pico_user_project根目录下。1、创建项目目录,如pico_user_project。

2022-10-06 22:47:58 2145

原创 吃灰树莓派应用之HomeAssistant安装与Tuya插件应用

Home Assistant 是一款基于Python的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。Homebridge 是一个轻量级的 NodeJS 服务器,它可以把 N 多第三方设备(如米家、博联)模拟成 HomeKit 认证配件,从而接入 HomeKit 智能家居。和,我使用的是Home Assistant Core安装到树莓派4B上。

2022-10-04 18:51:43 2567

原创 轻松玩转树莓派Pico之一、新手上路

树莓派-Pico是树莓派基金会推出的第一款微控制器领域的树莓派低成本开发板,售价仅为4美元,它包括RP2040、2MB闪存和一个支持1.8-5.5V输入电压的电源芯片。RP2040是树莓派开发的全新芯片。

2022-09-24 23:44:35 3597

原创 ARM芯片层相关术语和缩写汇总(一)

ARM芯片层相关术语和缩写汇总

2022-06-25 22:16:55 1242

原创 从MDK分散加载文件学习STM32启动流程

一直在用ARM的Cortex-M系列做产品开发,也陆陆续续学习了ARM的启动流程、汇编启动文件,但是总感觉没有连贯的把全部知识串起来,不知道某些汇编语句为什么要这么写,没法按照自己的情况进行修改。今天从连接器及连接脚本入手,梳理一下完整流程。一、基本概念嵌入式系统开发完成最终的映像文件是需要写入到嵌入式设备的ROM/FLASH中断的。常见的映像文件格式包括bin和hex文件。AXF/ELF文件也是一种映像文件,是在bin文件中加入了一些文件头和调试信息。一个映像文件中可以包含多个域(regio

2021-11-29 00:09:39 1763

转载 一文看懂ARM Cortex-M处理器 ARM Cortex-M 处理器家族介绍和比较

原文作者:Joseph Yiu, 高级嵌入式技术经理, ARM概要ARM Cortex-M处理器家族现在有8款处理器成员。在本文中,我们会比较Cortex-M系列处理器之间的产品特性,重点讲述如何根据产品应用选择正确的Cortex-M处理器。本文中会详细的对照Cortex-M 系列处理器的指令集和高级中断处理能力,以及 SoC系统级特性,调试和追踪功能和性能的比较1 简介今天, ARM Cortex-M 处理器家族有8款处理器成员。除此之外,ARM的产品系列还有很多其他的处理器成员。对很.

2021-04-05 20:42:32 7656

转载 怎样才能成为一名优秀的高薪程序员?

作者:findyi作者简介:前360技术总监,互联网从业11年的非典型码农,也是一名产品人。(来源于作则工作号简介)微信公众号:findyi链接:https://www.zhihu.com/question/31966856/answer/1789528474来源:知乎我认为,能长期做到以下32点的程序员,达到月薪30K往上,不太难:1.优秀的debug能力,debug能力往往比编码本身更重要2.写代码前先画好类结构图和代码时序图,这样会让编码能力迅速进步3.定期重构代码真.

2021-03-23 10:32:41 491

原创 802.11抓包软件对比之Microsoft Network Monitor

从事WiFi嵌入式软件开发的同学,802.11协议层抓包分析是一个需要熟练掌握的一个技能,需要通过分析WiFi底层802.11协议层的数据包来定位问题。同时从学习802.11协议的角度而言,最有效的学习方法就是通过抓包来学习,从抓到的数据包中,可以验证之前理论学习部分的知识,通过对数据包的理解,不仅可以加深对802.11协议的理解,还能提高自己在实际使用中问题分析、解决能力。由于要抓到802.1...

2020-02-08 17:23:03 3330 5

原创 跟着omnipeek学802.11之Omnipeek无线空中抓包入门

无线产品如蓝牙、zigbee开发过程中,由于没有直接连接,通常开发中都要用到一个dongle用于抓取空中数据包,然后分析定位网络、通讯问题。Wi-Fi开发中同样需要空中抓包,但是Wi-Fi用于抓包的设备不叫dongle,通常叫sniffer。我们知道,无论有线以太网还是无线Wi-Fi,在正常工作模式下,mac层只处理广播包或者发给自己的数据包,目标地址与自己mac地址不符的数据包都将会被丢弃。...

2018-09-09 00:16:31 45967 9

原创 浅析低功耗产品设计

当前越来越多的无线产品,由于使用场景选择使用电池供电,系统的功耗越来越受到用户的重视,特别是用电池供电的穿戴式设备尤其明显。在电池供电的产品中,系统功耗作为产品性能指标中位列第一位的,产品的待机时间决定了这个产品的成败。试想一下,一个功能强大但待机时间只有几天与一个功能合适但待机时间长达几个月的产品,用户选择频繁更换电池还是选择非必须的功能。嵌入式系统低功耗设计需要全面分析各因素,统筹规划...

2018-08-19 21:51:17 2528

原创 Alios-Things入坑记之rtl8710bn初体验

一、概述        Alios-Things是一款由阿里巴巴开发的面向IoT领域的轻量级物联网嵌入式操作系统,致力于搭建云端一体化IoT基础设备。具备极致性能,极简开发、云端一体、丰富组件、安全防护等关键能力,并支持中断设备连接到阿里Link,可广泛应用在智能家居、智慧城市、新出行等领域。Alios-Things源码目前托管在github上,地址为:https://github.com/ali...

2018-06-16 00:35:54 13236

原创 智能照明之HSV与RGB

智能照明之HSV与RGB一、RGB色彩模型RGB(Red、Green、Blue)色彩模式是一种面向硬件的色彩模型,显示系统都采用RGB颜色模型来进行图像显示。RGB色彩模型属于加法混色原理,每种原色的数值越高,色彩就越亮,RGB都是0时是黑色,都是255时是白色。RGB色彩模型表示直接,但是RGB数值和色彩的三属性没有直接的联系,不能揭示色彩之间的关系。二、HSV色彩模型HSV色彩模式应用最广泛的...

2018-04-10 22:05:05 926

原创 玩转RT-Thread之荔枝派Nano(全志F1C100S) 新手上路

玩转RT-Thread之荔枝派Nano(全志F1C100S)一、新手上路--作者:燕十三(flyingcys)  blog:http://blog.csdn.net/flyingcys--荔枝派nano/RTT非官方群:711174828在此感谢RT-Thread官方成员@uestczyh222提供的荔枝派Nano内核移植、rttbootloader文件、rtota等一系列工具。挖坑/填坑网htt...

2018-04-07 12:00:43 44718 6

猫盘刷机文件,包括flash-image.bin、full.bin和救砖文件ezremaster.iso

猫盘刷机文件

2024-04-05

inSSIDer 4和谐真实可用版

nSSIDer分两个版本,一个是基础班,另一个是inSSIDer Office专业版,本版本最新的就是4.2.1.109版,区别就是专业版功能更多。 这里分享的是已注册的版本,可以无条件的使用基本版的所有功能,有了它你将轻松选择无线信号强、网络稳定、信道不拥挤的最佳无线网络热点。 查看2.4GHz频段信道使用情况,这是inSSIDer非常有亮点的一个功能(纵坐标:信号强度,横坐标:14信道)。在这里我们不仅可以看到每个无线热点所占用的无线信道,还能看到该热点的信号强度。此时,信号强度强,占用信道不拥挤的无线热点就是你的最佳选择。 除了常见上述功能,inSSIDer还提供了新闻报道,网络过滤,GPS等附加功能,感兴趣的用户可以自己尝试。 使用它可以看到每个热点的MAC地址、网络名称(SSID)、无线信号强度、使用的信道、加密方式、最大无线传输速率和网络类型等主要信息,非常的全面。 其中纵坐标越高,表明信号强度越强,而横坐标越平滑,则表明无线信号越稳定。 所以inSSIDer是专门查看wifi是不是稳定的,对于买了一款比较好的wifi路由器而言,用此工具来检验wifi信号的稳定性和性能强度是再好不过了。

2018-08-20

ESP-TOUCH编码规则及解码

ESP-TOUCH编码规则及解码

2017-03-19

OpenWRT下载与编译

OpenWRT下载与编译

2017-03-19

TP-LINK_841N_V8路由器硬改升级OpenWRT记

TP-LINK_841N_V8路由器硬改升级OpenWRT记

2017-03-19

VMware下Ubuntu与Windows共享文件配置

VMware下Ubuntu与Windows共享文件配置

2017-03-19

VMware下Ubuntu16共享Windows10文件夹

VMware下Ubuntu16共享Windows10文件夹

2017-03-19

IoT-Camera学习笔记之初识IoT-Camera

IoT-Camera学习笔记之初识IoT-Camera

2016-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除