tag 标签: 易智联

相关帖子
相关博文
  • 热度 11
    2023-2-16 16:10
    1794 次阅读|
    0 个评论
    1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0 通过在面包板社区上提交的申请,成功申请了STM32WLE5易智联Lora评估板。在申请成功后,开发板很快就到我的手上。 到手后拆开快递盒,里边就是两块易智联Lora评估板。并且所附带的配件也非常齐全,未出现缺少。 图一、所收到的评估板及配件 产品介绍:LM401-Pro-Kit是基于STM32WLE5CBU6的Lora评估板。 模组LM401内嵌高性能MCU芯片STM32WLE5CBU6,芯片内部集成了SX1262。 LM401-Pro-Kit评估板集成了ST-LINK下载器、LM401模组,并带有按键功能、LED指示、天线接口及预留接口等。 1)LM401模组特点: ●调制方式:默认 LoRa 扩频调制技术 ●FLASH 128K,RAM 48K ●支持频率:CN470-510MHZ ●发射功率可调,最大 22dBm ●接收灵敏度低至-141dBm ●支持休眠唤醒,功耗低至3uA ●安全机制:支持 256 位 AES 硬件加密、 PCROP 读写保护 ●采用小尺寸邮票孔封装 ●接口类型丰富:UART、SPI、I²C、GPIO、ADC ●支持用户二次开发 图二、评估板正面 图三、评估板背面 下载评估板所提供的资料包,可以看到所提供的资料十分齐全。 包括其说明文档,stm32wl为官方文档及keil的pack库,原理图_PCB和demo板原理图、PCB源文件,LM401-Pro-Kit_demo_V1.0的demo例程,可以快速的了解评估板的信息以及快速搜索所需资料。 图四、评估板所提供资料包 在程序的编译烧写前,首先需要完成芯片包的安装。打开stm32wl文件夹,安装STM32WL的芯片包,才能进行下一步的工作。 图五、芯片包所在位置 安装成功后,LM401-Pro-Kit_demo_V1.0文件夹,可以看到,里边提供了五个例程,分别是ADC定时数据采集上报,LoRaWan的终端例程,通过AT指令控制模块的入网,收发数据;以及定时上报,按键触发数据报。还有两个就是评估板的基本收发PINGPONG的例程。 图六、评估板提供的例程 打开SubGHz_Phy_PingPong文件夹,通过Keil5的方式进行打开。检查文件的芯片是否选择正确后,检测无误进行编译。 图七、例程所选择芯片 编译后0错误0警报,但出现No browse info for symbol in this context 的错误,通过检查后发现是由于文件的路径存在中文,将文件名修改后错误消失。 图八、编译时出现错误 将程序烧录进两块评估板后,LED1和LED2开始闪烁,单其中一个评估板只出现LED1闪烁而另一评估板只有LED2闪烁,即二者完全同步时,说明两个评估板建立收发关系,并建立PING-PNG的收发关系。 图九、两个评估板建立连接收发关系 打开串口调试助手,通过观察两个评估板间的信息交互可得,二者近距离的发送和接收时的传输速率极快信号强度也十分理想。 图十、两个评估板间的信息交互 接下来就是对数据传输距离的测试,通过简单的测试,在没有插入天线的情况下,如果两个评估板之间有墙体阻挡,就会断开连接,串口持续发送超时信息。 图十一、两个评估板传输受到阻挡后发送超时信息 而在插入天线后,即使隔着墙体,仍可以正常接收发送信息,且信号较好,在简单的将两个评估板距离拉远至近20m后,仍有较好的传输效果。 图十二、两个评估板连接天线后流畅传输信息 在完成以上测试后,我尝试对进行ADC的定时采样上报,将传感器所获取到的数据信息发送至另一评估板,即将MCU内部的温度,VBAT电压发送后由另一评估板接收。将一个评估板作为发送端烧录进发送程序(ADC_Sensor_csdn),将自身读取的数据发送至另一个作为接收端的评估板,作为接收端的评估板则烧录进接收程序(ADC_RX),以此来完成两个评估板间的数据采集上报。 图十三、定时采集上报的程序文件 烧录程序后,打开两个评估板,查看串口信息。由下图可看出,发送端设备的温度和电压值每10s发送一次并由接收端成功读取。 图十四、评估版正常发送接收传感器所获取信息 通过本次的测评,我觉得易智联Lora评估板的功能十分强大,在日常开发使用中也能快速上手,且官方所提供的资料十分齐全,值得入手。
  • 热度 11
    2023-1-31 09:44
    5908 次阅读|
    0 个评论
    ## 开箱 两个板载ST-LINK demo板,两根天线,两个USB线,东西齐全 这里放个demo板连接好的图 ## 例程 官方提供了几个例程,我用的是rt-thread的那个 ### 简单描述 PingPong例程烧录后,demo板就会不断地在发送“PING"和接收”PONG“两种状态来回切换 未连接时,两机黄绿led闪烁,持续发送"ping",第一个收到"ping"的变为从机并回复"pong",主机收到"pong"后回复"ping",循环往复,持续下去 - 主机:发ping 绿灯(led2)闪烁 - 从机:发pong 黄灯(led3)闪烁 主要初始化和任务创建在 `SubghzApp_Init (subghz_phy_app.c)` lora_radio_thread_entry(radio.c)` 一个状态机,不断切换收发状态 ### 双机PING-PONG运行结果 主机发PING,绿灯闪 从机回PONG,黄灯闪 ## 双内存使用 折腾过程中用发现在RT-Thread跑起PING-PONG后可分配的堆就剩几百字节了, 创建例程前剩余9KB堆左右可用 PING-PONG开始仅剩980字节 我就想着能不能利用双内存把堆改大点,最后也顺利实现,过程如下 首先MDK工程添加IRAM2,具体地址与大小参考数据手册 勾选使用MDK链接脚本,不用自定义的 修改drv_common.c 增加rt_heap数组用作堆 ```c #define RT_HEAP_SIZE 8192 ALIGN(RT_ALIGN_SIZE) static uint32_t rt_heap ; /* 32K V5/V6编译器*/ //static uint32_t rt_heap RT_SECTION(".ARM.__at_0x20008000"); /* 32K V6编译器*/ //static uint32_t rt_heap __attribute__((at(0x20008000))); /* 32K V5编译器*/ ``` 修改rt_hw_board_init下的rt_system_heap_init ```c /*rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);*/ rt_system_heap_init((void *)rt_heap, (void *)(rt_heap+RT_HEAP_SIZE)); ``` 最终结果 ## 题外话 本来是想做个温湿度采集上传云端的,从设备采集数据,主机+ESP32充当网关转发数据发送阿里云,简单模拟一下工厂分布式状态采集的情况。但最近事情实在太多,只能跑个简单的demo了,给rt-thread易智联仓库提了个 PR 稍作弥补,惭愧万分,见谅。
  • 热度 2
    2023-1-20 15:09
    1780 次阅读|
    0 个评论
    这次申请成功的是STM32WLE5易智联Lora评估板,大概在2023年1月9日收到了,速度还是比较快的。 相对来说,包装还是很精美的。里面有两块板子,这点给易智联点个赞,毕竟是进行联网开发,有的公司只发一块评测板,造成只能当做普通单片机应用测试,相当不好。 而且易智联公司提供了两条数据线和两根排针,工作做得很细心周到! 板子是这个样子的: 板子做工还是相当不错的,美中不足的是,元件面的有些丝印太小了,看起来很费劲,希望今后能够改进一下。 根据板子底层的丝印,可以看到相关的型号: 根据介绍: LM401-Pro-Kit是基于STM32WLE5CBU6的Lora评估板。 模组LM401内嵌高性能MCU芯片STM32WLE5CBU6,芯片内部集成了SX1262。 LM401-Pro-Kit评估板集成了ST-LINK下载器、LM401模组,并带有按键功能、LED指示、天线接口及预留接口等。 既然是STM的核心,那么就需要根据它来搭建相应的开发环境。很多人图方便,喜欢使用Keil等商业软件,而且大部分用的是D版,而我平时也经常做一些软件开发工作,对于使用D版软件还是很反感的。而且ST公司也提供了正规免费的开发工具,因此,决定搭建正规的开发环境来进行测评工作。 官方推荐的开发工具是STM32CubeIDE ,前往下载页面 https://www.st.com/zh/development-tools/stm32cubeide.html,根据自己的系统选择相应的软件: 目前最新的版本是1.11.0,那么就下载它来使用。下载过程不很麻烦,此处节约文字略去,如果下载不好,可以给我留言索取。 下载好后就可以直接安装,安装过程很简单,安装好以后,我使用的是Deepin系统,桌面图标是这样的: 图标简洁明了,辨识度很高。双击打开软件: 下面以点亮一个LED来说明简单的开发步骤。 根据易智联公司提供的资料,可以看到板载的资源: 我们现在来通过闪烁LED3来入门一下开发过程。同样根据资料看到: LED3连接的是PB3接口。好,现在可以根据上面的资料来进行开发了。 首先打开 STM32CubeIDE,新建一个STM32工程: 然后需要选择MCU型号,根据LM401的资料,选取相应的型号: 需要点击右下框里面的型号,才能点击“Next”。 输入工程名称。然后点击“Finish”。IDE会自动进入IOC文件界面。 我们现在是要把黄色的LED3点亮,从上面的资料看到,它连接的引脚是PB3。现在我们来设置引脚。 在MCU图片上单击引脚PB3,如果看不清楚引脚,可以通过鼠标滚轮来进行缩放。 点击“ GPIO_Output”。 然后用右键单击PB3,为它定义一个名称,现在定义为“LED3”。 保存文件,会弹出对话框: 点击“Yes”,生成代码。 然后再来修改main.c文件,增加两行代码,来实现LED的闪烁。 代码如下,方便复制: HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin); HAL_Delay(1000); 然后连接好LM401,点击Run或者Debug,一切顺利的话,就可以看到实际效果。 为了更好地演示,我特意焊接上的排针,并连接了一个红色的LED,让它与板载的黄色LED同步闪烁。请注意,黄色的LED3是中间那个LED,左下角黄色的LED是ST-LIKE的指示灯,不要搞混了。 好了,入门教程实验完成了,下面继续研究,另文发布。