Package: pymemobird
pymemobird咕咕机开发工具包，Github源码地址：https://github.com/wolfbolin/pymemobird本工具包使用官方提供的API接口进行开发，支持常用接口的调用。采用面向对象的编程形式，减少使用者对调用过程的学习过程。理论上可在全系列的打印机上运行，采用蓝牙的打印机需要保持手机连接。更新日志请看到更新日志，开发者主页https://wolfbolin.com一、安装方式请使用pip安装该工具包$ pip install pymemobird二、使用说明1、使用前提首先你需要拥有一台咕咕机并且申请开发者KEY，开发者权限申请网址：http://open.memobird.cn1.1、数据字典单词示例含义access_key7ffa6c1fc9f340e6969c74f1d4b6aa50开发者凭证/申请的ak值user_identify2778553咕咕号/用户唯一标识符user_id840268绑定设备后的用户凭证memobird_id9d15e1b2671043ee咕咕机设备编号paper_id35331944纸条编号print_flag'success','printing','error'纸条状态http_proxy"http://127.0.0.1:12639"HTTP网络代理https_proxy"https://example.com"HTTPS网络代理1.2、代码样例# coding=utf-8importtimeimportbase64importpymemobirdpymemobird.http_proxy="http://127.0.0.1:12639"if__name__=='__main__':# 申请到的开发者编号access_key='7ffa6c1fc9f340e6969c74f1d4b6aa50'# 初始化用户user_identify='2778553'user=pymemobird.User(access_key,user_identify)print('用户初始化...%s'%user.is_init())# 验证初始化（可选）# 初始化设备memobird_id='9d15e1b2671043ee'device=pymemobird.Device(memobird_id)print('设备初始化...%s'%device.is_init())# 验证初始化（可选）# 绑定用户device.bind_user(user)print('绑定用户...%s'%device.is_bind())# 验证绑定状态（可选）# 初始化纸条paper=pymemobird.Paper(access_key)print('纸条初始化...%s'%paper.is_init())# 验证初始化（可选）# 向纸条中添加文本和图片paper.add_text('Hello,world!你好呀！')pic=open('Logo.jpg','rb')paper.add_pic(pic)pic.close()pic=open('Logo.jpg','rb')pic_data=pic.read()pic_base64=base64.b64encode(pic_data)paper.add_base64_pic(pic_base64)pic.close()# 打印纸条相关操作print('开始打印...%s'%paper.is_send())# 验证纸条是否已经发送至打印列表device.print_paper(paper)# 打印纸条print('开始打印...%s'%paper.is_send())# 验证纸条是否已经发送至打印列表whilepaper.status()=='printing':time.sleep(1)paper.sync()# 刷新纸条打印状态print('打印状态...%s'%paper.status())# 获取纸条打印状态2、用户类User该类功能较少，仅保存了用户的凭证信息2.1、声明用户类函数名__init__(self, access_key, user_identify)参数access_key：开发者访问凭证user_identify：用户身份标识2.2、初始化验证验证用户实例是否已经传入的初始化参数函数名is_init(self)参数无返回检测结果True/False3、设备类Device完成设备绑定，纸条打印等功能3.1、声明用户类函数名__init__(self, memobird_id)参数memobird_id：咕咕机设备编号3.2、初始化验证验证设备实例是否已经传入的初始化参数函数名is_init(self)参数无返回检测结果True/False3.3、用户绑定将用户标识与设备关联，获取纸条发送的凭证信息函数名bind_user(self, user)参数用户类（User）实例返回修改并返回设备实例异常操作异常OperateError：使用未完成初始化的类网络异常NetworkError：在绑定设备时发生异常3.4、绑定验证验证设备实例是否已经绑定用户函数名is_bind(self)参数无返回检测结果True/False3.5、打印纸条将纸条类中的信息发送至打印队列，并更新纸条状态。一条纸条可以发送多次。函数名print_paper(self, paper)参数纸条类（Paper）实例返回修改并返回纸条实例异常操作异常OperateError：使用未完成初始化的类网络异常NetworkError：在打印纸条时发生异常4、纸条类Paper该类可完成纸条内容的连接，并可以刷新纸条打印状态4.1、声明用户类函数名__init__(self, access_key)参数access_key：开发者访问凭证3.2、初始化验证验设备实例是否已经传入的初始化参数函数名is_init(self)参数无返回检测结果True/False3.3、纸条发送验证验证纸条打印任务是否已经发送至打印队列函数名is_send(self)参数无返回检测结果True/False3.4、添加文本在纸条最后添加文本（并不会立即打印），可以多次添加。函数名add_text(self, text)参数text：需要在纸条上打印的纯文本信息，支持中文（GBK）打印，支持转义符返回修改并返回纸条类（Paper）实例3.5、添加图片在纸条最后添加图片（并不会立即打印），可以多次添加。程序将利用官方API完成图片的预处理，不使用PIL函数名add_pic(self, file)参数file：需要在纸条上打印的图片对象（需要支持read()获取字符串的对象即可），支持JPG、PNG格式返回修改并返回纸条类（Paper）实例异常操作异常OperateError：使用未完成初始化的类网络异常NetworkError：在打印纸条时发生异常3.6、添加Base64图片在纸条最后添加Base64编码的图片（并不会立即打印），可以多次添加。程序将利用官方API完成图片的预处理，不使用PIL函数名add_base64_pic(self, file)参数file：图片经过Base64编码的字符串，支持JPG、PNG格式返回修改并返回纸条类（Paper）实例异常操作异常OperateError：使用未完成初始化的类网络异常NetworkError：在打印纸条时发生异常3.7、获取打印状态获取当前纸条的打印状态，可能的状态有success,printing,error函数名status(self, file)参数无返回返回纸条的打印状态异常操作异常OperateError：使用未完成初始化的类3.8、同步纸条状态同步此刻该纸条的打印状态函数名sync(self)参数无返回修改并返回纸条类（Paper）实例异常操作异常OperateError：使用未完成初始化的类网络异常NetworkError：在打印纸条时发生异常3.9、获取纸条全文响应值为经过编码的纸条内容。包内部调用，若有需要请查看源码。3.10、更新纸条状态包内部调用，若有需要请查看源码。三、更新日志v0.2.2新增新增代理配置，适应在复杂网络环境下的代理需求修复换用POST接口，修复GET接口在代理模式下的异常v0.2.1修复多次声明纸条对象时，旧数据未清空导致的重复打印问题。v0.2.0正式版测试问题：纸条打印顺序与添加顺序不同新增功能：add_base64_pic函数，可实现图片Base64数据直接添加。v0.1.0正式版通过测试，修复若干BUG，样例可运行v0.0.1测试版Designed by WolfBolin