微信IOT模块 用户手册

微信IOT模块 以下简称【模块】 由 广州互联智控科技有限公司 出品.

#简介

设备通过串口连接【模块】,直接向手机微信发送消息。点击微信消息进入设备控制界面,通过控制界面实现微信与设备的远程控制。

##使用前准备工作

  • 关注 微信公众号 xxx(向客服获取)

  • 进入公众号,添加设备,输入设备ID和密码

  • 串口调试助手 115200bps 连接【模块】

  • 将【模块】通过网线连接宽带路由器(有线宽带路由器 或 4G路由器)

  • 【模块】上电5V2A(可以使用5V2A手机电源适配器)

    通过设备ID和密码把用户微信与【模块】关联起来
    通过公众号接收【模块】发出的消息
    宽带路由器,必须连接互联网,具备DHCP功能,自动为【模块】分配IP

##启动信息

  • 打开串口助手,上电后,收到启动信息

    OK_BOOT ID:BOX1001 IP:130.1.1.101:5108 HW:BOX1000 SW:1023 BT:20191030081643

也可以使用网络调试助手UDP(端口5100)模式进行调试,指令和串口一样

##声明:指令都以GB2312编码,每条指令以回车(\r\n)作为结束

#操作指令介绍

指令 GET_STATUS

  • 说明:读取模块基本参数

  • 格式 GET_STATUS

  • 返回 OK_READY

  • 例子 读取模块基本参数

      发送 GET_STATUS        返回OK_READY ID:BOX1001 IP:130.1.1.101:5108 HW:BOX1000 SW:1023 BT:20191030081643 T5ID:为设备唯一ID编号,IP:设备的IP地址(可以从浏览器输入 IP地址+端口号访问设备,默认用户名box,密码box123)HW:硬件版本,SW:软件版本,BT:软件发布时间
    

##获取网络通道的连接状态

指令 GET_CBS_STATUS

  • 说明:获取网络通道(链接块)的连接状态

  • 格式 GET_STATUS

  • 返回 OK_READY

  • 例子 获取网络通道(链接块)的连接状态

      发送 GET_CBS_STATUS  返回 STATUS.NET_AUTO=WaitData          (这个连接通道,指向上级设备)STATUS.NET_MAN=WaitData          (备用)STATUS.WX_CTRL=WaitData          (默认指向 虚拟设备W位于微信服务器,用于发送控制面板UI)STATUS.WX_MSG=WaitDelay          (默认指向 虚拟设备W位于微信服务器,用于发送微信消息通知)STATUS.DB_IOT=WaitDelay          (默认指向 虚拟设备W位于云端数据库,记录数据)STATUS.BOX2001_NET_AUTO=WaitData  (这个连接通道,指向下级,设备ID为BOX2001 的NET_AUTO)STATUS.BOX2002_NET_AUTO=WaitData  (这个连接通道,指向下级,设备ID为BOX2002 的NET_AUTO)(WaitData和WaitDelay都表示连接通道正常)可以看到该设备有多少个连接通道,如果1对N通讯,会多出N个连接通道。
    
  • 【连接块】介绍

      - 连接通道,我们称为【连接块】,模块通过【连接块】与服务器通讯,与其他模块通讯。- 模块拥有【连接块】的数量和功能,由云端服务器分配。模块通过设备ID和密码,获取链接块信息。- 常用的【连接块】有:WX_MSG 用于发送微信消息;WX_CTRL用于微信的控制面板数据;DB_IOT用于保存记录NET_AUTO用于N对N通讯 连接上级模块,NET_MAN是备用通讯。- 【连接块】就像一根通讯线,首部是主,末端是从。实现1对1,1对N,N对N通讯。
    

##使用连接块通讯

