ali_iot sdk使用总结

四元组(实际用三个)

product_key,用于生成url
device_name,一般为mac
device_secret
product_secret,一般用不到

flash中需要保存的信息

flash存储的信息包含
1)设备信息:四元组
2)mqtt连云的服务器信息:mqtt_url、region_id、
3)wifi信息:ssid、password。

调试过程总结

1、一键配网可以传过来region_id吗?
一键配网不传region_id,是在code中指定的。是在GOT IP时设定了region_id和mqtt_url并写入到flash中。

2、int _mqtt_connect(uint32_t timeout)
1)获取三元组。如果flash中有就不需要要动态注册,没有的话就通过动态注册获取

Link Kit SDK用户编程接口

参考:Linkkit用户手册

Alink协议相关API

IOT_Linkkit_Open		//创建新的device id
IOT_Linkkit_Connect		//device 连 aliyun
IOT_Linkkit_Yield		//接收云消息,并分发给用户callback
IOT_Linkkit_Close		//关闭云连接,并释放本地资源
IOT_Linkkit_TriggerEvent
IOT_Linkkit_Report		//上报消息到云POST
IOT_Linkkit_Query		//请求消息到云GET
IOT_RegisterCallback	//注册cb
IOT_Ioctl

Event列表详解

ITE_CONNECT_SUCC
ITE_DISCONNECTED
ITE_RAWDATA_ARRIVED
ITE_SERVICE_REQUEST
ITE_PROPERTY_SET
ITE_PROPERTY_GET
ITE_REPORT_REPLY
ITE_TRIGGER_EVENT_REPLY
ITE_TIMESTAMP_REPLY
ITE_TOPOLIST_REPLY
ITE_PERMIT_JOIN
ITE_INITIALIZE_COMPLETED
ITE_FOTA
ITE_COTA

基础API

IOT_OpenLog			//打开log
IOT_CloseLog		//关闭log
IOT_SetLogLevel		//设置log等级
IOT_DumpMemoryStats		//打印mem使用情况
IOT_SetupConnInfo		//通过设备信息获取连云参数
IOT_Ioctl

MQTT相关API

IOT_MQTT_Construct
IOT_MQTT_Destroy
IOT_MQTT_Yield
IOT_MQTT_CheckStateNormal
IOT_MQTT_Subscribe
IOT_MQTT_Subscribe_Sync
IOT_MQTT_Unsubscribe
IOT_MQTT_Publish
IOT_MQTT_Publish_Simple

CoAP上云相关API

IOT_CoAP_Init			//初始化CoAP client(轻量化UDP client)
IOT_CoAP_Deinit			//释放资源
IOT_CoAP_DeviceNameAuth		//向服务器进行设备名认证
IOT_CoAP_Yield				//处理来自服务器的消息
IOT_CoAP_SendMessage		//发送消息
IOT_CoAP_GetMessagePayload	//获取CoAP消息的payload
IOT_CoAP_GetMessageCode		//获取CoAP消息的payload_code

HTTP上云相关API

IOT_HTTP_Init
IOT_HTTP_DeInit
IOT_HTTP_DeviceNameAuth
IOT_HTTP_SendMessage
IOT_HTTP_Disconnect

OTA固件下载相关API

IOT_OTA_Init
IOT_OTA_Deinit
IOT_OTA_ReportVersion
IOT_OTA_ReportProgress
IOT_OTA_IsFetching
IOT_OTA_IsFetchFinish
IOT_OTA_FetchYield
IOT_OTA_Ioctl
IOT_OTA_GetLastError

HTTP2流式传输相关API

IOT_HTTP2_Connect
IOT_HTTP2_Stream_Open
IOT_HTTP2_Stream_Send
IOT_HTTP2_Stream_Query
IOT_HTTP2_Stream_Close
IOT_HTTP2_Stream_UploadFile
IOT_HTTP2_Disconnect

WIFI配网绑定相关API

awss_start
awss_stop
awss_config_press
awss_dev_ap_start
awss_dev_ap_stop
awss_report_cloud
awss_report_reset
iotx_event_regist_cb

基础功能相关HAL(需要自己适配)

