Python能否实现以下功能

物联网神教 2020-08-08 11:44:38
一个Linux平台主机,内存中保存了这样一段信息



//头文件定义枚举
enum data_type
{
type_uint8 = 0x20,
type_uint16 = 0x21,
type_uint32 = 0x22,
type_string = 0x42,
}
//头文件定义结构体
strcut attr
{
UINT16 ID;
enum data_type type;
union
{
UINT8 data8;
UINT16 data16;
UINT32 data32;
UINT8 dataStr[32];
}
}attr_st;


//网关数据库中保存的信息
struct attr_st attrArray[6] =
{
{0x0000, type_uint8, .data8 = 0x12},
{0x0001, type_uint16, .data16 = 0x1234},
{0x0002, type_uint32, .data32 = 0x12345678},
{0x0003, type_string, .dataStr = "I'm a Light"},
{0x0004, type_uint16, .data16 = 0x00000011},
{0x0005, type_string, .dataStr = "A li ba ba"},
};



手机APP采用json和主机通信

手机APP上,安装一个插件,插件包含了这些重要信息

variable1 { NAME="开关状态", ID=0x0000, type=type_uint8 }
variable2 { NAME="亮度", ID=0x0001, type=type_uint16 }
variable3 { NAME="生产日期", ID=0x0002, type=type_uint32 }
variable4 { NAME="产品型号", ID=0x0003, type=type_string }
variable5 { NAME="固件版本", ID=0x0004, type_uint16 }
variable6 { NAME="生产厂商", ID=0x0005, type=type_string }
variable7 { NAME="厂商主页", ID=0x0006, type=type_string }

手机APP的交互界面上,有这几个功能
1,获取开关状态
2,获取亮度
3,获取产品型号
4,获取生产厂商
5,获取厂商主页

问题:
1, 用Python能否实现APP上插件的功能?
2,手机APP运行Python插件后,操作界面自动加载插件中描述的界面。
3,APP按照插件描述,打包与Linux主机之间的json,从Linux主机获取所需参数。
4,注意的是,Linux主机中没有“ID=0x0006”的数据,那么APP界面生成时,“获取厂商主页”一项就应该显示为灰色。如果手机连接了另一台Linux主机,主机的数据中有 {0x0006, type_string, .dataStr = "www.csdn.net"}这一项,手机界面就有“获取厂商主页”这个按钮。












...全文
158 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2020-08-14
  • 打赏
  • 举报
回复
插件是可执行的脚本,需要app包含一个执行器 你的这个需求中,实现的方式有: 1 设备发出的数据格式已知,直接在app中写就是了 大不了一天一个版本。 2 服务器的提供一个接口翻译数据 3 增加元数据描述处理,增加新设备则增加一个元数据描述记录,app根据元数据描述,解析并显示数据
物联网神教 2020-08-13
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
apple 或 Google 都不支持app中增加插件,因为这样会躲开平台的审查/测试 换一个思路,服务器生成html甚至图片,发送到app上
指包含源码的插件么?APP控制各种智能设备,比如控制灯就有灯的通断界面和亮度界面,传感器就有温度显示,湿度显示的界面。智能设备有各种各样的通信方式,但是设备端到各个中继设备再到APP,数据都是透传。APP在插件的帮助下,解析数据流中什么代表温度,什么代表湿度,什么代表亮度。中间的各个转发设备不需要做任何转义和解析操作。
tianfang 2020-08-11
  • 打赏
  • 举报
回复
apple 或 Google 都不支持app中增加插件,因为这样会躲开平台的审查/测试 换一个思路,服务器生成html甚至图片,发送到app上

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