指令 GETIDALL

  • 说明:以id的的形式获取所有数据,

  • 格式 GETIDALL.(连接块名称)

  • 返回 ID.(连接块名称).(id名称)

  • 例子 获取微信消息通知的格式

      发送 GETIDALL.WX_MSG返回 ID.WX_MSG.Template="DEFAULT"(微信消息模版,有ONLINE NOTIFY WARNING MESSAGE DEFAULT)ID.WX_MSG.keyword3="keyword3"ID.WX_MSG.keyword2="keyword2"ID.WX_MSG.keyword1="keyword1"ID.WX_MSG.remark="remark"ID.WX_MSG.first="first"
    

指令 GETID

  • 说明:以id的的形式获取链接块单个id的数据,

  • 格式 GETID.(连接块名称).(id名称)

  • 返回 ID.(连接块名称).(id名称)

  • 例子 获取微信消息通知的标题内容

      发送 GETID.WX_MSG.first返回 ID.WX_MSG.first="first"
    

指令 SETID

  • 格式 SETID.(连接块名称).(id)=数值

  • 说明 以id的的形式修改数值,新的数值,直接用数字表示整数,字符串需要在首尾加双引号

  • 返回 OK_WRITE_n

  • 例子 用id形势修改数据

      发送 SETID.WX_MSG.first="Hello world"返回 OK_WRITE_1
    

指令 SEND

  • 格式 SEND.(连接块名称)

  • 说明 把对应连接块数据发送出去。

  • 返回 OK_SEND_WX_MSG RXJSON.WX_MSG={…}

  • 例子 发送微信消息通知

      发送 SEND.WX_MSG返回 OK_SEND_WX_MSG看看的手机微信是否已经收到消息通知,就在刚才关注的公众号。
    

指令 JSON_DUMP

  • 格式 JSON_DUMP.(连接块名称)

  • 说明 以JSON的格式读取链接块的完整数据

  • 返回 DUMP.WX_MSG={…}

  • 例子:读取JSON_DUMP.WX_MSG的完成内容

      发送 JSON_DUMP.WX_MSG返回DUMP.WX_MSG={"Dict": {"CMD": "WX_MP_Notify", "PARA": {"id_transfer": "temp_id", "data": {"keyword3": {"color": "#6C6C6C", "id": "keyword3", "value": "keyword3"}, "keyword2": {"color": "#6C6C6C", "id": "keyword2", "value": "keyword2"}, "keyword1": {"color": "#FF0000", "id": "keyword1", "value": "keyword1"}, "remark": {"color": "#6C6C6C", "id": "remark", "value": "remark"}, "first": {"color": "#6C6C6C", "id": "first", "value": "first"}}, "id": "Template", "temp_id": "DEFAULT"}}}
    
  • 增加修改微信消息模版,需要登录微信公众号申请,并配置在用户的公众号云端服务器。

指令 JSON_LOAD

  • 格式 JSON_LOAD.(连接块名称)=json

  • 以JSON的格式写入链接块的完整数据,

  • 返回 OK_LOAD_(连接块名称)

  • 例子:写入微信通知的完整模版

      发送  JSON_LOAD.WX_MSG={"Dict": {"CMD": "WX_MP_Notify", "PARA": {"id_transfer": "temp_id", "data": {"keyword3": {"color": "#6C6C6C", "id": "keyword3", "value": "keyword3"}, "keyword2": {"color": "#6C6C6C", "id": "keyword2", "value": "keyword2"}, "keyword1": {"color": "#FF0000", "id": "keyword1", "value": "keyword1"}, "remark": {"color": "#6C6C6C", "id": "remark", "value": "remark"}, "first": {"color": "#6C6C6C", "id": "first", "value": "first"}}, "id": "Template", "temp_id": "DEFAULT"}}}(注意 json数据内 不能包含换行)返回 OK_LOAD_WX_MSG注意 写入数据格式不正确可能导致无法发出。应该先用JSON_DUMP读取再修改。
    

