ESP8266学习笔记(五)

上次讲了基础的网络开发,已经可以满足基本的调试需求了,但是当我们真正做项目时,我们是不可能把自己的电脑作为一个实时通讯的服务器的,换句话说,我们需要一个远程的云服务器为我们通讯作平台。下面就来讲这一部分内容。

云服务器的概念

云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。它像是一个人的大脑,相当于普通电脑的CPU,里面的资源都是有限的。它可以运行liunx等操作系统,满足你通讯所需的要求,你的各种东西都可以自己定义,但是购买一个完整的云服务器的价格还是比较昂贵的(土豪忽略)。所以对于我们这种只需要云服务器的一小部分功能的开发者,免费云平台就是我们的更佳选择。

云平台的概念和选择

现在由于物联网的发展,各大公司为了鼓励开发者的开发,推出了各种免费的云服务,比较常见的云平台有YeeLink,Gizwits(机智云),OneNet(中国移动物联网开放平台),Hekr(氦氪云)等。这些平台不会提供完整的云服务器供你开发,但是它们会给你提供有限的通讯和存储数据的功能,你可以使用它的API进行快速开发,或者可以用html方式进行数据存取操作。
由于网上的数据实在太杂太乱,笔者作为一个小白,对于很多个云平台的sdk都进行了尝试,例如Gizwits,OneNet等。这些平台大都有兼容ESP8266的SDK,而且这些SDK都大同小异,无非就是将一个将底层通讯协议包装好的demo修改一下device name和token等参数,然后下载进ESP8266中就可以实现基本通讯功能了。当然这期间发生过各种心酸的事,针对一些调试时出现的bug,我还和几个云平台的工程师进行了讨论,然而有一些问题至今无果。经过前前后后花了1个多星期的时间,我最终找到了一种很少人采用但是我觉得很好的办法。我最终选择的平台是Hekr(氦氪云)。

利用Hekr的开发

  • 用户注册

由于我前面的教程中使用的都是官方的SDK,所以我也干脆不采用Hekr的SDK,直接使用它非常底层的原始云端接口,不依于SDK,就能使用氦氪云服务。
首先,我们需要访问http://app.hekr.me/demo/API/demo.html
成功访问后会出现如下界面

image.png

此时,我们点击C1-1 LOGIN,跳出这个界面
image.png

你可以选择你喜欢的方式进行登陆,然后依次点击C1 CSRF->C1-2 GET Accesskey,你可以在右边的紫色区域里提取下列元素
image.png

其中User Token是app端登录时需要用到的Token,而Device Token是ESP8266登录时需要用到的Token,每个账号都不一样,需要把它记录保存下来,方便以后调用。

  • 设备登录

氦氪云的tcp服务地址为 device.hekr.me:9999
(我将device.hekr.me进行解析后的IP地址为:123.59.77.157,大家可以直接使用)
设备登录的API为
(login <tid> <channel> <accessKey> <type>)\n
参数说明
tid : 终端Id,字符串(注意这里当type是USER的时候,tid是对应app的终端tid,apptid绝对不能与设备tid一样)
channel :通信频道,字符串,可选["code"]
accessKey :授权Key,字符串,为此前在紫色区域提取的Token
type :终端类型,字符串,可选["DEVICE", "USER"],分别对应设备终端、用户终端
API调用示例
(login "ESP8266" "code" "xxx" "DEVICE")\n
(login "app" "code" "xxx" "USER")\n

  • 服务端对设备端透传

API格式
(@devcall <tid> (uartdata <ud>) <callback>)\n
参数说明
tid :被操作设备终端Id,字符串,API使用说明中指定了该值的设定范围
ud :透传数据
callback :回调代码,SEXP,这个参数不为#nil时,表示希望被控制设备终端能在code执行完毕时,将code执行结果作为callback的参数,再次调用APIucastMsg发送到云端,这个过程是强制的;当这个参数为#nil时,则没有上面过程
API调用示例
(@devcall "ESP8266" (uartdata "123") (lambda x x))\n

  • 设备对服务器透传

API格式
(ucastMsg <tid> <msg>)\n
参数说明
tid :终端Id,字符串,API使用说明中指定了该值的设定范围
msg :消息,字符串/数值/SEXP
API调用示例
(ucastMsg "app" 20150904)\n
(ucastMsg "app" "hello world")\n
(ucastMsg "app" ((lambda x x) 100))\n

  • 注意事项

这里的设备tid是可以根据自己的喜好命名的,而且一个设备token能对应多个设备tid,但是在进行数据透传时,要记好透传双方所对应的tid,以免出现数据传输对象出错的情况。

总结

今天讲了关于云平台的介绍和选择的内容,并提供给大家一种我认为很简单又实用的平台通讯方法,希望对大家有所帮助。
关于ESP8266开发的后续事宜,我将在下次继续为大家介绍。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 导语: 如果你已经加入了iOS攻城狮队伍,那么我们由衷地祝贺您正式成为一名终身学习的程序猿;有人觉得这句话...
    超人猿阅读 2,204评论 3 19
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 01 收到孟可凡送的香水,易小欣还是有一点意外。 打开包装,一个粉红色的瓶子探出头来,很精致,看得出来,他是费了心...
    左生生阅读 388评论 7 4
  • 2017.11.7晚上 西街夜晚川流不息,不似是淡季灯火阑珊! 万圣节刚刚过没两天,灯笼都没有撤,反而给人一种喜感...
    18岁的小曲儿阅读 296评论 0 0
  • 前言 项目一般会有多个 module ,这样就容易引起重复引用第三方或者版本不一致,所以需要一个统一的管理。 谷歌...
    一缕阳忆往昔阅读 282评论 0 1