文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(八)存储模块的封装(二)

接着上一篇的继续,使用go实现一个适用于嵌入式上的存储模块。简单易用,使用简单方便。由于在终端上,不需要执行复杂的sql查询,多表级联查询等。就是用来存储记录的,因此设计为存储到表里的都为二进制的字节流。还有一个原因是终端上记录字段变动频繁,不适合动不动就更改数据库的表结构吧。如果想要方便记录的解析,可以结合protobuf把数据序列化为字节流存储进去。以下为按照这个思路的实现的存储方案:首先记....

嵌入式linux之go语言开发(八)存储模块的封装(二)
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(八)存储模块的封装(一)

在嵌入式终端设备上,免不了要存储记录、上传记录、查看记录等操作。我称之为储存模块。怎样的操作接口,最好用?最方便?首先想到的是使用嵌入式数据库sqllite,没错,选他作为存储媒介,用go调用也是很方便的。但是,这还远远不够。原生的sql操作,若不做个封装,将会是很难用。另外,已经有很多ORM框架,即对象关系映射,将面向对象语言程序中的对象自动持久化到关系数据库中,就满足要求了吗?这也还不够。我....

文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(七)protobuf的使用

之前写过一篇博文:《如果终端采用protobuf与采集前置通信,能带来哪些变革?https://blog.csdn.net/yyz_1987/article/details/81147454》,介绍了使用protobuf作为序列化通信格式的诸多好处。那么接下来在嵌入式linux之go语言开发实战中,也尝试用protobuf作为序列化和通信的协议格式。之前想做个protobuf序列化的反向解析工具....

嵌入式linux之go语言开发(七)protobuf的使用
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(六)几行代码实现终端的远程日志诊断

日志是应用的镜子,可以发现应用中的问题,重要性不言而喻。以往设备有问题了,是如何诊断的?我们是现场人员到现场,又是配合抓包,又是配合提供机器日志,效率极其低下。如今都物联网时代了,能让数据跑路的还让人去跑路,不合适吧。日志应能实现手工触发上送,或应用中出现严重问题时主动上送,或者远程控制其是否上送。试想,如果能让问题出现在被客户发现之前,提前被开发人员获知,主动的解决问题,那么无疑提高了产品的竞....

文章 2023-06-20 来自:开发者社区

嵌入式linux之go语言开发(五)阶段性小结

经一段时间的实战,使用go开发嵌入式linux完全没问题。使用高级语言开发嵌入式,是一种享受!( 注:是嵌入式linux,而非内存和空间都很吃紧的嵌入式其他系统。)速度,稳定性及开发效率都是最高的。运行速度和稳定性不亚于传统c语言写的应用,但是开发效率绝对高出几个量级。举个例子,假如你的c应用里需要调用https的后台接口,协议格式是 xml 或者 json ,你会怎么做?用 c 可能一周,用 ....

文章 2023-06-20 来自:开发者社区

嵌入式linux之go语言开发(三)卡库的封装

卡库的封装和调用,这是一个重头戏,完成了它,则就完整了所有的封装。至于网络通信,记录存储等,则可以使用go本身的模块去做。后续做一版完整的go语言版B503应用。截至目前,非接触式卡库的封装接近尾声,这部分花了不少精力。package drivers /* #cgo CFLAGS: -Iinclude #cgo LDFLAGS: -Llib -lpicc #include <stdlib.....

文章 2023-06-20 来自:开发者社区

嵌入式 linux 应用 go 语言开发(开篇,缘起)

go语言被称作互联网时代的c语言,用来开发嵌入式linux是一种享受。希望能否带来开发工作效率的提升,产品质量稳定性方面的提升,产品功能上的增强。物联网时代,就是要有所“变革”。而我理解的“变革”一词,有两层含义,“改变”和“革命”。一是要有所改变,不能守旧。守旧就是退步,就会逐渐跟不让步伐。二是要敢于改变,敢于坚持,敢于尝试新事物,排除非议,即敢于“革命”。选用go语言开发嵌入式linux的理....

文章 2023-06-20 来自:开发者社区

嵌入式linux之go语言开发(二)c动态库驱动调用

c的代码及动态库调用:最终需要完成的封装有:串口驱动,扫码模块,语音播放库,UI显示库,卡库...一、串口及扫码模块驱动:linux上的串口驱动,这个较简单,有标准的模块可用。操作的是标准的设备文件。如:ttys0等。在B503机器上,串口和二维码扫码模块。都用到了标准的linux串口。只不过二维码模块的供电需要先开启IO口这个已经验证,串口和二维码的串口都是ok了。可以使用。func exec....

嵌入式linux之go语言开发(二)c动态库驱动调用
文章 2023-06-20 来自:开发者社区

嵌入式linux之go语言开发(四)go语言8583协议报文解析

原来的pos用c语言开发的,与银联后台通信走的是8583协议。那么用go来做,得实现个go语言8583协议报文解析且若想在电脑上跑交易,做个工具。用c语音处理起来不方便。用go还可以在电脑上跑交易。于是用go语言做一个8583解析,方便使用 https://github.com/yangyongzhen/go8583/package up8583 import ( "errors" "f...

文章 2023-05-21 来自:开发者社区

GO语言开发GUI安全工具实践(二)

对于GUI工具的理解:首先要有一个模板对比命令行下的工具,图形化的工具要有事件响应(比如邮件列出菜单)import tkinter as tk from tkinter.filedialog import * import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) class App(F....

GO语言开发GUI安全工具实践(二)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注