搜索
查看: 10064|回复: 7

[原创] 基于STM32的LoRa OTA系统固件升级

[复制链接]

该用户从未签到

69

主题

1815

帖子

124

蝴蝶豆

版主

最后登录
2021-3-16
发表于 2018-8-24 16:52:24 | 显示全部楼层 |阅读模式
本帖最后由 freeelectron 于 2018-8-24 16:51 编辑

       随着阿里,腾讯,铁塔加入LoRa阵营,可见LoRa物联网的前景,已经越来越光明了

方案:目前采用LoRaWAN升级,可操作性不高,尤其是A类设备;但是采用LoRa点对点升级还是可以的。

理论计算我们知道SX1276/8FIFO最大是255字节,速率设置为SF7最快,同时将带宽设置为500K,编码率设置为4/5,且打开硬件CRC,那么传输一帧255字节的数据理论需要135.23ms,参见下图:

1.png

硬件设备:STM32+SX1278

程序设置如下:
  1. Radio.SetMaxPayloadLength( MODEM_LORA, 0xFF );
  2. Radio.SetTxConfig( MODEM_LORA, 10, 0, 2, 7, 3, 8, false, true, false,     0, false, 3000);//10dbm,SF7,500K
  3. Radio.SetRxConfig( MODEM_LORA, 2, 7, 3, 0, 8, 5, false,    0,  true, false,     0, false, true );
复制代码
考虑到无线丢包,以及电磁波影响:发送一个包,需要得到回复,才能发送下一个包,如果丢包则重传。

目标设备端:使目标设备进入bootloader程序,考虑到功耗,设备端不能一直处于bootloader程序,因此需要设置一个超时机制,两桢数据间隔超过5s,则退出bootloader,进入app。


PC端:准备一个USB转串口的LoRa板子通过上位机将APP文件分包,由串口发送到PC端的LoRa板,由PC端的LoRa板发送出去,同时,在发送完成之后处于接收状态,接收目标设备的回复,接收到回复之后,再通过串口发送到PC端,PC端接收到之后,再发送下一包。在没有收到目标设备的升级请求之前,PC端的LoRa板一直处于接收状态,在收到之后请求升级后,PC端的LoRa板将数据传给PC上位机,PC端的上位机处理后,上位机开始发送数据,其中PC端的LoRa板处于透明传输的状态,只做数据转发,不做逻辑处理

数据交互模型:

2.png

升级效率:升级50K左右的bin文件,大约需要5-6分钟,成功基本上可以达到99%



最后欢迎大家加入,stm32/LoRa物联网:304350312

回复

使用道具 举报

  • TA的每日心情
    奋斗
    2021-4-15 11:47
  • 签到天数: 537 天

    [LV.9]

    29

    主题

    2176

    帖子

    127

    蝴蝶豆

    论坛元老

    最后登录
    2023-8-27
    发表于 2018-8-25 08:15:38 | 显示全部楼层
    ST也推出了相应的评估板和开发工具了呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    69

    主题

    1815

    帖子

    124

    蝴蝶豆

    版主

    最后登录
    2021-3-16
     楼主| 发表于 2018-8-25 16:55:16 | 显示全部楼层
    stm1024 发表于 2018-8-25 08:15
    ST也推出了相应的评估板和开发工具了呢?

    ST有,但是不是CN470频段的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-2-6 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    1182

    主题

    4967

    帖子

    1

    蝴蝶豆

    论坛元老

    最后登录
    2020-3-17
    发表于 2018-8-29 09:47:11 | 显示全部楼层
    学习下,跟上楼主的节奏
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2021-3-18
    发表于 2018-9-26 21:23:16 | 显示全部楼层
    好好学习,看好LORA
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    17

    帖子

    2

    蝴蝶豆

    金牌会员

    最后登录
    2021-3-31
    发表于 2018-10-22 18:59:41 | 显示全部楼层
    最新也在研究lora升级但是刚接触Lora还不太懂,我想问的是既然Lora模式下速度慢,那能不能升级时切换到fsk模式传输数据呢?貌似fsk模式速度会快些???
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    62

    主题

    3651

    帖子

    100

    蝴蝶豆

    论坛元老

    最后登录
    2021-4-30
    发表于 2018-12-5 15:23:35 | 显示全部楼层

    可以选个LORA+MCU的芯片
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    69

    主题

    1815

    帖子

    124

    蝴蝶豆

    版主

    最后登录
    2021-3-16
     楼主| 发表于 2018-12-5 16:24:08 | 显示全部楼层
    mmuuss586 发表于 2018-12-5 15:23
    可以选个LORA+MCU的芯片

    目前已经有这种芯片了,像阿里的asr6501,台湾也有类似的,说白了就是sip封装
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-20 13:12 , Processed in 0.190110 second(s), 44 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表