指令 JSON_SAVE

  • 格式 JSON_SAVE

  • 说明 将所有链接块的数据写入掉电保存,下次启动时自动载入

  • 返回 OK_JSON_SAVE

  • 例子 保存所有链接块的数据

      发送 JSON_SAVE返回 OK_JSON_SAVE
    

##使用微信公众号 进行数据交互

  • 获取控制面板的显示id

      发送 GETIDALL.WX_CTRL返回ID.WX_CTRL.label01="2019-10-15"...
    
  • 修改控制面板显示id对应的数值

      SETID.WX_CTRL.label01="Test1234"SEND.WX_CTRL
    

你现在可以点击刚才微信的消息,立即跳转到控制界面。看到数据变化

  • 点击上面的按钮,立即收到JSON格式的完整数据。

      RXJSON.WX_CTRL={"Received": 1, "FileBaseDict": {}, "StrBase": "", "State": {"Form": {"hammer": {"id": "hammer", "value": "tools"}, "remark": {"id": "remark", "value": "\u901a\u7528\u7684\u5907\u6ce8\u4fe1\u606f"}, "sex": {"id": "sex", "value": "female"}, "my": {"id": "my", "value": "ambition"}, "time": {"id": "time", "value": "2019-12-13"}}}, "Dict": {}, "ReceivedStamp": "2019-10-31 09:38:57.811207"}
    

指令 SET_CB_RETURN_FORMAT

  • 格式 SET_CB_RETURN_FORMAT.(连接块)=(数据格式)

  • 说明 设置链接块接收的数据格式,JSON 或者 ID

  • 返回 OK_CB_RETURN_FORMAT.(连接块)

  • 例子 设置WX_CTRL的接收格式为ID模式

      发送 SET_CB_RETURN_FORMAT.WX_CTRL="ID"返回 OK_CB_RETURN_FORMA.WX_CTRL再次点击按钮,收到如下id格式的数据RXID.WX_CTRL.hammer="tools"RXID.WX_CTRL.remark="通用的备注信息"RXID.WX_CTRL.sex="female"RXID.WX_CTRL.my="ambition"RXID.WX_CTRL.time="2019-12-13"
    
  • 例子 设置WX_CTRL的接收格式为JSON模式

      SET_CB_RETURN_FORMAT.WX_CTRL="JSON"
    

设置完成后 用JSON_SAVE保存设置,下次上电模式就是ID模式

##组网通讯

先以1(主)对N(从) 为例说明。需要事先联系客服对模块进行配对。

  • 主机【模块】

      发送 GET_CBS_STATUS返回STATUS.NET_AUTO=WaitDataSTATUS.NET_MAN=WaitDataSTATUS.WX_CTRL=WaitDataSTATUS.WX_MSG=WaitDelaySTATUS.DB_IOT=WaitDelaySTATUS.BOX1001_NET_AUTO=WaitDelay  (指向ID为BOX1001从机的NET_AUTO通道)STATUS.BOX1002_NET_AUTO=WaitDelay  (指向ID为BOX1002从机的NET_AUTO通道)
    
  • 从机 ID:BOX1001【模块】

      发送 GET_CBS_STATUS返回STATUS.NET_AUTO=WaitDataSTATUS.NET_MAN=WaitDataSTATUS.WX_CTRL=WaitDataSTATUS.WX_MSG=WaitDelaySTATUS.DB_IOT=WaitDelay
    
  • 主机向从机发送信息

