硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2476|回复: 27
收起左侧

[脱机烧录] V2.18版固件开始支持扫码枪扫码启动烧录,并写入条码数据操作说明(2022-08-28)

  [复制链接]

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2022-8-17 23:35:19 | 显示全部楼层 |阅读模式
转接板淘宝:https://item.taobao.com/item.htm ... fDV&id=681863810901

根据客户需求,增加扫码枪功能。目前市面绝大部分扫码枪都是USB接口。H7-TOOL本身不支持USB HOST功能,无法直接读取扫码枪数据。

我们设计了一个扫码枪接口板(售价30元),插到TOOL上后就可以支持扫码枪功能。结合lua小程序,可以实现各种定制化需求。

image.png

2023-09-08 上述脚本处理奇数长度的字符串会删除末尾字符,修改为如下代码,末尾补F字符。
[Lua] 纯文本查看 复制代码
--读码后执行
function after_scan(s)
  print("扫码枪:", s)
  SCANNER_DATA[1] = scan_data_conv(s)  --数据转换
  put_msg(0x00001001)  --开始烧录
end

--读码转换函数
function scan_data_conv(s)
  local outs
  local save_hex = 0  --1表示保存为hex 0表示保存为ASCII(自动补0)
  
  if (save_hex == 1) then
    if ((#s // 2) ~= 0) then
      s = s..'F'
    end

    outs = hex_to_bin(s)
  else
    outs = s..'\0' --补0
  end
  return outs
end




通过脚本功能,你可以实现:
1、扫码后可选择是否立即启动烧录
2、扫码后可控制GPIO让烧录架执行下压动作,然后再启动烧录
3、可以对扫码后的原始数据进行截取、追加、逻辑运算后再保存到flash

因为扫码操作的特殊性,该功能仅在单路烧录模式有效。
至于1拖4模式烧录就不考虑了,需要顺序扫码4次或配4个扫描枪,会手忙脚乱。

市面的扫码枪不是全部都能支持。建议客户购买我们验证过的型号:

image.png
https://detail.tmall.com/item.ht ... .0.0.7b172e8dpJconF

https://detail.tmall.com/item.ht ... conF&_u=81bc48b1dbc

已确认不支持的扫码枪: 得力 14952


评分

参与人数 1金币 +20 收起 理由
sa0123456 + 20 很给力!

查看全部评分

回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
 楼主| 发表于 2022-8-23 00:32:36 | 显示全部楼层
扫码枪功能已实现。支持一维码扫码枪和二维码扫码枪。
可将扫描数据中的非HEX字符自动过滤,转为二进制码存储。当然也支持直接存储原码。例如:
扫码枪:        {om:SO2012161339,pc:C391255,pm:THGBMNG5D1LBAIL,qty:umdefimed,mc:mull,cc:1,pdi:37553360}   --原始数据(扫一个二维码)
SCAN_CODE[1] = 20 12 16 13 39 CC 39 12 55 B5 D1 BA DE FE DC CC 1D 37 55 33 60   --写入flash的数据(过滤掉了非HEX字符)

扫码枪转接板设计上下两个USB口,随便选择一个插入扫码枪即可。

1024.jpg

IMG_20220822_182059.jpg


如果扫码没有反应,可进入串口助手界面,扫码看看结果。
设置串口波特率 115200,无校验。
扫码时,出现如下数据表示正常。 第1行时1个键按下的事件,第2行是按键释放的事件,基本上2行表示1个字符。
11.png





回复

使用道具 举报

3

主题

163

回帖

172

积分

初级会员

积分
172
发表于 2022-8-18 10:26:43 | 显示全部楼层
太给力了,之前在群里提完这个需求,还没开始研究呢,这新版本就要支持了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-8-18 13:32:22 | 显示全部楼层
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
 楼主| 发表于 2022-8-20 18:17:08 | 显示全部楼层
转接板PCB已投板,下周开始调试。

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-8-22 01:27:46 | 显示全部楼层
先用V5板子做了个方案练练手。

USB应用实战视频教程第1期:手把手轻松玩转USB Host外挂扫描枪
https://www.armbbs.cn/forum.php?mod=viewthread&tid=114892

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-8-23 03:31:00 | 显示全部楼层
armfly 发表于 2022-8-23 00:32
扫码枪功能已实现。支持一维码扫码枪和二维码扫码枪。
可将扫描数据中的非HEX字符自动过滤,转为二进制码 ...

回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-8-23 08:47:39 | 显示全部楼层
支不支持通过扫描枪扫描不同产品型号烧写对应软件功能?
回复

使用道具 举报

3

主题

163

回帖

172

积分

初级会员

积分
172
发表于 2022-8-23 10:14:00 | 显示全部楼层
速度真快,赶紧上架,马上下单了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-8-23 10:14:25 | 显示全部楼层
370024526 发表于 2022-8-23 08:47
支不支持通过扫描枪扫描不同产品型号烧写对应软件功能?

没问题,想怎么玩都可以,我们是LUA小程序实现的。

有什么需求欢迎联系我们提。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-8-23 10:15:27 | 显示全部楼层
回复

使用道具 举报

3

主题

163

回帖

172

积分

初级会员

积分
172
发表于 2022-8-23 10:24:49 | 显示全部楼层
eric2013 发表于 2022-8-23 10:15
https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-18210351016.10.507e68c7xSyfDV&id=6818638109 ...

已下单买了两个
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
 楼主| 发表于 2022-8-23 16:06:59 | 显示全部楼层
370024526 发表于 2022-8-23 08:47
支不支持通过扫描枪扫描不同产品型号烧写对应软件功能?

可支持扫不同的条码,烧录不同的程序。步骤:
1、扫码枪功能选择启用但是不写码
2、高级脚本页面,编写2个程序配置文件接口。

扫码枪脚本如下:
image.png

高级脚本如下:

image.png
如果扫码数据等于"12345678"则烧录程序1,否则烧录程序2.

[C] 纯文本查看 复制代码
--重载烧录启动函数
function start_prog(board_type, ch_num)
        local re

        if (SCANNER_DATA[1] == "12345678") then
                config_chip1()    --配置烧录参数1
                re = start_prog_0(board_type, ch_num, 1) 
        else
                config_chip2()    ---配置烧录参数2
                re = start_prog_0(board_type, ch_num, 1)
        end
        return re
end

--复制烧录第2个CPU的config_chip1函数并改名为 config_chip2()
function config_chip2() 
        --
end




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-8-24 02:30:44 | 显示全部楼层

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-8-25 09:48:24 | 显示全部楼层
客户发的一个有意思的提议

可以再连接一个小的标签打印机,做一个简单的纸面排版,批产的时候一扫码就能自动打印出对应的编码纸,直接贴在设备上了

比如这样 ;  https://segmentfault.com/a/1190000042218557(不方便的地方是需要一台电脑)
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2022-9-8 14:43:02 | 显示全部楼层
是不是可以将H7_TOOL模拟成HID 键盘,将扫码枪的数据经过处理后以打印出来,显示在某个PC应用程序的输入框中,在回车之后自动执行PC应用程序
实例  批量的时候激光打印模组的IMIE,打印到产品的外壳上
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-9-8 15:23:17 | 显示全部楼层
古月瑶 发表于 2022-9-8 14:43
是不是可以将H7_TOOL模拟成HID 键盘,将扫码枪的数据经过处理后以打印出来,显示在某个PC应用程序的输入框 ...

这个再用TOOL模拟一次HID就多此一举了,扫描枪产品本来就支持模拟键盘。

回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2022-9-15 16:26:21 | 显示全部楼层
eric2013 发表于 2022-9-8 15:23
这个再用TOOL模拟一次HID就多此一举了,扫描枪产品本来就支持模拟键盘。

我是想实现通过H7的串口发送协议,并接受协议数据,解析后,通过H7模拟HID键盘直接在电脑端输出处理在软件中,或者直接输出在exlsx中。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2022-9-15 16:28:32 | 显示全部楼层
eric2013 发表于 2022-9-8 15:23
这个再用TOOL模拟一次HID就多此一举了,扫描枪产品本来就支持模拟键盘。

重点不在扫码枪,而是通过H7直接将数据输出在exlsx中
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2022-9-15 16:34:26 | 显示全部楼层
eric2013 发表于 2022-9-8 15:23
这个再用TOOL模拟一次HID就多此一举了,扫描枪产品本来就支持模拟键盘。

比如我要将一批产品设备号,IMEI 读取出来(只能通过串口读),将其整理成exlsx表,一起注册到电信平台上。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-9-15 16:45:51 | 显示全部楼层
古月瑶 发表于 2022-9-15 16:34
比如我要将一批产品设备号,IMEI 读取出来(只能通过串口读),将其整理成exlsx表,一起注册到电信平台上。

意思是扫描后将扫描枪扫描值写到Excel文件里面,这个没问题,上位机做个Excel读写操作就行。
回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-9-15 17:56:25 | 显示全部楼层
古月瑶 发表于 2022-9-15 16:34
比如我要将一批产品设备号,IMEI 读取出来(只能通过串口读),将其整理成exlsx表,一起注册到电信平台上。

现在H7可以支持写文件。但是是TXT的。你可以导出来自己再处理一下。自己写个LUA,可以实现你得功能。很简单的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-9-10 01:20:07 | 显示全部楼层
2023-09-10

记录一个问题,扫描枪扫码后,得到数据,然后启动烧录,并将数据写入flash。 如果没扫码,按C键烧录,会提示无扫码枪数据。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2024-2-27 11:50:17 | 显示全部楼层
这个扫码下载,能不能有一个手动触发信号,两个输出信号,一个输出下载成功,一个输出下载失败
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-2-28 00:57:56 | 显示全部楼层
独角戏 发表于 2024-2-27 11:50
这个扫码下载,能不能有一个手动触发信号,两个输出信号,一个输出下载成功,一个输出下载失败

有机台接口

22.png
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2024-3-6 10:56:54 | 显示全部楼层

好的,设计的真不错
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2024-3-22 23:40:44 | 显示全部楼层
扫码枪模块看上去是swd的,支持直接烧写spi flash嘛
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-3-23 00:51:25 | 显示全部楼层
tumuyan 发表于 2024-3-22 23:40
扫码枪模块看上去是swd的,支持直接烧写spi flash嘛

也可以的,只是当前还没人提出需求,大家有这方面需求可以联系我们。这种的设计都比较简单。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 22:59 , Processed in 0.285881 second(s), 34 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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