如何利用Linux工控机实现微信扫码?
p文件中,我们对其进行修改,当客户端POST订单号到该接口后,将进行相应订单号的支付状态查询,然后返回支付状态。修改后代码如下:
以上四步完成了微信SDK的安装和修改,同时实现了支付接口以及查询接口,至此,服务器部署已完成。
五、客户端实现
客户端使用Qt框架编写,其中需要处理的几个关键点有二维码图片生成、网络通信及数据解析,下面介绍各个部分实现的重点。
1、二维码图片生成
我们使用了开源的QRencode进行二维码图片的生成,可以将QRencode的源码集成进Qt工程中调用,也可以使用编译好的QRencode可执行文件进行调用。
这里我们直接编译QRencode源码,编译依赖zlib以及libpng库,为了编译方便,源码包中提供了一个自动化编译脚本,编译过程如下:
编译完成后,可以得到qrencode二维码生成工具,其大致用法如下:
在Qt中调用该工具显示二维码的代码如下:
2、网络通信及数据解析
我们使用了Qt的QNetworkRequest模块进行网络通信,将相关功能封装成Post函数供调用,与服务器交互及数据解析的代码如下:
这里说明下硬件连接方式,首先服务器为Ubuntu主机,工控机通过网线将百兆网口与服务器直连,形成一个局域网。而本项目中服务器局域网地址为192.168.1.164,所以在源码中直接指定了服务器地址,当使用无线上网时可以修改服务器地址为远程服务器的公网IP地址(重大消息:DCP-3000L工控机自带4G无线上网功能,同时具备全网通拨号守护脚本,支持断线重拨,流量异常检测,三网自动识别。)。
客户端剩下的就是界面的逻辑处理啦,在第一小节部分我们已经看到了演示的效果,就不在详细介绍了。项目中支付完成后是显示支付完成并等待下一次支付,而在实际应用中往往是进行硬件操作,如打开继电器开关,播放音乐等等。至此,微信扫码支付已介绍完毕,源码往下拉。
六、说好的源码
源码github地址:
https://github.com/kp339/qt-wxpay.git
- 微信ios最新版本发布,功能大量增加,燃爆了!(06-07)
- 嵌入式系统在电源设计中的运用(09-20)
- 基于4G通信的嵌入式数据通信系统设计(10-10)
- 汽车安全性能亟待升级 嵌入式系统把关护航(05-07)
- USB端口找到新居,落户嵌入式系统(02-11)
- 嵌入式系统在电力变压器监测中的应用研究(09-18)