查看MJYUN User Guide的源代码
←
MJYUN User Guide
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
= 摩羯云 API 编程指南 = <source lang=bash> Author: Huang Rui <vowstar@gmail.com> Version: 1.0 Date: 2016-01-14 </source> <br> === 开始入门 === ==== 快速尝试 ==== 请移步:[[MJYUN QuickStart]] <br><br> ==== 调试设备 ==== 进入公众号,点击菜单 -> 添加设备 ->设备调试。此时您就可以调试微信与设备之间的通讯了 <br> === 参考模板 === <source lang=c> </source> ;;更多设备固件设计草图位于:noduino-sdk/sketch 如: * 用于 WiFi 插座的固件: noduino-sdk/sketch/open-plug * 用于彩色调光 LED 灯泡的固件: noduino-sdk/sketch/open-bulb * 用于小 K mini 的固件: noduino-sdk/sketch/plug-min * 用于 ikair 家庭环境监测的固件:noduino-sdk/sketch/ikair <br><br> === 接口概述 === ==== 1. 数据类型 ==== ===== mjyun_config_t ===== 该数据结构用于配置智能硬件连接摩羯云需要的必要参数。 <source lang=c> typedef struct { const char* product_id; // <1> const char* sub_pid; // <2> const char* online_words; // <3> const char* offline_words; // <4> } mjyun_config_t; </source> * 产品id, 可从摩羯云官网后台管理系统获得 [必填] * 产品子id(一般用于微信设备) [选填] * 设置摩羯云服务器发送给app的设备上线(online)的附加数据 [该数据缺省为设备id] [选填] * 设置摩羯云服务器发送给app的设备离线消息(offline)的附加数据 [该数据缺省为设备id] [选填] <br><br> ===== mjyun_state_t ===== 该枚举类型包含了智能硬件的若干种常用状态。 <source lang=c> typedef enum { WIFI_IDLE, /*Wi-Fi空闲,常出现在设备刚刚启动且没有连接过任何SSID时*/ WIFI_SMARTLINK_START, /*设备进入智能连接状态*/ WIFI_SMARTLINK_LINKING, /*设备正在进行智能连接*/ WIFI_SMARTLINK_FINDING, /*设备正在进行智能连接,正在查找手机所在的信道与发出的特征包*/ WIFI_SMARTLINK_TIMEOUT, /*设备智能连接超时*/ WIFI_SMARTLINK_GETTING, /*设备正在进行智能连接,已经锁定手机信道,正在解码数据包*/ WIFI_SMARTLINK_OK, /*设备智能连接成功*/ WIFI_AP_OK, /*设备在AP模式*/ WIFI_AP_ERROR, /*设备在AP模式并发生了某些错误*/ WIFI_AP_STATION_OK, /*设备在AP-STATION混合模式*/ WIFI_AP_STATION_ERROR, /*设备在AP-STATION混合模式并发生了某些错误*/ WIFI_STATION_OK, /*设备在STATION模式*/ WIFI_STATION_ERROR, /*设备在STATION模式并发生了某些错误*/ MJYUN_CONNECTING, /*正在连接摩羯云*/ MJYUN_CONNECTING_ERROR, /*连接摩羯云失败*/ MJYUN_CONNECTED, /*已连接摩羯云*/ MJYUN_DISCONNECTED, /*与摩羯云的连接断开*/ } mjyun_state_t; </source> <br><br> ==== 2. 回调类型 ==== ===== mjyun_callback ===== 硬件与摩羯云发生连接,断开,发布后调用此类型的回调函数。 <source lang=c> typedef void (*mjyun_callback)(); </source> <br><br> ===== mjyun_data_callback ===== 硬件收到来自摩羯云或者APP的数据后,调用此类型的回调函数。 <source lang=c> typedef void (*mjyun_data_callback)(const char *event_name, const char *event_data); </source> [TIP] event_name和event_data可以看作是** (key,value) **.他们有可能是字符串化的JSON对象。 <br><br> ===== mjyun_state_callback ===== 硬件的状态发生改变后,调用此类型的回调函数。 <source lang=c> typedef void (*mjyun_state_callback)(mjyun_state_t state); </source> <br><br> ==== 3. 接口函数 ==== ===== mjyun_run ===== 启动摩羯云智能硬件服务 <source lang=c> int mjyun_run(const mjyun_config_t* conf); </source> <br><br> ===== mjyun_ota_config ===== 配置摩羯云OTA升级功能 <source lang=c> int mjyun_ota_config(const mjyun_ota_config_t* conf); </source> <br><br> ===== mjyun_onconnected ===== 注册摩羯云连接成功回调函数 <source lang=c> void mjyun_onconnected(mjyun_callback connectedCb); </source> <br><br> ===== mjyun_ondisconnected ===== 注册摩羯云断开回调函数 <source lang=c> void mjyun_ondisconnected(mjyun_callback disconnectedCb); </source> <br><br> ===== mjyun_ondata ===== 注册摩羯云收到数据回调函数 <source lang=c> void mjyun_ondata(mjyun_data_callback dataCb); </source> <br><br> ===== mjyun_onpublished ===== 注册向摩羯云发布消息结束时触发的回调函数 <source lang=c> void mjyun_onpublished(mjyun_callback sendCb); </source> <br><br> ===== mjyun_publish ===== 向摩羯云(APP或微信页面)发布消息 ;;该消息不会一直保持在服务器上,如果主题(Topic)没有APP订阅,该消息会被丢弃。 <source lang=c> BOOL mjyun_publish(const char* event_name, const char* event_data); </source> <br><br> ===== mjyun_publishstatus ===== 向摩羯云(APP或微信页面)发布设备状态消息 ;;该状态消息会一直保持在服务器上,即使主题没有被任何APP订阅。一旦APP连接到服务器并订阅该主题,将会收到最新的状态消息。 <source lang=c> BOOL mjyun_publishstatus(const char* status_data); </source> <br><br> ===== mjyun_statechanged ===== 注册摩羯云智能硬件状态发生改变的回调函数 <source lang=c> void mjyun_statechanged(mjyun_state_callback stateChangedCb); </source> <br><br> ===== mjyun_state ===== 立即获得摩羯云当前的状态 <source lang=c> mjyun_state_t mjyun_state(); </source> <br><br> ===== mjyun_getdevicepasswd ===== 获得设备密码 ;;该API不常用。 <source lang=c> uint8_t* mjyun_getdevicepasswd(); </source> <br><br> ===== mjyun_getdeviceid ===== 获得设备ID <source lang=c> uint8_t* mjyun_getdeviceid(); </source> <br><br> ===== mjyun_systemrecovery ===== 系统恢复,抹掉所有摩羯云相关数据 该API一般对应物理按键。 ;;慎用该API,您有可能永久丢失设备ID和密码。 <source lang=c> void mjyun_systemrecovery(); </source> <br><br> ===== mjyun_forceentersmartlinkmode ===== 强制进入配网模式 ;;该API一般对应物理按键。 <source lang=c> void mjyun_forceentersmartlinkmode(); </source> <br><br> ===== mjyun_setssidprefix ===== 设置物理硬件作为AP时的SSID前缀 <source lang=c> void mjyun_setssidprefix(const char* sPrefix); </source> <br><br> ===== mjyun_check_update ===== 检查固件更新 ;;仅检查更新,不会强制更新固件。是否更新固件由摩羯云进行决策。 <source lang=c> void mjyun_check_update(); </source> <br><br>
返回到
MJYUN User Guide
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面