指令 ADDID

  • 格式 ADDID.(连接块).(id名称)=(数据格式)

  • 说明 指令添加用户id和数值,如果id名称不存在,则自动新建一个

  • 返回 OK_WRITE_n

  • 例子 主向从机发送数据

      主机发送 ADDID.BOX1001_NET_AUTO.D001="Hello"SEND.BOX1001_NET_AUTO从机收到JSON格式数据RXJSON.NET_AUTO={"Received": 1, "FileBaseDict": {}, "StrBase": "", "State": {}, "Dict": {"USER_ADD_ID": [{"id": "D001", "value": "Hello"}]}, "ReceivedStamp": "2019-10-31 10:12:46.456172"}设置(SET_CB_RETURN_FORMAT.NET_AUTO="ID")设置为ID数据格式后:收到的数据RXID.NET_AUTO.D001="Hello"
    
  • 例子 从向主机发送数据

      主机发送 ADDID.NET_AUTO.M001="World"SEND.NET_AUTO从机收到JSON格式数据RXJSON.BOX1001_NET_AUTO={"Received": 1, "FileBaseDict": {}, "StrBase": "", "State": {}, "Dict": {"USER_ADD_ID": [{"id": "M001", "value": "World"}]}, "ReceivedStamp": "2019-10-31 18:20:36.191642"}设置(SET_CB_RETURN_FORMAT.BOX1001_NET_AUTO="ID")设置为ID数据格式后:收到的数据RXID.BOX1001_NET_AUTO.M001="World"
    

##在线更新固件

指令 UpdateFirmware

  • 格式 UpdateFirmware

  • 说明 立即更新固件,需等待3-5分钟,更新完成自动重启,过程请勿断电,请谨慎使用。

  • 返回 Updating…

  • 例子 在线更新固件

      发送 UpdateFirmware返回 Updating.....
    

##修改系统参数

指令 JSON_DUMP.CONFIG

  • 格式 JSON_DUMP.CONFIG

  • 说明 获取默认参数

  • 返回 DUMP.CONFIG={…}

  • 例子 获取默认参数

      发送 JSON_DUMP.CONFIG 返回 DUMP.CONFIG={"LAN": {"IP": "0.0.0.0", "PORT": 5100}, "CONFIG": {"ROBOT_ROOT_NAME": "box", "ROBOT_FLASK_PORT": 5108, "NDEV_BASE_ID": "BOX1001", "ROBOT_BASE_ID": "WX-BOX1001", "ROBOT_BASE_NAME": "WX-BOX", "NDEV_PASSWORD": "123", "ROBOT_ROOT_PASSWORD": "box1234", "IDS_SERVER_ADD": "http://ids.makinnet.com.cn:3542/ids"}, "COM_DEBUG": {"BPS": "115200", "DIR": ""}, "COM_CMD": {"BPS": "115200", "DIR": "/dev/ttyS1"}}
    

指令 JSON_LOAD.CONFIG

  • 格式 JSON_LOAD.CONFIG=参数

  • 说明 设置参数 请勿随意使用,可能导致模块无法工作

  • 返回 设置完成自动重启

  • 例子 设置参数

      发送 JSON_LOAD.CONFIG={...}  应该先读出参数,修改后复制粘贴返回 OK_BOOT
    

Change Log

v0.1 - release.

