-
介绍:Z-Stack协议栈是STM32开发中经常用到的协议栈,对于掌握CC2530的ZIgBee局域网组网和无线组网都有着很重要的作用,在这里Z-Stack协议栈总的来说做了两件事,系统的初始化和启动OSAL操作系统。1. 实验目的学习TI ZStack2007协议栈内容,掌握CC2530模块无线组网原理及过程使用ZStack-2.3.0-1.4.0协议栈源码例程SampleApp工程,通过串口实现无线控制LED灯2. 实验环境硬件:ZigBee(CC2530)模块两个,UART下载调试板,CC Debugger仿真器,PC机软件:IAR Embedded Workbench for 8051 ZStack-2.3.0-1.4.0协议栈实验目录:Src\ZigBee\Components\CC2530无线通讯实验\实验05 基于Z-Stack的串口控制LED实验3. 实验原理ZigBee(CC2530)模块 LED 硬件接口 图 3.1 LED 硬件接口ZigBee(CC2530)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2530的P1_0、P1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。实验系统框图系统框图如下:本实验实现上位机通过串口控制命令,发送数据到ZigBee协调器节点,协调器通过无线网*控制节点端LED灯的开关状态。4. 实验步骤1)将CC Debugger仿真器一端连在PC机上,一端连在UART调试板仿真器下载口上,两个ZigBee模块分别连接到两个UART模块,如下图:2)用IAR for 8051打开实验工程,目录在:Src\ZigBee\Components\CC2530无线通讯\实验05 基于Z-Stack的串口控制LED实验\Projects\zstack\Samples\SampleApp\ CC2530DB,之后打开后缀名为(.eww)的工程文件。3)编译程序,菜单栏Project->Rebuild All。4)编译通过之后下载CoordinatorEB和EndDevices程序到两个ZigBee模块,点击按钮如图:5)查看任务管理器中两个UART模块的端口号,使用光盘提供的串口终端软件AccessPort,设置为串口波特率38400、8位、无奇偶奇校验、无硬件流模式,即可在终端收到模块传递过来的数据。注意:本工程需要编译两次,一次编译为协调器节点,一次编译为终端节点,通过在Workspace中工程选择单元来选择不同的源码,当选择为CoordinatorEB时为协调器,当选择为EndDevices时为终端,如下图:5. 实验结果依次烧写协调器和终端节点,当协调器组建网络成功过后LED灯保持常亮,终端节点加入网络过后RED灯常亮(若网络未连接则RED灯闪烁),打开串口调试软件,配置串口参数连接到协调器的端口,在串口终端中输入“on”或者“off”来发送串口控制命令至协调器模块,协调器通过串口接收到命令后,无线控制终端节点模块上LED灯开关状态,如下图:
-
介绍:在iot的开发中为了实现远程的无线控制功能,使用到了点对点的通信技术,在esp的wifi模块当中也是如此,对于zigbee来说在物联网当中是最好的选择,无论是在功效还是价格等方面都满足设计的需求。1. 实验目的学习CC2530芯片点对点通讯操作过程,熟悉该模块射频软件接口配置使用IAE开发环境设计程序,利用2个CC2530 ZigBee模块实现点对点无线通讯2. 实验环境硬件:ZigBee(CC2530)模块两个,UART下载调试板,CCDebugger仿真器,PC机软件:IAR Embedded Workbench for 8051实验目录:Src\ZigBee\Components\CC2530无线通讯实验\实验01 点对点无线通信实验3. 实验原理ZigBee(CC2530)模块 LED 硬件接口图 3.1 LED 硬件接口ZigBee(CC2530)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2530的P1_0、P1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。CC2530 IO 相关寄存器图 3.2 P1 寄存器图3.3 P1DIR 寄存器以上图表列出了关于CC2530处理器P1的IO相关寄存器,其中只用到了P1和P1DIR两个寄存器的设置,P1寄存器为可读写的数据寄存器,P1DIR为IO输入输出选择寄存器,其他 IO 寄存器的功能,使用默认配置。程序通过配置CC2530 IO寄存器的高低电平来控制LED灯的状态,用循环语句来实现程序的不间断运行。通讯原理协调器上电后,会按照编译时给定的参数,选择合适的信道、合适的网络号,建立ZigBee 无线网络,终端节点上电后,会进行硬件电路的初始化,然后搜索是否有ZigBee 无线网络,如果有ZigBee 无线网络再自动加入,然后发送数据到协调器,最后使LED 闪烁。4. 实验步骤1)将CC Debugger仿真器一端连在PC机上,一端连在UART调试板仿真器下载口上。2)用IAR for 8051打开实验工程,目录在:Src\ZigBee\Components\CC2530无线通讯\实验01 点对点无线通信实验\ide \srf05_cc2530\iar\,之后打开后缀名为(per_test.eww)的工程文件。3)编译程序,菜单栏Project->Rebuild All。4)编译通过之后下载程序到ZigBee模块,点击按钮如图:注意:本工程需要编译两次,一次编译为发送器的,一次编译为接收器的,通过MODE_SEND宏选择,并分别下载入2个ZigBee模块中。Application/per_test.c#define MODE_SEND // 屏蔽时:接收器 // 不屏蔽时:发送器5. 实验结果依次烧写发送和接收的ZigBee模块,两个模块的LED1和LED2快速闪烁8次后开始通讯,接着发送器的LED1和LED2交替闪烁,接收器的LED1接收到一次数据闪烁一次,LED2熄灭,手动关闭发送器观察接收器LED灯状态。
-
实验目的了解ISO14443A协议学习13.56M基于ISO14443A协议的读取卡ID号实验环境硬件:13.56M_RFID开发板,UART串口底板,ST-LINK仿真器,基于ISO14443A的M1卡软件:Keil5实验原理STM32单片机通过SPI接口控制RC632芯片,RC632是可以使用14443A、14443B、15693三种协议的读卡器芯片。STM32通过SPI控制RC632寻找范围内的卡片,当寻找到相应卡片会选择相应卡片,并对卡片内部扇区进行读写数据实验步骤将ST-LINK仿真器一端连在电脑,一端连在UART调试底板的JTAG接口上。用Keil软件打开工程\Components\第四章RFID底层协议移植与开发\2_基于HF14443协议标签数据读写实验\Project\PROJECT0\Project\STM32Project.uvprojx打开Keil软件,Project->Open Project本实验定义的写入标志位为04写入数据的地址为05可根据自己修改,位于main()上一点的定义中。注意不要向秘钥区写入,避免卡片出现问题。写入数据存放在W_Data变量中,可修改在主程序中,我们使用了条件编译,(#if #else #endif)可以分别,写入,读取,和擦除数据。输出读到的数据显示格式 以字符串形式还是16进制显示在 396-403行 #if 1则执行以下程序,#if 0则执行#else下的程序定义是写入读取数据,还是擦除指定扇区 擦除数据的目的是为了让卡片变成空白卡在 374-416行 #if 1则执行以下程序,#if 0则执行#else下的程序编译程序,点击按钮如图:编译通过之后下载程序到RFID模块,点击按钮如图:打开串口调试工具 AccessPortAccessPort软件参数设置方法见 第二章2.4串口软件使用说明因为使用了条件编译,现象有三种情况卡片写入读取数据,并以字符串形式输出将卡片放入识别区,初始时卡片为空白卡,首先读取04地址的数据,并判断为空,会对卡片进行写入数据,并读取写入数据的地址的数据,以字符串输出出来。当第二次读到卡片时,首先读取04地址的数据,并判断,不为空,证明卡内有数据,并读取写入数据的地址的数据,以字符串输出出来。情况如下图读取写入卡片,并以16进制输出将364行的#if 1 改为#if 0。编译并下载。将卡片放入识别区,初始时卡片为空白卡,首先读取04地址的数据,并判断为空,会对卡片进行写入数据,并读取写入数据的地址的数据,以16进制输出出来。当第二次读到卡片时,首先读取04地址的数据,并判断,不为空,证明卡内有数据,并读取写入数据的地址的数据,以16进制输出出来。情况如下图图中77 77 77 2E 63 79 62 2D 62 6F 74 2E 63 6F 6D 00 即为www.cyb-bot.com 的16进制格式擦除数据将374行的#if 1 改为#if 0。编译并下载。将卡片放到识别区,识别到卡片。 擦除数据将374行的#if 1 改为#if 0。编译并下载。将卡片放到识别区,当识别到卡片会显示。找到卡片 ID=XXXXXXXX 擦出卡片指定地址数据中擦除完成。此时卡片内之前写入数据已经被全部写为0,即擦除为空白卡。
-
实验目的了解ISO14443A协议学习13.56M基于14443A协议的读取卡内数据,学习使用自定义秘钥对卡片进行加密实验环境硬件:13.56M_RFID开发板,UART串口底板,ST-LINK仿真器,基于ISO14443A的M1卡软件:Keil5实验原理STM32单片机通过SPI接口控制RC632芯片,RC632是可以使用14443A、14443B、15693三种协议的读卡器芯片。STM32通过SPI控制RC632寻找范围内的卡片,当寻找到相应卡片后可以读取卡内数据,前提是要验证秘钥是否正确,不正确不可读卡,验证秘钥正确才可以执行操作。实验步骤将ST-LINK仿真器一端连在电脑,一端连在UART调试底板的JTAG接口上。用Keil软件打开工程\Components\第四章RFID底层协议移植与开发\3_基于HF14443协议标签加密密匙实验\Project\PROJECT0\Project\STM32Project.uvprojx打开Keil软件,Project->Open Project本实验是基于XXXXXX实验已经将数据写入卡内的基础上。在MAIN.c文件的313-335行定义了相关秘钥和写入秘钥地址和内容User_KeyA为秘钥A,可修改内容为自定义秘钥,Key_Type为控制字段,请勿修改,修改后可能会导致卡片无法使用,秘钥B也可修改,不过在本程序中并没有涉及秘钥B的相关操作,与A用法一样在MAIN.c的第394行使用了条件编译,#if 0 代表不编译。当改为#if 1 时编译。这点函数是写入秘钥的,默认不编译,避免误写卡。当需要对卡片内秘钥区修改时,将394行的#if 0改为1.便会编译写秘钥区命令。在第395行-407行定义的是写入秘钥内容。同样采用条件编译。#if 1默认编译后边程序,#if 0编译#else后的程序。这是选择写入秘钥是用户秘钥还是默认秘钥,写入默认秘钥是为了恢复卡片秘钥,避免后期忘记无法再次使用。编译程序,点击按钮如图:编译通过之后下载程序到RFID模块,点击按钮如图:打开串口调试工具 AccessPortAccessPort软件参数设置方法见 第二章2.4串口软件使用说明因为使用了条件编译,现象有三种情况不写秘钥区,就是普通读取内容设置394行为#if 0 编译后下载将卡片放入识别区时,回收到读取到的数据写入秘钥A,然后读取数据将 394行设置为 #if 1将 395行设置为 #if 1 编译下载将卡片放入识别区,当检测到卡片会收到一下内容分析:当卡片第一次被读取到时,验证默认秘钥正确,写入秘钥A,读出数据,当第二次检测到卡片,验证默认秘钥会失败,然后验证User_Key_A当验证成功后会读取卡内信息,输出出来。恢复默认秘钥将 394行设置为 #if 1将 395行设置为 #if 0 编译下载将卡片放入识别区,当检测到卡片会收到一下内容分析:当卡片第一次被读取到时,验证默认秘钥会失败,然后验证User_Key_A当验证成功,写入默认秘钥,读出数据,当第二次检测到卡片,先验证默认秘钥,验证成功,后会读取卡内信息,输出出来。
-
1. 实验目的学习CC2530中寄存器控制原理编程实现点亮LED灯2. 实验环境硬件:ZigBee(CC2530)模块,UART下载调试板,CC Debugger仿真器,PC机软件:IAR Embedded Workbench for 8051实验目录:Src\ZigBee\Components\CC2530基础实验\实验01 LED灯实验3. 实验原理CC2530引脚原理CC2530是个40引脚封装芯片,其中只有21个数字I/O口(引脚)供开发者使用,这21个引脚分为三个端口组,P0、P1、P2,其中P0和P1口都是8位的,也就是说他们分别有8位引脚;P2口只有5位,即5个引脚。实际上在开发过中并没有21个引脚可以使用,因为P2端口组里有4个引脚要做为其他的用途(晶振和仿真器分别会占用P2口的两个引脚),所以P2组里面只有P2_0可以供开发使用,所以在实际的应用中能用的I\O端口只有17个。图 3.1 CC2530引脚图ZigBee(CC2530)模块 LED 硬件接口图 3.2 LED 硬件接口ZigBee(CC2530)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2530的P1_0、P1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。CC2530 IO 相关寄存器图 3.3 P1 寄存器图3.4 P1DIR 寄存器以上图表列出了关于CC2530处理器P1的IO相关寄存器,其中只用到了P1和P1DIR两个寄存器的设置,P1寄存器为可读写的数据寄存器,P1DIR为IO输入输出选择寄存器,其他 IO 寄存器的功能,使用默认配置。程序通过配置CC2530 IO寄存器的高低电平来控制LED灯的状态,用循环语句来实现程序的不间断运行。 源码分析 #include <ioCC2530.h>#define uint unsigned int#define uchar unsigned char//定义控制LED灯的端口#define LED1 P1_0 //定义LED1为P10口控制#define LED2 P1_1 //定义LED2为P11口控制//函数声明void Delay(uint); //延时函数void Initial(void); //初始化P1口/****************************//初始化程序*****************************/void Initial(void){ P1DIR |= 0x03; //P1_0、P1_1定义为输出 LED1 = 1; //LED1灯熄灭 LED2 = 1; //LED2灯熄灭}/***************************//主函数***************************/void main(void){ Initial(); //调用初始化函数 LED1 = 0; //LED1点亮 LED2 = 0; //LED2点亮 while(1) { LED2 = !LED2; //LED2闪烁 Delay(50000); }}程序通过配置CC2530 IO寄存器的高低电平来控制LED灯的状态,用循环语句来实现程序的不间断运行。4. 实验步骤1)将CC Debugger仿真器一端连在PC机上,一端连在UART调试板仿真器下载口上。2)用IAR for 8051打开实验工程,目录在:Src\ZigBee\Components\CC2530基础实验\实验01 LED灯实验,之后打开后缀名为(.eww)的工程文件。3)编译程序,菜单栏Project->Rebuild All。4)编译通过之后下载程序到ZigBee模块,点击按钮如图:5. 实验结果LED1灯每隔周期闪烁。
-
1、物联网无线技术中的蓝牙技术和WIFI技术的区别?1.工作方式不同。WiFi全名为WirelessFidelity,也叫802.11b标准。通常所说的无线宽带属于WLANWLAN,它支持多个终端设备同时传输的网络模式,即一对多模式。其传输距离为100米,速度可达11Mbps,采用DSSS(直序列扩频)和QPSK或BPSK(移相键控),上下带宽为22MHz。Bluetooth属于WPAN无线个人网际网路,也就是点对点.多点对多点.主要用于连接某些外接设备,或近距离传送资料。例如蓝牙耳机,移动电话和平板电脑传送文件。Bluetooth传输1Mbps带宽,通讯距离一般为10米(在今年4月发布最新的Bluetooth4.0传输距离可达50米),采用FHSS(跳频扩谱法),通常每秒钟跳转1600次,把83.5MHz频段分成79个频带,每一个时刻仅占用1MHz带宽,调制型为GFSK(高斯频移键控)。2.安全不一样。WIFI在一般情况下都有密码保护,也很容易用技术手段破译,所以安全性较低。并且蓝牙打破了有线电缆与各种数字设备之间的界限,具有良好的无线通信质量和高数据安全性。3.适用范围不同。WIFI最大的优势之一是传输速度快,而且不需要布线,它实际上就是将有线网络信号转化为无线信号,所有需要上网的设备,例如智能手机.平板电脑和笔记本电脑等等。WIFI更适合在室内场景,尤其是公司和家庭环境中,因为它能直接让各种电子设备通过网络连接,进行各种交互。Bluetooth可以进行无线数据和语音通讯,起到联接作用,一般各种数字产品中可集成蓝牙功能,如手机.耳机.打印机.键鼠.照相机等,应用极为广泛。因为这些数字产品在出厂时都会安装蓝牙模块,而且安全性更高,功耗更低,适合户外场景使用。4.石英晶体频率不同。石英石晶体用来产生频率来控制和管理所有通信系统,它是大部分钟表、表、微处理器的重要组成部分,也是现代电子技术的一个组成部分。在蓝牙和WIFI两种无线技术中,石英晶体发挥着重要作用。一种常用的石英晶体振频谱为12.000MHZ.16.000MHZ.24.000MHZ.26.000MHZ.32.000MHZ.32.000MHZ。WIFI技术产品中常用的石英晶体振频为20.000MHZ.40.000MHZ等。Bluetooth从4.0版起就分成了“经典蓝牙”.“低功率BLE蓝牙”和“高速蓝牙”,在这些领域中,“低功耗蓝牙”以其低功耗的特性在许多领域得到了广泛应用,特别是在智能穿戴设备.智能家庭设备.智慧医疗方面有着显著的研究开发技巧。在WiFi基础上,一种高速短距离无线传输技术WiGig迅速崛起,正是因为看到了WiGig的无限潜力,半导体巨头高通率先在手机上建立三频无线连接平台,支持4K影音串流.点到点(P2P)传输.无线扩展基座(WirelessDocking)等应用需求。移动通信技术的不断成熟,对物联网的发展起到了重要的作用,使其更容易实现“一切互联.物互联”。随著社会的不断发展,无线通信的优势日益凸显,总体表现如下:1.无线通信覆盖面广,几乎不受地理环境的限制:可随时架设,任何时候增加连接,安装.便于扩展。2.无线通信快速:可快速(在几十分钟之内)组成通讯链路,以达到临时、紧急.抗灾通信的目的。3.应用日益广泛:由先前简单的一些智能数码产品应用,已逐步转向多个行业,如工业控制.医疗.汽车电子等。此外,还有2/3G(4G.5G).802.15.4.LoRa.LTECat0/1.NB-IOT.SIGFOX.Weightless.WirelessHART.ZigBee,Zave等等。两者将共同推动物联网的发展。2、蓝牙通信的主从关系?蓝牙模块通信是指两个蓝牙模块或蓝牙设备之间进行通信,进行数据通信的双方一个是主机,一个是从机。主设备模式:工作在主设备模式,可以与一个从设备进行连接。在此模式下可以对周围设备进行搜索并选择需要连接的从设备进行连接。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个具备蓝牙通讯功能的设备, 可以在两个角色间切换,平时工作在从模式,等待其它主设备来连接,需要时,转换为主模式,向其它设备发起呼叫。一个蓝牙设备以主模式发起呼叫时,需要知道对方的蓝牙地址,配对密码等信息,配对完成后,可直接发起呼叫。从设备模式:工作在从机模式下的蓝牙模块只能被主机搜索,不能主动搜索。从设备跟主机连接以后,也可以和主机设备进行发送和接收数据。主模式与从模式的区别:主机是指能够搜索别人并主动建立连接的一方,从机则不能主动建立连接,只能等别人连接自己。3、简述蓝牙的呼叫过程?蓝牙技术原理--呼叫过程:蓝牙主端设备发起呼叫,首先是查找,找出周围处于可被查找的蓝牙设备。主端设备找到从端蓝牙设备后,与从端蓝牙设备进行配对,此时需要输入从端设备的PIN码,也有设备不需要输入PIN码。配对完成后,从端蓝牙设备会记录主端设备的信任信息,此时主端即可向从端设备发起呼叫,已配对的设备在下次呼叫时,不再需要重新配对。已配对的设备,做为从端的蓝牙耳机也可以发起建链请求,但做数据通讯的蓝牙模块一般不发起呼叫。链路建立成功后,主从两端之间即可进行双向的数据或语音通讯。
-
1. 实验目的学习CC2541基于BLE协议栈的IO控制编程学习BLE协议栈内容,掌握CC2541模块无线组网原理及过程2. 实验环境硬件:Bluetooth(CC2541)模块两个,声光报警模块,UART调试板,CCDebugger仿真器,PC机软件:IAR Embedded Workbench for 8051 BLE-CC254x-1.3.2协议栈实验目录:Src\Bluetooth\Components\CC2541无线传感网实验\实验02 声光报警实验3. 实验原理传感器原理及应用声光报警器(又叫声光警号)是一种用在危险场所,通过声音和各种光来向人们发出示警信号的一种报警信号装置。防爆声光报警器适用于安装在含有ⅡC级T6温度组别的爆炸性气体环境场所,还可使用于石油、化工等行业具有防爆要求的1区及2区防爆场所,也可以露天、室外使用。非编码型可以和国内外任何厂家的火灾报警控制器配套使用。当生产现场发生事故或火灾等紧急情况时,火灾报警控制器送来的控制信号启动声光报警电路,发出声和光报警信号,完成报警目的。有源蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。硬件原理图分析本实验使用平台配套的声光报警模块,Bluetooth模块通过IO控制传感器,传感器硬件原理如下:图3.1 传感器硬件原理图传感器与通讯模块通过两排20Pin的排针相连接,Bluetooth模块接口电路图如下:图3.2 Bluetooth接口原理图如图3.1.1所示,传感器控制IO与Bluetooth模块的P1_2引脚相连,当IO输出高电平时蜂鸣器和LED等打开,当低电平时关闭,所以本实验需控制P1_2的电平状态。4. 实验步骤1)将CC Debugger仿真器、声光报警传感器、Bluetooth通讯模块、UART调试板、仿真器转接板按照下图方式连接。4.1 从机节点4.2 主机节点2)用IAR for 8051打开实验工程,之后打开后缀名为(.eww)的工程文件。主机目录:CC2541无线传感网实验\实验02 声光报警实验\Projects\ble\SimpleBLECentral\CC2541DB从机目录:CC2541无线传感网实验\实验02 声光报警实验\Projects\ble\SimpleBLEPeripheral\CC2541DB3)编译程序,菜单栏Project->Rebuild All。4)编译通过之后下载程序到Bluetooth模块,点击按钮如图:5)查看任务管理器中UART主机模块的端口号,使用光盘提供的串口终端软件AccessPort,设置为串口波特率115200、8位、无奇偶奇校验、无硬件流模式。注意:本实验需要烧写主机和从机两套工程,工程目录如下如:5. 实验结果依次烧主从节点,主机LED1和LED2常亮,从机LED1闪烁LED2熄灭,主机上电自动搜索从机,当主从连接成功过后从机LED1常亮,LED2闪烁,主机串口发送当前传感器状态值,如下图:程序烧写完成过后,先将从节点复位使其处于广播状态,然后将主节点复位自动扫描从节点并自动连接,连接完成过后即可控制传感器。
-
1. 实验目的学习通过AT指令控制蓝牙模块主机学习在SimpleBLECentral主机程序中添加AT指令控制过程2. 实验环境硬件:Bluetooth(CC2541)模块两个,UART下载调试板,CCDebugger仿真器,PC机软件:IAR Embedded Workbench for 8051 BLE-CC254x-1.3.2协议栈实验目录:Src\Bluetooth\Components\CC2541无线通讯实验\实验04 AT指令控制实验3. 实验原理Bluetooth(CC2541)模块 LED 硬件接口图 3.1 LED 硬件接口Bluetooth(CC2541)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2541 的P1_0、P1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。4. 实验步骤1)将CC Debugger仿真器、Bluetooth通讯模块、UART调试板、仿真器转接板按照下图方式连接,两端USB线接到电脑。2)用IAR for 8051打开实验工程,目录在:Src\Bluetooth\Components\CC2541无线通讯\实验05 AT指令控制实验\Projects\ble\SimpleBLECentral_SerialControl\CC2541,之后打开后缀名为(.eww)的工程文件。3)编译程序,菜单栏Project->Rebuild All4)编译通过之后下载程序到Bluetooth模块,点击按钮如图:5)查看任务管理器中主机UART模块的端口号,使用光盘提供的串口终端软件AccessPort,设置为串口波特率115200、8位、无奇偶奇校验、无硬件流模式(见第一章2.2)。注意:本工程需要主机和从机两个工程,(SimpleBLECentral_SerialControl和SimpleBLEPeripheral),实验目录:\实验05 AT指令控制实验\Projects\ble\5. 实验结果依次烧写主机和从机,打开串口调试软件,配置串口参数连接到主机的端口:AT 串口测试,如果程序运行并且串口通畅,返回OK。AT+ROLE? 获取当前角色,返回CentralAT+SCAN 扫描从机,扫描完成后显示找到从机的数量AT+CONx 连接指定的从机,x为搜索到的从机序号,如果连接第一个输入:AT+CON1AT+WRITE0x01 向Char1写入特征值,如果要向从机char发送0x15,输入发送命令:AT+WRITE0x15AT+RSSI 获取当前RSSI值,每秒发送一次RSSI值AT+DISCON 断开当前连接实验截图如下:服务器 客户端
-
一、实验目的 此次实验为综合性实验,主要了解物联网实验设备中Bluetooth各功能模块工作原理及其使用方法;熟练使用IAR for 8051开发环境进行程序开发;由浅入深学习Bluetooth通信原理及组网、传输方式,通过此次实验对无线传感器网络的概念及工作原理相关知识进行理解与巩固。二、实验仪器及材料物联网实验平台计算机三、实验原理无线网蓝牙(Bluetooth)是一项短途无线电连接系统,它可以将不同的电子器材连系起来。原理就好像收音机一样,装有蓝牙的电子器材,可以接收外来的讯息,从而进行特定的指令。不过,蓝牙不但可以接收,也都可以“传送”,因此装有蓝牙的电子器材,能够互相沟通。 现在,大部分的电脑配件,如打印机、荧幕等,都要接驳上电线,才可以互传讯息,但蓝牙透过其短途的接收系统,便可以使这些配件在没有驳线下,仍然能够传送指令,做到真正“无线”的世界。 举例来说,一部手提电话如果没有接上电话线,便不能“上网” 接收电子邮件,但在蓝牙的帮助下,用户只要透过手提电话接收电子邮件,然后再传送到手提电脑,便可以做到“无线”上网。四、实验内容与步骤定时器实验1. 实验目的学习CC2541中定时器原理通过编程实现按键控制LED灯2. 实验环境硬件:Bluetooth(CC2541)模块,UART下载调试板,CCDebugger仿真器,PC机软件:IAR Embedded Workbench for 8051实验目录:Src\Bluetooth\Components\CC2541基础实验\实验03 定时器实验3. 实验原理Bluetooth(CC2541)模块 LED 硬件接口图 3.1 LED 硬件接口Bluetooth(CC2541)模块硬件上设计有2个LED灯,用来编程调试使用。分别连接CC2541 的 P1_0、P1_1两个IO引脚。从原理图上可以看出,2个LED灯共阳极,当P1_0、P1_1引脚为低电平时候,LED灯点亮。4. 实验步骤1)将CC Debugger仿真器、Bluetooth通讯模块、UART调试板、仿真器转接板按照下图方式连接,两端USB线接到电脑。2)用IAR for 8051打开实验工程,目录在:Src\Bluetooth\Components\CC2541基础实验\实验03 定时器实验,之后打开后缀名为(.eww)的工程文件。3)编译程序,菜单栏Project->Rebuild All4)编译通过之后下载程序到Bluetooth模块,点击按钮如图:5. 实验结果Bluetooth模块上的LED1以周期为1s的时间闪烁。
-
原理:LED的一端接入高电平,所以只要给另外一端(PC9-15)引脚输出低电平LED即可点亮1. 实验目的学习RFID模块中主控芯片基于Cortex-M3内核的STM32F103C8T6的使用实现LED灯闪烁2. 实验环境硬件:RFID开发板(125K、56M、915M、2.4G),UART串口底板,ST-LINK仿真器软件:Keil53. 实验原理125K,13.56M,915M,2.4G这四个RFID模块上均有两个LED灯(LED0蓝色和LED1红色),本实验是使红色的LED1常亮,LED0闪烁。(注:四个RFID的LED灯引脚兼容,均可使用如下例程)硬件原理图如下如上图所示,LED0与LED1引脚为低电平时LED灯点亮,引脚高电平LED灯熄灭4. 实验步骤将UART底板开关拨到Node档,将RFID模块开关拨到ON 将RFID模块插在UART调试底板上,注意针脚顺序,不可插反,不可错位。125K与13.56M的RFID模块天线需要注意方向,不可插反。正确顺序为天线板的文字印刷与模块本身文字印刷 方向一致。如图所示,天线按照以上方向向下平移插入模块即可将ST-LINK仿真器一端连在电脑,一端连在UART调试底板的JTAG接口上。将UART底板使用Micro USB线连接到电脑用Keil软件打开工程Components\第三章RFID硬件处理器实验\1_STM32_LED\MDK-ARM\STM32_LED.uvprojx打开Keil软件,Project->Open Project编译程序,点击按钮如图:编译通过之后下载程序到Cortex-M3开发板,点击按钮如图: 5. 实验结果RED灯常亮,BLUE每隔1000ms闪烁一次。 部分代码展示:#include "led.h" #include "delay.h"/*初始化led所在口的时钟以及一些输入输出的相关设置*/void Led_Init(){ GPIO_InitTypeDef GPIO_Initstructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);//使能GPIOF口的时钟 GPIO_Initstructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10;//设置输入输出引脚 GPIO_Initstructure.GPIO_Mode = GPIO_Mode_OUT;//设置为输出 GPIO_Initstructure.GPIO_PuPd = GPIO_PuPd_UP;//输出上拉 GPIO_Initstructure.GPIO_Speed =GPIO_Fast_Speed;//输出速度为高速 GPIO_Initstructure.GPIO_OType = GPIO_OType_PP;//输出模式为推挽 GPIO_Init(GPIOF,&GPIO_Initstructure);//GPIO的初始化 GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);//GPIOF9,F10设置高,灯灭 }void Led_flash(){for(int i=0;i<5;i++) { GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);//GPIOF9,F10设置高,灯灭 delay_ms(300); GPIO_ResetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);//GPIOF9,F10设置低,灯亮 delay_ms(300); } }作者:泽宇-Li
-
尝试使用获取文本、win32的获取文本,获取子控件列表集均为空
yd_250832886
发表于2023-02-28 10:54:46
2023-02-28 10:54:46
最后回复
This is WeAutomate
2023-03-07 10:32:03
82 8 -
概念: 蜂鸣器可以分为两种:有源蜂鸣器与无源蜂鸣器,这里的“源”指的是有没有自带震荡电路,有源的蜂鸣器自带有震荡电路,通电的瞬间就会发出声音;而无源的蜂鸣器,需要提供一个2~5Khz左右的方波进行驱动,才可以发出声音。1. 实验目的学习RFID模块中主控芯片基于Cortex-M3内核的STM32F103C8T6的使用利用程序实现蜂鸣器发声2. 实验环境硬件:RFID开发板(125K、56M、915M、2.4G),UART串口底板,ST-LINK仿真器软件:Keil53. 实验原理125K,13.56M,915M,2.4G这四个RFID模块上均有一个蜂鸣器。不过要注意,每个蜂鸣器连接的GPIO引脚不兼容,需要单独定义硬件原理图各个模块蜂鸣器与STM32芯片连接引脚表模块125K13.56M915M2.4G连接引脚PA5PA1PA4PA0蜂鸣器使用三极管控制,当BUZZER管脚为高电平时,蜂鸣器发声。4. 实验步骤将ST-LINK仿真器一端连在电脑,一端连在UART调试底板的JTAG接口上。用Keil软件打开工程\Components\第三章RFID硬件处理器实验\2_STM32_BEEP\MDK-ARM\STM32_BEEP.uvprojx 打开Keil软件,Project->Open Project打开h 在宏定义中设置RFID模块类型在 BEEP_PIN 后边输入以上红框内参数。图例定义为125K的模块编译程序,点击按钮如图:编译通过之后下载程序到RFID模块,点击按钮如图:5. 实验结果RED灯BLUE灯常亮蜂鸣器一直发声部分代码展示:void BEEP1_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_SetBits(GPIOE,GPIO_Pin_4);//设置GPIOA--GPIO_Pin_4为高电平}头文件:#ifndef __BEEP_H#define __BEEP_H #include "sys.h"//蜂鸣器端口定义#define BEEP PEout(4) // BEEP,蜂鸣器接口 void BEEP1_Init(void); //初始化 #endif作者:泽宇-Li
-
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(5)在开始使用IoTDB之前,大家需要首先配置配置文件,为了方便起见,已经有部分重要文件设置了默认配置。总的来说,Apache IoTDB为用户提供三种配置模块:环境配置文件(iotdb-env.bat, iotdb-env.sh),环境配置项的默认配置文件。用户可以在文件中配置JAVA-JVM的相关系统配置项系统配置文件(iotdb-engine.properties),iotdb-engine.properties:IoTDB引擎层配置项的默认配置文件。用户可以在文件中配置IoTDB引擎的相关参数,如JDBC服务监听端口(rpc_port),未排序数据存储目录(unsequence_data_dir),等等。此外,用户可以配置关于TsFile的信息,例如每次写入磁盘的数据大小(group_size_in_byte)日志配置文件(logback.xml)三个配置项的配置文件位于IoTDB安装目录中:$IOTDB_HOME/conf文件夹。热修改配置为了方便用户,IoTDB服务器为用户提供了热修改功能,即修改中的一些配置参数iotdb engine. Properties并立即将其应用到系统中。在下面描述的参数中,这些参数Effective是trigger支持热修改。触发方式:客户端发送命令load configurationIoTDB服务器。有关客户端的使用,请参见第4章。IoTDB环境配置文件环境配置文件主要用于配置IoTDB服务器运行时的Java环境相关参数,如JVM相关配置。当IoTDB服务器启动时,这部分配置被传递给JVM。用户可以通过查看iotdb-env.sh(或者iotdb-env.bat)文件。每个变量的细节如下:MAX_HEAP_SIZEHEAP_NEWSIZEJMX_LOCALJMX_PORTJMX_IP
-
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(4)编码为了提高数据存储的效率,需要在数据写入时对数据进行编码,从而减少磁盘空间的使用量。在写入和读取数据的过程中,可以减少I/O操作中涉及的数据量以提高性能。对于不同类型的数据,IoTDB支持四种编码方法:PLAIN:普通编码是默认的编码模式,即不编码,支持多种数据类型。它具有较高的压缩和解压缩效率,但空间存储效率较低。TS_2DIFF:二阶差分编码更适合对单调递增或递减的序列数据进行编码,不推荐对波动较大的序列数据进行编码。RLE:游程编码更适合存储具有连续整数值的序列,不推荐用于大多数时间具有不同值的序列数据。游程编码也可用于对浮点数进行编码,但必须指定保留的十进制数字。比较适合存储浮点值连续出现、单调递增或递减的序列数据,不适合存储小数点后精度要求高或波动较大的序列数据。GORILLA:GORILLA编码更适合值相近的浮点序列,不建议用于波动较大的序列数据。常规编码常规数据编码更适合编码常规序列递增的数据(例如,每个数据点之间经过的时间相同的时间序列),在这种情况下,它比TS_2DIFF更好。规则数据编码方式不适合有波动的数据,即不规则数据,此时建议用TS_2DIFF处理。数据类型和编码之间的对应关系前面描述的四种编码适用于不同的数据类型。如果对应关系是错误的,就不能正确地创建时间序列。下表中详细总结了数据类型及其支持的编码之间的对应关系。**数据类型及其支持的编码之间的对应关系**Data TypeSupported EncodingBOOLEANPLAIN, RLEINT32PLAIN, RLE, TS_2DIFF, REGULARINT64PLAIN, RLE, TS_2DIFF, REGULARFLOATPLAIN, RLE, TS_2DIFF, GORILLADOUBLEPLAIN, RLE, TS_2DIFF, GORILLATEXTPLAIN压缩当时间序列按照指定的类型写成二进制数据编码后,IoTDB使用压缩技术对数据进行压缩,进一步提高空间存储效率。虽然编码和压缩都是为了提高存储效率,但编码技术通常只适用于特定的数据类型。例如,二阶差分编码只适用于INT32或INT64数据类型,存储浮点数需要乘以10m才能转换为整数,之后将数据转换为二进制流。压缩方法(SNAPPY)压缩二进制流,因此压缩方法的使用不再受数据类型的限制。IoTDB允许咱们开发者在创建时间序列时指定列的压缩方法,现在主要支持以下两种压缩方法:UNCOMPRESSEDSNAPPY单节点设置大家可以通过sbin文件夹下的启动服务器脚本来启动IoTDB。# Unix/OS X> nohup sbin/start-server.sh >/dev/null 2>&1 &or> nohup sbin/start-server.sh -c -rpc_port >/dev/null 2>&1 &# Windows> sbin\start-server.bat -c -rpc_port "-c "和"-rpc_port "是可选的选项"-c "指定系统配置文件目录选项“-rpc_port”指定rpc端口如果两个选项都指定了,则rpc _端口将覆盖中的rpc_port配置路径
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签