hardware

Mbed OS 5的自定义开发板移植 - NRF51

前言最开始看到Mbed OS5的时候没太在意,然而最近Nucleo买多了就变成了……真香!步骤正好手头的BLE开发板就又开始痒痒,那就上咯手头的NRF51开发板是微雪的NRF51822开发板,芯片型号为_AC,意即32KB SRAM+256KB Flash的型号。我们首先用Mbed CLI新建一个项目,起名叫nrf51_hello就好了。mbed new nrf51_hello 会在当前目录创建工程目录,随便写一个main.cpp,包含main函数用来对付链接问题((#include <mbed.h> DigitalOut led(LED1); int

  • imi415
    imi415
6 min read
software

Arch Linux的蓝牙音频sink媒体控制配置

标题有点长…… ArchWiki里介绍了如何使用PC作为蓝牙音频Sink,将手机等设备的Bluetooth音频经由系统回放设备输出,本文章介绍如何将设备输出的媒体信息通过MPRIS兼容控制插件读取并控制。 TL;DR: 随便找个地方运行 mpris-proxy Log 下面的部分介绍如何找到这个Bluez内置功能的 根据Ask Ubuntu等地的回复,Bluez从5.0起支持设备媒体信息发送到D-Bus,从位于 org.bluez/hciN/dev_YOUR_DEVICE_BT_MAC_ADDRESS/org.bluez.MediaControlN 的属性中即可读取音频信息,相同节点的方法即可控制设备播放状态(如下图) 这马赛克打得完全没意义,算了 然后就想到,

  • imi415
    imi415
2 min read
hardware

关于ESP8266的SDK……

从Espressif(乐鑫)的GitHub主页clone到的ESP8266的SDK,多数情况下master分支是无法正常工作的…… 存在下列问题: 1. lx106-hal库不包含在repo内( -lhal Link 不能)(2018-01-06更新) 2. 驱动库编译不能(各种玄学报错,多数是 undefined symbol )(2018-01-06更新) 3. 生成binary文件的时候会报错( Arch/Fedora 等 python -> python3 发行版专享错误) 解决方案: 1. 从 tommie/lx106-hal

  • imi415
    imi415
4 min read
hardware

STM32F103 High Density设备RTC挖坑记录(1)

概述 最近手头的项目涉及到了低功率的数据采集及传输,于是就要折腾STM32的低功耗模式了。STM32F103x的低功耗模式有如下三种,Sleep模式,Stop模式以及Standby模式,其特性如下。 Sleep模式: 低功耗,唤醒时间短 利用ARM Cortex-M3的 WFI(Wake From Interrupt)/WFE(Wake From Event)特性 CPU主时钟关闭,SRAM内容及外设状态保留 SysTick继续,NVIC仍响应外设中断 唤醒条件:WFI模式下CPU可由任意中断唤醒,WFE模式需要Wakeup Event Stop模式: 更低功耗,唤醒时间稍长 由Cortex-M3的Deepsleep特性与外设结合

  • imi415
    imi415
5 min read
software

Dovecot解决新版Outlook的IMAP文件夹问题

起因 自从跟着Archwiki自建了Postfix+Dovecot的邮件服务之后一直用的还不错,只是Windows 10 Mail和Outlook并不认识默认的IMAP文件夹,总会自己创建诸如名为 "Sent Items" 和 "Deleted Items" 的文件夹,用来作为已发送和已删除的默认IMAP文件夹,就像这样: 结果不同邮件客户端的邮件就开始散养(雾) 而后了解到,自从Outlook2013以后,Outlook使用了 RFC6154 的 XLIST 命令去发现邮箱中的订阅文件夹配置,而ArchWiki的教程配置(见最末尾链接)并没有包含。于是要给dovecot加上mailbox配置,以便邮件客户端自动配置文件夹。

  • imi415
    imi415
2 min read
hardware

PT2262/2272

ASK调幅编/解码器,遥控器常用(315/433MHz ISM频段) PT2262发射的ASK波形解调之后的数据 文档里面写着可变长度的地址/数据位,说白了就是满打满算一共12位数据位,末尾有一同步位。 其中前八位是固化地址位(焊在焊盘上面,用焊锡短掉),其值取决于A1-A8共计8个地址引脚的电平 每个地址/数据位有三种状态,低(Low)/悬空(Float)/高(High),分别对应以下三种编码 未完,接着填……

  • imi415
    imi415
1 min read