微信IOT模块 用户手册(串口向微信发送消息,串口与微信通讯)相关推荐

  1. 串口to微信IOT模块,串口直接向微信发送消息与微信通讯,开发板物联网

    微信IOT模块 简介 微信IOT模块 以下简称[模块] 由 广州互联智控科技有限公司 出品. 功能 设备通过串口/网口UDP连接[模块],直接向手机微信发送消息.点击微信消息进入设备控制界面,通过控制 ...

  2. php 向公众号发送消息,微信公众号之主动给用户发送消息功能

    前一段时间项目中遇到一个稍微麻烦一点的问题. 即客户要求,他在后台编辑好文章后要主动给每个用户都发送消息,并可以让用户点击直接进入文章页面. 于是乎,当时脑子一热,想着没什么大的问题,so easy. ...

  3. 微信公众号开发之接收与发送消息

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 在上一篇博客中已经验证了服务器有效性:https://blog.csdn.net/qq_41782425/article/deta ...

  4. php订阅号发送消息,关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题,_PHP教程...

    关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题, 相信很多人会跟我一样,token验证之后,发送消息给订阅号,没有消息返回. 以下,说一下我辛苦调试得到的解决办法 ...

  5. SCRM:SpringBoot + RabbitMQ + 企微 实现发送消息到企业微信

    使用MQ实现企业微信应用程序发送消息到指定人或部门 提前部署好RabbitMQ服务,不会的同学请看我的另一篇部署文章 引入相关依赖 代码实现 提前部署好RabbitMQ服务,不会的同学请看我的另一篇部 ...

  6. java微信消息发送消息_JAVA模拟微信消息发送请求

    JavaWeb模拟微信(网页版)发送消息到好友.PS:不是公众号,是好友之间,或者发送到群. 1.发送文字消息到好友,或群. 2.分析参数: 这里写图片描述 {\"BaseRequest\& ...

  7. RUNTIME / 微信公众号开发—主动向用户发送消息

    来源:https://gitee.com/lxycx_xc/codes/mvesy65pt4lraw3u8x7gc81 模板消息:需要先在微信公众号管理后台申请该功能模板,拿到模板ID和模板上对应的字 ...

  8. 微信、QQ自动连续多条发送消息(python)

    最近闲的无聊,看了一下pyautogui这个库,这个库的作用简单来说就是利用程序模拟键盘和鼠标进行输入,就相当于有了个模拟的自动键鼠.根据它最基础的功能我写了一段代码,可以实现在微信.QQ等社交软件( ...

  9. 微信服务号通过Excel操作数据库发送消息的开发流程

    开发流程 前置准备 配置公众号 代码开发 功能使用 前置准备 1 申请服务号,获得服务号账号/密码. 具体参见[转载:关于申请微信公众号(服务号)的材料和流程]https://blog.csdn.ne ...

最新文章

  1. 我的代码为什么看起来像shit?
  2. dotNetSpider 手记
  3. java list 排序_Java中List的排序
  4. 深度学习(十九)——FCN, SegNet, DeconvNet, DeepLab, ENet, GCN
  5. global.asax不执行原因
  6. MOD - Power Modulo Inverted(SPOJ3105) + Clever Y(POJ3243) + Hard Equation (Gym 101853G ) + EXBSGS
  7. 数字人民币这一年,互联网企业做了什么?
  8. java当前目录指什么_是什么决定了Tomcat Java进程的当前工作目录?
  9. Net作业调度(二) -CrystalQuartz远程管理
  10. 【vjudge contest 418548】2021 BUAA Winter Training 3(Private),签到题ABCDG
  11. cocos creator动画编辑器学习
  12. 如何求有序数组绝对值最小的数
  13. android之设置app背景图片
  14. 2022年葡萄糖基甜菊糖市场前景分析及研究报告
  15. Xcode 13.4.1如何显示文件拓展名
  16. ASP.NET 设计导航栏(横向竖向)
  17. 易编远航程序防封防检测方法
  18. 华尔街和散户「权力的游戏」,留下一地怎样的「鸡毛」
  19. vue-devtools\shells\chrome 错误 无法为内容脚本加载 JavaScript“build/hook.js”。 无法加载清单。
  20. C#初学者教程系列1:什么是.NET Framework?

热门文章

  1. uni-app如何让图片高度自适应
  2. 通过强化学习和官方API制作《星露谷物语》的自动钓鱼mod
  3. 第十九章、主机名控制者: DNS 服务器
  4. 小米打印机显示服务器出错,关于小米笔记本连接不上网络打印机的处理方法!莫名其妙····...
  5. Bootstrap中一些常用的类名
  6. 计算机学院运动会海报,运动会海报评比 | 第三十五届田径运动会,咱们燥起来...
  7. m4a html 播放器,HTML5 Audio m4a
  8. 正则表达式——匹配多个字符串之一
  9. 使用autoware的calibration_toolkit联合标定双目相机和激光雷达(ZED and VLP-16)
  10. S2B2C模式主要关注什么