4、qq物联SDK介绍及实例讲解
1.到QQ物联官网http://iot.open.qq.com中下载软件SDK
S3C2440_20161122_1.6.205_r4288.tar.gz
注意:
在后续大家实际开发过程中,可能你会下载到更高的SDK版本,不要紧张。
新旧SDK改动很少,基本上只需要将库文件替换一下,而软件API接口几乎不变。
当然高版本的SDK的功能更多。
2.SDK中文件说明
include/*.h 软件的数据结构的定义、API接口函数的声明
lib 库文件,库文件中定义的函数,就是通过h文件中的API接口函数来调用的
demo_*.c 示例程序
iconv(编码转换指令)
-f: 输入的编码格式
-t:输出的编码格式
-o:输出的文件名
3.查看示例程序demo_bind.c,然后讲解QQ物联设备的使用流程
1)示例程序demo_bind.c
核心代码:初始化SDK,建立了设备与QQ物联后台的连接
tx_init_device
2)设备初始化的时候,
a.设备名称:百问网有线空气检测仪
b.设备PID
c.设备序列号
d.密钥(保证数据的安全)
这些信息需要存储到设备内部,比如存储设备nand flash,sd卡等等
一般通过文件的形式来存放。
文件名:
licence.sign.file.txt ----》认证文件
GUID_file.txt ----》设备序列号
1000000004.pem ----》公钥(服务器公钥)
tx_device_info info
info.device_name = "demo1"; //设备的名字
info.device_serial_number = guid; //设备序列号
info.device_license = license; //认证文件
info.server_pub_key = svrPubkey; //公钥(服务器公钥)
info.product_id = 1000000004;//设备PID
tx_device_notify notify
tx_init_path init_path
在TXDeviceSDK.h 中:
接口说明:初始化设备SDK
tx_init_device(&info, ¬ify, &init_path);
接口说明:退出所有设备SDK相关逻辑
tx_exit_device();
公钥和私钥
http://blog.csdn.net/21aspnet/article/details/7249401
布置作业
1. 预习:名词解释、添加新设备
下一节课:
参考demo_bind.c,
使用百问网提供的license、key包来实际演示手机QQ与QQ物联设备的连接
4.使用百问网提供的license、key包来实际演示手机QQ与QQ物联设备的连接
1)修改config文件
/etc/qq_iot/demo_bind/config文件的内容如下:
1700003137
1700003137.pem
GUID_file[你的设备序列号SN].txt
licence.sign.file[你的设备序列号SN].txt
修改config文件中的设备序列号SN,如设备序列号SN为1700003137000001,则变为:
1700003137
1700003137.pem
GUID_file[1700003137000001].txt
licence.sign.file[1700003137000001].txt
在ubuntu系统:
cp libtxdevicesdk.so /work/nfs_root/qq_iot/lib/
cp SDKDemo_bind /work/nfs_root/qq_iot/demo_bind/
mount -t nfs -o nolock 192.168.1.184:/work/nfs_root /mnt
在开发板系统:
cp libtxdevicesdk.so /lib
cp SDKDemo_bind /qq_iot/
复制密钥文件到如下目录/etc/qq_iot/demo_bind/
cp key/* /etc/qq_iot/demo_bind/
[1970-01-01 00:07:08][Main:935][CSProcessor:120]: WLAN connection with tencent iot server [112.90.78.168:443] is setting up
[1970-01-01 00:07:08][Main:935][CSProcessor:641]: CBICSProcessor::OnConnect fail [112.90.78.168:443]
[1970-01-01 00:07:08][Main:935][sso.list:200]: OnConnectCallback: bSuccess = 0 IP = 112.90.78.168 Port = 443
[1970-01-01 00:07:08][Main:935][sso.list:925]: PingNextServer: index = 10 ip = 112.90.78.168 port = 8080 wait time = 8
设置网管
route add default gw 192.168.1.1
设置dns服务器
cat /etc/resolv.conf
注意:
license_key包只能用于一个用户,建议不要对外传播和发布,
如果其他用户使用后,那么你的设备序列号将可能不能被你自己所绑定使用。
4、qq物联SDK介绍及实例讲解的更多相关文章
- 5、qq物联开发步骤
1.QQ物联开发步骤 1)测试环境无需申请上线,即可任意调试.意思是什么呢,它是告诉大家,在调试的时候不要点击上面的提交上线,因为目还在调试此设备,一旦上线,QQ物联官方就会来审核你的设备,导致延长研 ...
- 国内物联网平台(3):QQ物联智能硬件开放平台
国内物联网平台(3)——QQ物联·智能硬件开放平台 马智 平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用 ...
- 国内物联网平台初探(三) ——QQ物联·智能硬件开放平台
平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用户与设备.设备与设备.设备与服务之间的联动. 实现用户与设 ...
- 2、qq物联环境搭建
1.使用easyopenjtag.openjtag来烧写uboot 2.体验uboot 插讲<网络设置_ping问题解决_远程登录ssh_文件互传ftp> 192.168.1.183 wi ...
- 多线程(五) Fork/Join框架介绍及实例讲解
什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 我们再通过For ...
- Express入门介绍vs实例讲解
下午在团队内部分享了express相关介绍,以及基于express的实例.内容提纲如下. 什么是Express 为什么要用Express 路由规则 一切皆中间件 实例:Combo Applicatio ...
- AIDL介绍和实例讲解
前言 为使应用程序之间能够彼此通信,Android提供了IPC (Inter Process Communication,进程间通信)的一种独特实现: AIDL (Android Interface ...
- 腾讯物联TencentOS tiny上云初探
2017年中旬曾写过一篇关于物联网平台的文章<微软最完善,百度最“小气” 看微软阿里百度三大物联网云平台对比>.现在已经过去两年了,物联网的格局又发生了不少的变化.不过针对腾讯来说,其物联 ...
- 实例讲解JQuery中this和$(this)区别
这篇文章主要介绍了实例讲解JQuery中this和$(this)的区别,this表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法,$(this),代表的上下文对象是一个j ...
随机推荐
- 用YourAPP开发网络状态提醒应用
如今的通信真是方便,走到哪里都有网络.Wifi的利用已经到了很普及的程度.即使走到没有wifi信号的地方,利用手机信号也能上网.(若是连手机信号都没有,那就没办法了) 智能手机的使用也大慷慨面了各个年 ...
- jquery12 queue() : 队列方法
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- Handle-postDelayed 延迟操作
今天在工作的时候,遇到了一个方法,是关于Handle来实现延时操作的,自己写了一个小demo,学习总结如下 xml <?xml version="1.0" encoding= ...
- Android 学习笔记之Bitmap位图虽触摸点移动
package xiaosi.bitmap; import android.app.Activity; import android.os.Bundle; public class mianActiv ...
- 关于HashMap
总是觉得对HashMap很熟悉,但最近连续被问到几个关于它的问题,才发现它其实并不简单.这里对关于它的一些问题做个总结,也希望能够大家一个参考. 都知道它是基于hash值,可以进行常量时间消化的存储结 ...
- CSS动态实现文本框清除按钮的隐藏与显示
当前现代浏览器中,Chrome浏览器下type=search的输入框会有清除按钮的动态呈现,不过搜索input框尺寸不太好控制(padding无视):FireFox浏览器貌似任何类型的输入框都无动于衷 ...
- tree ---树状显示
tree命令以树状图列出目录的内容. 语法 tree(选项)(参数) 选项 -a:显示所有文件和目录: -A:使用ASNI绘图字符显示树状图而非以ASCII字符组合: -C:在文件和目录清单加上色彩, ...
- coverage python 代码覆盖率工具使用(django 使用)
1. 安装包 pip install coverage 2.启动程序 coverage run -m pytest 3.获取html格式的报告文件 coverage html 4.创建配置文件 .co ...
- 如果笔记本的 WIN7 运行很卡,请尝试运行这些批处理
如果笔记本的 WIN7 运行很卡,请尝试运行这些批处理 WIN7是不是很卡?关掉下列服务吧 @echo off rem AppXSvc 为部署应用商店应用程序提供基础结构支持 rem BITS 微软的 ...
- 9.Maven之(九)依赖关系
转自:https://yq.aliyun.com/ziliao/312160 在maven的管理体系中,各个项目组成了一个复杂的关系网,但是每个项目都是平等的,是个没有贵贱高低,众生平等的世界,全球每 ...