二维码
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。 协议簇来进行通信。
API说明
下方接口用于生成二维码信息与屏幕显示
API接口 | 描述 |
---|---|
qrencode.encode() | 二维码编码,返回生成的二维码宽度和数据 |
disp.clear() | 清除屏幕显示的内容 |
disp.update() | 将数据显示在屏幕 |
disp.putqrcode() | 放置二维码 |
详细的API介绍见[disp(ui)与qrencode]API章节
disp API章节
qrencode API章节
实现流程
- 生成二维码
通过qrencode.encode() 生成二维码信息。 - 显示二维码
通过disp.putqrcode()将二维码显示在屏幕上 - 扫码
利用扫码软件扫描二维码
示例
相关实例程序在脚本库的demo\qrencode文件夹下
生成二维码
以\script_LuaTask_V2.3.8\demo\qrencode\ 为例
str = "http://doc.openluat.com/home"
local width, data = qrencode.encode(str) --width,二维码实际宽度;data,二维码数据
以上代码就可以生成doc社区的二维码,width表示生成的二维码信息的宽度,data表示生成的二维码数据
显示二维码
接下来我们用disp.putqrcode()这个接口将刚才生成的二维码数据显示在屏幕上
local WIDTH, HEIGHT = 128,160 --屏幕分辨率
local displayWidth = 100 --二维码显示宽度
local x, y =(WIDTH-displayWidth)/2, (HEIGHT-displayWidth)/2 --屏上放置二维码坐标,居中显示
disp.clear() --清除屏幕上的内容屏幕
disp.putqrcode(data,width,displayWidth,x,y)--将二维码放置在屏幕上
disp.update() --刷新屏幕,将二维码显示出来,只有调用此接口后,放置的二维码才可以显示在屏幕上面
扫码
后面就可以使用扫码软件来扫描生成的二维码,如图所示
常见问题
为什么烧录了生成二维码的demo以后运行会报错
固件不同,支持的功能也不同,有些固件不支持生成二维码,需要换用支持生成二维码的固件来使用,具体固件说明请点击下方链接进行查看
https://doc.openluat.com/wiki/21?wiki_page_id=2067
相关资料以及购买链接
相关开发板购买链接
Air724UG开发板购买链接
Air724 开发板使用说明