HAL_Free
HAL_GetChipID
HAL_GetDeviceID
HAL_GetDeviceName
HAL_GetDeviceSecret
HAL_GetFirmwareVersion
HAL_GetModuleID
HAL_GetPartnerID
HAL_GetProductKey
HAL_GetProductSecret
HAL_GetTimeStr
HAL_Kv_Del
HAL_Kv_Erase_All
HAL_Kv_Get
HAL_Kv_Set
HAL_Malloc
HAL_Printf
HAL_Random
HAL_Reboot
HAL_SetDeviceName
HAL_SetDeviceSecret
HAL_SetProductKey
HAL_SetProductSecret
HAL_SleepMs
HAL_Snprintf
HAL_Srandom
HAL_Timer_Create
HAL_Timer_Delete
HAL_Timer_Start
HAL_Timer_Stop
HAL_UptimeMs
HAL_UTC_Get
HAL_UTC_Set
HAL_Vsnprintf

多线程相关HAL

HAL_MutexCreate
HAL_MutexDestroy
HAL_MutexLock
HAL_MutexUnlock
HAL_SemaphoreCreate
HAL_SemaphoreDestroy
HAL_SemaphorePost
HAL_SemaphoreWait
HAL_ThreadCreate
HAL_ThreadDelete
HAL_ThreadDetach

OTA固件升级相关HAL

HAL_Firmware_Persistence_Start
HAL_Firmware_Persistence_Stop
HAL_Firmware_Persistence_Write

HTTP2流式传输相关HAL

HAL_SSL_Destroy
HAL_SSL_Establish
HAL_SSL_Read
HAL_SSL_Write
HAL_TCP_Destroy
HAL_TCP_Establish
HAL_TCP_Read
HAL_TCP_Write
HAL_Fopen
HAL_Fread
HAL_Fwrite
HAL_Fseek
HAL_Ftell
HAL_Fclose

WiFi配网相关HAL

HAL_Aes128_Cbc_Decrypt
HAL_Aes128_Cbc_Encrypt
HAL_Aes128_Cfb_Decrypt
HAL_Aes128_Cfb_Encrypt
HAL_Aes128_Destroy
HAL_Aes128_Init
HAL_Awss_Close_Monitor
HAL_Awss_Connect_Ap
HAL_Awss_Get_Channelscan_Interval_Ms
HAL_Awss_Get_Connect_Default_Ssid_Timeout_Interval_Ms
HAL_Awss_Get_Timeout_Interval_Ms
HAL_Awss_Open_Monitor
HAL_Awss_Switch_Channel
HAL_RF433_Get_Rssi_Dbm
HAL_Sys_Net_Is_Ready
HAL_Wifi_Enable_Mgmt_Frame_Filter
HAL_Wifi_Get_Ap_Info
HAL_Wifi_Get_IP
HAL_Wifi_Get_Mac
HAL_Wifi_Low_Power
HAL_Wifi_Scan
HAL_Wifi_Send_80211_Raw_Frame
HAL_Awss_Open_Ap
HAL_Awss_Close_Ap

消息类型

typedef enum {
    ITM_MSG_POST_PROPERTY,			// post property value to cloud
    ITM_MSG_DEVICEINFO_UPDATE,		// post device info update message to cloud
    ITM_MSG_DEVICEINFO_DELETE,		// post device info delete message to cloud
    ITM_MSG_POST_RAW_DATA,			// post raw data to cloud
    ITM_MSG_LOGIN,					// only for slave device, send login request to cloud
    ITM_MSG_LOGOUT,					// only for slave device, send logout request to cloud
    ITM_MSG_BATCH_LOGIN,			// only for slave device, send login request to cloud
    ITM_MSG_BATCH_LOGOUT,			//only for slave device, send logout request to cloud
    ITM_MSG_DELETE_TOPO,			//only for slave device, send delete topo request to cloud
    ITM_MSG_CONNECT_SUBDEV,			// connect subdev use new way
    ITM_MSG_QUERY_TIMESTAMP,		//query ntp time from cloud
    ITM_MSG_QUERY_TOPOLIST,			//only for master device, query topo list
    ITM_MSG_SUBDEV_RESET,			//only for master device, request reset subdev
    ITM_MSG_QUERY_SUBDEV_ID,		//only for master device, qurey subdev device id
    ITM_MSG_QUERY_FOTA_DATA,		//only for master device, qurey firmware ota data
    ITM_MSG_QUERY_COTA_DATA,		//only for master device, qurey config ota data
    ITM_MSG_REQUEST_COTA,			//only for master device, request config ota data from cloud
    ITM_MSG_REQUEST_FOTA_IMAGE,		//only for master device, request fota image from cloud
    ITM_MSG_EVENT_NOTIFY_REPLY,		//reply event notify to cloud
#ifdef DM_UNIFIED_SERVICE_POST
    ITM_MSG_UNIFIED_SERVICE_POST,	//post data to cloud and this this unify method
#endif
    IOTX_LINKKIT_MSG_MAX
} iotx_linkkit_msg_type_t;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值