- 博客(43)
- 收藏
- 关注
原创 【Git】SSH密钥
许多Git服务器都使用SSH公钥进行认证,为了向Git服务器提供SSH公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。
2024-11-01 11:17:30 518
原创 Sidewalk的demo和完整测试
本章延续前几篇文章继续介绍Sidewalk,不过本章为实战测试,供大家参考。从device发message,到云服务器看数据,然后再介绍一下代码中使用LR11x0时的GNSS和WIFI定位功能。
2024-10-11 16:58:04 822
原创 LoRa Basics™ Modem-E发布V2
最近Semtech发布了一个新代码,LoRa Basics™ Modem-E,简称LBM-E。其实并不是首次发布,只是根据市场需求,改动部分功能,版本号为V2,上一版为V1。那么什么是LBM-E?首先,LBM-E所使用的协议是LoRaWAN。其次,是与Semtech的另一套LoRaWAN代码(名为LBM)相对应的,LBM-E是将LoRaWAN协议封装成固件,flash到Semtech的LR1121芯片内,减少MCU资源占用,而LBM的整个LoRaWAN协议源码都是开放的,但需要占用MCU资源。
2024-10-07 16:51:35 667
原创 AWS IoT Core for Amazon Sidewalk
在测试Sidewalk时,device发送数据,网关接收到,网关通过网络发送给NS,而此处用到的NS是AWS IoT,本章介绍NS与本地device绑定时的操作。
2024-10-01 19:57:56 813
原创 Sidewalk网关准备
本章介绍当测试Sidewalk时,怎么准备网关。首先,我们可以到Amazon官网或者其他地方购买Echo gen4或者ring等带Sidewalk功能的网关(网关列表可以参考官网文章),然后到Amazon官网上绑定。我使用的网关是Echo,所以本章只介绍Echo的绑定。绑定和配置Echo需要下载Alexa app,做完这些,Echo才能作为网关传输Sidewalk数据。
2024-09-23 18:02:49 288
原创 Sidewalk介绍
Sidewalk是Amazon出的一个针对IoT物联网的协议,类似于LoRaWAN协议,针对小而美的低功耗设备。Amazon Sidewalk支持低带宽和远程连接,使用BLE进行短距离通信,使用900MHz的频率的LoRa和FSK进行长距离通信。
2024-09-19 12:05:17 888
原创 【LoRa】RSSIPkt和SignalRssiPkt的理解
本章讨论在使用LoRa芯片时,要读取接收到的上一包的RSSI值,但是存在两个值,那应该怎么理解这两个值?首先,为什么会存在两个RSSI值,这个还是要从LoRa与其他技术的区别说起。常见技术只能接收信号能量值大于当前环境噪声的包(一般是大于8dB),而LoRa最大可以接收小于当前环境噪声-20dB的包,这个值我们用信噪比SNR(Signal Noise Ratio)表示。所以当LoRa信号在环境噪声以下传输时,是需要看SNR值的。
2024-09-12 11:49:13 290
原创 【LoRa】对TX与RX的TOA时间的理解
大家可能已经知道在射频传输中,TOA(Time on Air)是指本包传输所需时间。本章主要来讨论如何理解这段时间,并从发送端和接收端一起来理解。本章是基于LoRa所做的测试,但我认为所有射频都是一样的。
2024-09-09 15:31:07 432
原创 【LoRa】打开硬件CRC校验功能,但没有起作用?
在使用LoRa模式(非FSK)时,可能遇到明明RX端已经打开CRC校验了,为什么payload错误了,没有报CRC error中断?本章就这个问题展开讲讲,如何正确使用芯片的硬件CRC校验,并延申到CR和payload length的使用。
2024-09-05 15:45:04 444
原创 LoRa芯片在RX时产生的中断顺序Q&A
本章介绍在使用LoRa芯片时,对preamble、header、CRC和RX Done各个中断产生的顺序进行解读,本章以SX126x为例,但结论是同样适合其他系列的芯片的。
2024-09-04 21:55:15 751
原创 【LoRa】CAD的工作原理以及使用
本章介绍一下LoRa芯片的CAD功能、原理以及如何使用。由于第一代SX127x的CAD使用与以后的芯片有所不同,本章介绍不适用SX127x。
2024-08-31 22:57:27 890
原创 【LoRa】SetLoRaSymbNumTimeout寄存器
本章节介绍LoRa芯片的寄存器SetLoRaSymbNumTimeout,此寄存器的作用在datasheet中的解释是可降低误检测率,但经过了解及实验,使用SetRx的timeout功能也可以实现同样的效果,而且也更容易理解。相反,如果在代码中同时使用寄存器SetLoRaSymbNumTimeout和SetRx的timeout,其效果反而不好,本章将详细解释。
2024-08-30 21:30:16 1160
原创 【LoRa】SetTx和SetRx的几种模式的用法
本章介绍SetTx和SetRx的使用方法,以及在使用时需要注意的点。Semtech的各个系列的transceiver使用大体相同,本章以SX126x为例展开介绍。根据datasheet介绍,TX有两种模式,一种是TX single mode,一种是TX timeout mode。而RX有三种模式,有RX single mode、RX timeout mode和RX continuous mode。
2024-08-30 15:11:47 775
原创 【LoRa】如何选择软件代码?
前边介绍了LoRa技术和LoRa芯片,本章介绍一下,如何选择LoRa的软件SDK?我们做嵌入式的都知道,学一项新技术时,最好的办法是让自己的代码在板子上跑一跑。硬件需要准备STM32L476开发板和Semtech官方为各个芯片出的EVK开发板,如下图所示,左为STM32L476,右为Semtech的LR1110EVK板子,两者可以直接对插连接。。提示:如果你是因为公司有项目需求,需要用到LoRa技术,你可以联系Semtech官方中国FAE,然后申请技术支持并申请以上用到的硬件,可加速项目开发。
2024-08-26 11:54:23 775
原创 Semtech的LoRa芯片如何选择?
众所周知,LoRa技术为Semtech的专利,也就是说只有Smtech才可以生产LoRa芯片或者授权其他公司。Semtech的LoRa芯片主要就两大类,gateway和transceiver,即我们所应用的网关芯片和节点芯片。LoRa芯片工作频率为sub-G和2.4G。
2024-08-16 18:13:35 549
原创 何为LoRa?
LoRa技术是一种扩频调制技术,这种调制技术是Semtech公司独有的IP。扩频技术是一种用带宽换取灵敏度的技术,Wi-Fi、Zigbee等技术都使用了扩频技术,但是LoRa调制的特点是可以最大效率的提高灵敏度,以至于接近香农定理的极限(如下图所示)。尤其是在低速率通信系统中,打破了传统的FSK窄带系统的实施极限。如果想多了解一下LoRa,推荐一本书籍《LoRa物联网通信技术》,作者甘泉。
2024-08-14 11:38:35 1005
原创 LCD显示的ASCII、汉字和图片的取模
注:点阵要选择的数要大于字符所占字节数,例如8x16的字符所占字节为8x16/2=16,所以这里点阵选大于16就行。字宽字高都改为16,那么对应的ASCII码为8x16,字宽会变为原来的一半。然后在输入栏输入ASCII码表。注意第一个字符为空格。
2024-08-13 16:54:44 497
原创 qt5在linux下搭建交叉编译环境
一、搭建环境ubuntu16.04Qt5.5.1:此处已安装好,只是讲一下配置交叉编译工具的过程。ARN开发板为RK3399二、配置交叉编译工具1、下载交叉编译工具gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar,下载地址。2、解压将此文件复制到你想安装的目录下,此处是复制到/opt 下,然后解压。sudo tar -vxf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar
2021-10-11 10:43:03 7136 3
原创 openCV基于linux搭建环境
一、包下载openCV下载链接,本文下载版本是3.4.1,据说更高版本的会有一些算法专利收费。opencv_contrib下载链接,版本也是3.4.1,必须与openCV版本对应,此文件是扩展库,比如人脸识别,不安装也是可以的。二、环境搭建基于ubuntu16.04系统1、解压将相应的openCV和扩展库安装板放到ubuntu系统目录下,随便哪一个目录都行,解压。2、安装依赖库 sudo apt-get install cmake libgtk2.0-dev libavcodec-dev l
2021-09-29 17:50:57 495
原创 飞凌RK3399编译Android7.1出现的问题
问题一:make: *** [ninja_wrapper] Error 1此问题判断为jackserver服务未运行log记录如下:Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx8192m -cp /home/doit/.jack-server/launcher.jar com.android.
2021-09-18 14:09:52 613
原创 Keil中Options for Target的 C/C++选项配置
1、设置优化级别“Optimization”0表示不优化,设置越大,优化级别越高。一般调试的时候设置为Level 0最低,调试完成后设置为Level 3 最高,减小编译后的代码。2、One ELF Section per Function将每一个函数作为优化单元,而并非整个文件作为参与优化的单元,在对于生成二进制文件大小有严格要求的场合特别重要。本功能对于大工程优化效果好,小工程不是太明显。适用这样一种场合,在我们引用SDK时,组件库的一个文件到工程中的函数我们并不会都使用,最后生成的二..
2021-08-25 09:59:03 5400 3
原创 IAR中出现__disable_interrupt和__enable_interrupt no definition
最近打开了交接过来的旧代码,编译了一下,出现以下错误:Error[Li005]: no definition for "__disable_interrupt" Error[Li005]: no definition for "__enable_interrupt"解决方法:添加头文件#include <intrinsics.h>即可。...
2021-08-03 09:47:58 2194
原创 short--int--long--float--double占用字节,C语言,环境keil
short:2字节int:4字节long:4字节long long:8字节float:4字节double:8字节
2021-07-29 11:44:33 366
原创 PHY6212的flash使用笔记
1、使用hal_fs_init(0x11005000,4)初始化flash时,4代表分配4个扇区,4096字节对齐,并且取值范围是3~78。2、hal_fs_item_write(id,id_buf,id_len),写数据操作,id_len代表数据数据长度,取值范围是1~4095。3、每次写入数据12字节是个单位,比如一次写入1~12字节之间任意个数,在flash中占用空间就是12字节;写入4095字节,就是4095%12余3,则在flash中占用空间就是4092+12=4104字节。目前不懂的
2021-07-09 10:12:35 1189 3
原创 ASCII码完整表
注:第一个字符为空格,不要遗漏。!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
2021-07-06 11:23:48 1301
原创 RT-THREAD的bootloader怎么给factory分区下程序
我们知道通过xshell的ymodem给app区下载程序是发送ymodem_ota,同理给factory区下程序是在xshell中发送ymodem_ota -p factory,然后发送相应的.rbl文件。
2021-01-30 21:38:50 240
原创 CAN通信
标准化ISO11898和ISO11519(1)多主控制:在总线空闲时,所有单元都可以发送消息(多主控制)。最先访问总线的单元可获的发送权,多个单元同时发送时,发送高优先级ID消息的单元可获得发送权,所有消息都以固定的格式发送。(2)系统的柔软性:与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其他单元的软硬件及应用层都不需要改变。(ID只是表示优先级)(3)通信速度:在同一个网络中,所有单元必须设定统一的通信速度,否则,就会出错。(4)远程数据请求:可通过发送“遥控帧
2021-01-16 21:01:37 1759
原创 进程与线程
对操作系统来讲,一个任务就是一个进程(Process),比如打开一个记事本。但有些进程还不止同时干一件事,比如word可以同时打字、拼写检车、打印等事情。如此,在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些子任务称为线程“Thread”。由于每个进程至少干一件事,所以一个进程至少有一个线程。多线程运行是操作系统在多个线程之间快速切换,看起来像同时执行一样。当然,真正的同时执行多线程需要多核CPU才可能实现。总结一下,多任务的实现有3中方式:...
2021-01-07 09:12:11 247
原创 Linux常用命令笔记
实现的功能相应的命令查看操作系统版本cat /proc/version查看主板版本cat /proc/cpuinfo查看内存空间df -T -h T:当前磁盘挂载什么文件系统查看ip地址ifconfigtar压缩文件tar -vczf filename.tar.gz dirnametar -vcjf filename.tar.bz2 dirnamez:用gzip压缩,压缩为.gz格式j:用bzip2压缩,压缩为.bz2格式c:创建新的压缩文件v:显示...
2020-11-24 21:42:50 125
原创 debian系统使用NTP服务器并自动同步时间
1、安装NTP工具sudo apt install ntpdate -y以上只是安装成功。2、更改时区sudo dpkg-reconfigure tzdata出现以下界面,选择Asia然后再选择Chongqing回车退出,此时输入date命令就可以看到时间已经更新了。3、自动同步时间接下来我们设置让系统每隔60分钟自动更新时间,输入以下命令sudo crontab -e由于我在系统中又安装了vim,所以此处我选择3,使用第3个编辑器。在文件最后一行添加语句*/60 *
2020-11-06 17:55:49 6533
原创 虚拟机VirtualBox中Ubuntu和windows共享文件夹访问权限问题
在windows系统和linux系统中设置共享文件夹,方便我们复制文件,但在linux中,这个文件夹中文件权限问题,比如不能在图形界面删除文件。这是因为共享文件夹默认是vboxsf用户组此时我们只需将当前操作用户添加到vboxsf用户组中即可,执行sudo adduser 当前用户名 vboxsf重启虚拟机即可正常使用...
2020-10-28 20:21:44 1878
原创 在sudo gedit命令下无法输入中文保存
1、首先,说明原因在linux命令行中输入sudo gedit,却输入不了中文,但直接直接输入gedit(只读模式下)就可以输入中文,是因为所在文件夹的权限是root,修改此文件夹的权限即可。2、解决方法$ sudo chown -hR zhx:zhx ~/workdir/makefile_step将要修改的文件夹(~/workdir/makefile_step)的属主和属组修改为自己的用户名(zhx),并将其下的文件及文件夹权限同时修改(-hR)。此时文件夹的所属已修改好了,但相应的文件修改权
2020-08-31 09:26:55 1686 3
原创 野火的debian系统怎么设置静态IP
首先,本人的使用环境是野火EBF 6ULL 开发板,安装的是debian系统,目的是将开发板的网络模块DHCP修改为静态IP。步骤如下:1、进去psplash_quit.sh文件。2、在末尾添加两条语句,当然,IP根据自己需要设定。3、reboot,然后ifconfig,看ip是否修改成功。可将开发板断电重启,进一步验证,静态IP是否修改成功。...
2020-08-26 21:59:17 614
原创 RT-Thread studio中怎么添加库文件(.a结尾)
RT-Thread studio中怎么添加库文件(.a结尾)1、将相应的库文件复制到工程中2、添加文件路径及文件名称
2020-08-14 17:07:13 1748 3
转载 Altium Designer多图纸原理图关联设计方法
图纸结构 包括层次式图纸的连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系,另一种即扁平式图纸的连接关系是横向的,任何两张图纸之间都可以建立信号连接。网络连接方式 Altium Designer提供了6类网络标识:Net Label(网络标号),Port(端口),Sheet Entry(图纸入口),Power Port(电源端口),Hidden Pin(隐匿引脚)、Of
2017-09-14 11:28:01 18423
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人