前言
昨晚翻出去年在OneNNET物联网开放平台申请的麒麟座迷你开发板V1.4,想学习一下资源嘿嘿,和openmv联合开发一个安防监控或许会有点意思,结果没想到一直卡到今天。简述一下这半天的经历与心得。
关于硬件与软件资源
因为迷你板用的是STM32CBT6,芯片早已接触过,我想找的是程序源码和操作步骤,却发现在开放平台并没有贴出,自己逛各种论坛找到了一些资源,贴出来分享给大家一个大神的资源帖子
过程与解决措施
如果不想看探索过程可以直接通过目录跳至 正确方式
探索失败过程
- 一边下载资源一边在平台上创建项目,但是一点开开发者中心我就愣了。
不知道该怎么选,也不知道我手中的适合哪一款,只好每个点进去看看。首先,和物这个选项暂时不是我想要用的,而设备管理选项里面并没有创建设备等操作,于是我就在NB-物联网选项耗了一晚上……并且除了创建了一个产品没有任何实质性的进展。
图中两个设备使用手机的IMEI和IMSI设置的,因为我并没有从麒麟座的任何资料中找到IMEI和IMSI(只怪自己修行尚浅)
于是该睡觉了…【注意!这不是一个探索失败贴↓】
反思
- 睡觉前开始缕清思路,反思出现的疑点:
首先,为什么申请的是mini板,选项中能进入的只有NB-物联网,因为我之前知道有位修行较高的前辈是申请到了NB板的,只看名字也会觉得这个选项应该是给NB板开发的,那么顺着这个思路继续走;
疑点二:在开发过程中搜过很多教程,所有的教程中都与正在操作的不符,一直以为是新版的缘故,假如是的话,为什么通信的协议只有一种?
疑点三:为什么创建设备必须写IMEI码?我知道的只有手机等产品会有这个东西,从没听说过单片机也要有这个码?
正确方式
平台
- 第二日一早开始转变策略,先看一下下载了一晚上的源码,发现没有前一天创建产品的LWM2M协议例程,于是我从开发者中心开始重新探索:
于是↓发现了旧版
点击前往旧版终于找到了正确的打开方式
表头六种协议方式,我创建一个HTTP协议的产品后找到了这个界面
在手动添加设备之后,
我修改了一个下载的例程使其自动创建设备(想用这个程序在文末下载),其中用到的一个关键的参数就是上图的主APIkey
左侧点击设备列表,可以看到设备注册码,这两个数据都很重要,建议注意一下;接下来记录代码方面的探索过程。
代码
代码中遇到最大的问题是ESP8266连不上网
经过各种找BUG才发现原来是我一直连接的WiFi是5GHz频段的(吐血),单片机没有配置这个频段实际上是找不到这个WiFi的,于是换一个WiFi或者直接用手机热点就正常了
如果还有问题建议手动百度一下ESP8266 的AT指令,根据指令找问题;
关于代码修改部分
- onenet.c文件里:
在我上传的代码中只需要修改前三个参数(第44行)
//当正式环境注册码达到16个字符则启用自动创建功能,否则不启用
//如果要采用自动创建设备的方式,apikey必须为master-key,且正式环境注册码有效
ONETNET_INFO onenet_info = {"这里是设备ID", "这里是APIkey",
"16位的正式环境注册码",
"183.230.40.33", "80",
10, NULL,
0, 0, 0, 0, 0, 0, 0};
- net_device.c文件里
修改WiFi的名称与密码(第544行)
if(!NET_DEVICE_SendCmd("AT+CWJAP=\"名称\",\"密码\"\r\n", "GOT IP"))
自动创建设备代码(HTTP)
除了自动创建设备,还可以上传温湿度数据流等等,详情可参考代码内容,压缩包附赠修改注意详情以及WiFi配置部分
麒麟座MiniV1.x综合应用代码-HTTP.zip