寒假前就从x宝买了esp-12e以及esp32s,当时似乎是想给自己的蓝牙开门升级换代?esp32s拿来过度linux?

寒假放在书包拿回去以为有时间会玩玩,没想到一直耽搁到现在。前两天才拿出来,网上搜了搜完全不是那么会事,反映了自己购物的时候多有不理智

不知道为什么,官方最新版本里面直接把esp12e的文档给删除了,估计是设计有缺陷?只留下了esp12f,之后再百度文库有找到12e的文档。

说下基本配置,东西虽小。内容却不简单。

mcu是Tensiliaca L106超低功耗32位微型mcu,主频支持80M和160M,板载的晶振是40M,有10 bit ADC,UART,SPI,GPIO,IR Remote Control,PWM

内置PLL,稳压器和电源管理组建

支持标准的IEEE802.11b/g/n协议,完整的TCP/IP协议栈

支持STA/AP/STA+AP 工作模式

支持AT远程升级以及云端OTA升级

支持Smart Config功能(Android IOS)

用户剩余RAM大致36Kb,板载4M spi flash


烧录固件:

12e出场自带了最新的安信可AT固件,然后偶然间看到网上有epush这么个网站,他们自己给自己的定位是这样的:

什么是ESPUSH

ES-PUSH是一个针对 乐鑫公司 http://espressif.com/ 的8266 WIFI物理网芯片开发的推送服务平台,具备实时远程数据及指令推送,数据收集与整理归纳,云端自动推送升级等功能。

ESP8266内置低功耗32位芯片,可兼作应用处理器,同时自带众多GPIO引脚,设置引脚复用后大大方便控制外部设备电路。这使得我们的物联网设备或其他需要wifi网络功能的设备模块无需额外集成CPU即可实现大部分功能,无疑是开发者的福音。

但ESP8266使用的TCP/IP编程与通常的Socket方式不同,其网络控制结构 struct espconn 基于对lwip的浅层封装实现,使用异步回调机制,给开发带来了诸多不变,往常的大量的基于socket的网络编程库与经验得不到重复使用。故此开发了这样一个数据推送平台。以期能为开发者分忧。

ES-PUSH只希望解决一个问题,即能在任何有网络的地方随时控制处于内网中的WIFI设备,譬如在公司里控制家里的wifi机器人小车,回家的路上使用4G网络控制家里的热水器开关、空调器开关等。

有避免重复造轮子的机会为什么不用,况且那些轮子我估计我现在还造不出来23333

他们还做了一个一键烧录工具,傻瓜是操作,“比把大象放进冰箱还简单”

使用ESPUSH专用刷写工具

下载ESPUSH固件专属刷写工具,无需下载固件,只需要选择目标串口,即可一键完成刷写。 http://pan.baidu.com/s/1bpwnBiv

注意:下载模式的设置,出了下图的基本连线,还要把io0接到gnd然后上电以烧录

烧录完了,断开io0与gnd

使用XShell工具而非图示的secureCRT,则参考如下图示完成配置:

选择串口,并为其命名后,点击 Serial 继续

配置串口的波特率,留意AT固件一般使用的波特率为115200,NodeMCU使用的波特率为9600,您可以在启动源码中自行修改此值。

在「终端」的「VT」选项卡中,务必选中 「New Line Mode」选项,完毕后连接即可。

然后断电上电

开启调试控制台,默认波特率BIT_RATE_115200,按以下方式输入指令:

  1. //注解,以下以 「>」开头的为输入行,已「<」开头的为输出行,其余为注解;
  2. //AT 命令测试
  3. >AT
  4. <OK
  5.  
  6. //切换为STATION模式
  7. >AT+CWMODE=1
  8. <OK
  9.  
  10. //请配置为正确的SSID与密码,并能连入网络。
  11. >AT+CWJAP="OUR_SSID","PWD_SSID"
  12. <OK
  13.  
  14. //查询网络连接状态
  15. >AT+CIPSTA?
  16. <+CIPSTA:"192.168.0.102"
  17. <OK
  18.  
  19. //查看推送状态
  20. >AT+PUSH?
  21. <3
  22. <OK
  23.  
  24. //以下请替换为你自己添加的APPID与APPKEY,不要引号,直接输入即可, 这里请注意是APPID,非APPNAME,数字的,第一栏的APPID
  25. >AT+PUSH_DEF=APPID,APPKEY
  26. <OK
  27.  
  28. //若过较长时间仍一直返回3,则无法连接到服务器,请AT+RST后重试
  29. >AT+PUSH?
  30. <2
  31. <OK
  32.  
  33. //收到来自远端的数据。
  34. +MSG,20:HELLOFROM PUSHMSG.
  35.  
  36. //控制GPIO的指令
  37. >AT+GPIO_LOW=15
  38. <OK
  39.  
  40. >AT+GPIO_HIGH=12
  41. <OK

在平台 在线设备 https://espush.cn/web/devices/、数据推送 https://espush.cn/web/pushmsg/ 等处,均可向设备发送指令,指令将从串口传出。

AT指令说明

AT-PUSH固件新增了3个命令,以下做简要说明 - AT+PUSH,使用AT+PUSH?可查询当前连接状态,返回值定义为:

  1. CONNECTING = 0
  2. DNS_LOOKUP = 1
  3. CONNECTED = 2
  4. DISCONNECTED = 3

留意只有返回值为 2 时才代表已连接,其余都是未连接状态,如连接中,DNS查找中,已断开等。

  • AT+PUSH_DEF=APPID,APPKEY 可连入ES-PUSH系统。命令为异步式,敲入后立即返回,并将推送APP信息包括ID于KEY保存在flash中,下次启动且进入station模式后,将自动连接平台。APPID与APPKEY均不需要输入引号,直接键入即可,如` AT+PUSH_DEF=123134,25b28f0ffb9711e4a96d4341579b49a1`,且后面不得跟随多余的空格或其他可见或不可见字符。此条为无效的示例命令,照抄不会连入平台。
  • AT+PUSH_CUR=APPID,APPKEY 可连入ES-PUSH系统,与`AT+PUSH_DEF`类似,但不同的是并不会保存推送连接信息,下次启动后需要重新设置。

可随时使用AT+PUSH?查询连接状态,当处于可连接时,能使用如下命令。 - AT+PUSHMSG,数据推送,距离推送HELLO字符串到服务器可发送指令`AT+PUSHMSG=HELLO`即可。在与服务器正常连接的情况下返回OK,否则返回ERROR。

  • AT+N_AP ,使用此命令,开启AP组网模式,此时模块将发出名为ESP_AT的SSID,使用密码espush.cn登入后,网关机器即为模块地址,此时可配置目标路由器的SSID与密码
  • AT+N_SMC ,使用此命令,开启SmartConfig组网模式,此时模块将监听空中的无线广播数据,使用官网的ESPTouch APK即可连接并配置模块的联网信息,官网APK下载地址:https://github.com/EspressifApp/EsptouchForAndroid
  • AT+PUSHCLOSE,使用此命令断开与服务器的连接,断开后服务端也将无法推送数据到终端。返回OK。
  • +MSG,收到数据后,模块将向串口写入以下数据,数据已 +MSG %d: 开头,其中%d为收到的数据长度
  • AT+GPIO_LOW=N ,使用此指令控制指定GPIO口的低电平,可远程使用此命令。
  • AT+GPIO_HIGH=N,同上,使用此命令控制GPIO口的高电平,可远程使用。可控制的GPIO口参考如下:
  1. //0 ~ 5
  2. {0, FUNC_GPIO0, PERIPHS_IO_MUX_GPIO0_U},
  3. {1, FUNC_GPIO1, PERIPHS_IO_MUX_U0TXD_U}, //串口tx口,请不要使用
  4. {2, FUNC_GPIO2, PERIPHS_IO_MUX_GPIO2_U},
  5. {3, FUNC_GPIO3, PERIPHS_IO_MUX_U0RXD_U}, //串口RX口,请不要使用
  6. {4, FUNC_GPIO4, PERIPHS_IO_MUX_GPIO4_U},
  7. {5, FUNC_GPIO5, PERIPHS_IO_MUX_GPIO5_U},
  8. //9 ~ 10
  9. {9, FUNC_GPIO9, PERIPHS_IO_MUX_SD_DATA2_U},
  10. {10, FUNC_GPIO10, PERIPHS_IO_MUX_SD_DATA3_U},
  11. //12~15
  12. {12, FUNC_GPIO12, PERIPHS_IO_MUX_MTDI_U},
  13. {13, FUNC_GPIO13, PERIPHS_IO_MUX_MTCK_U},
  14. {14, FUNC_GPIO14, PERIPHS_IO_MUX_MTMS_U},
  15. {15, FUNC_GPIO15, PERIPHS_IO_MUX_MTDO_U},

使用范例及方式见下图

注意,关于GPIO控制指令,你需要知道我的测试结果: 如下口的测试是可以的:0, 2, 4,5,12,13,14,15,其中4,5 比较特殊,对于小黄版,用单独接LED测试失败,但板载的LED却OK。以下GPIO口测试失败,1,3,9,10,其中1和3 是rx与tx口,使用的话,串口会失去响应,但事实上系统仍然在继续运转,你可以从云端推送 AT+RST 使之重启。另外9和10导致模块长时间失去响应,并最终导致无法喂狗而重启,导致wdt reset,继而重启。

至此,基本环境就弄好了,已经可以再有网络的地方远程控制12e了,剩下的就交给自己的想法了!!!


REF:

    1.EPUSH DOC

    2.esp12e manual

    3.Aithinker Wiki

esp-12e折腾的更多相关文章

  1. 一、ESP8266入门(基于LUA开发)

    序 一入坑便停不下来... 还挺有意思的哈,233,,,, 资料杂,自己一个一个去找确实浪费了不少时间,而且大多还都是英文的,需要硬着头皮看. 这次实践入门,更是对英语的重要确信无疑.Github必须 ...

  2. FAT16/32不等于ESP:windows安装程序无法将windows配置为在此计算机的硬件上运行

    今天给公司电脑装系统,由于公司特殊需要,要给新电脑装win7系统.三台完全一样的华硕adol笔记本,前两台都和win10并存装成了双系统,第三台被不懂系统的人尝试装win7搞坏了,只能全盘格式化后再装 ...

  3. Quick Start NodeMCU / ESP8266 12E

    先说明一下:本来想买常见的ESP 8266作为Arduinoi的WIFI模块,结果错买成ESP 8266 12E,发现网上的资料比较少. ESP8266是WIFI芯片,它只是一块芯片必须要搭配相应的电 ...

  4. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  5. ASP.NET Core 折腾笔记一

    前言: 在ASP.NET Core 1.0时,曾折腾过一次,后因发现不了System.Data而停止. 更因VS2015提示过期Delete掉VS了,其实主要还是笔记本的硬盘空间吃紧. 快双十一了,本 ...

  6. Gulp探究折腾之路(I)

    前言: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...

  7. 两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置

    序:一年多没更新博客园的内容了,core已经发生了翻天覆地的变化,想起2014年这时候,我就开始了从当时还叫k的那套preview都不如的vnext搭建这套系统,陆陆续续它每一次升级,我也相应地折腾, ...

  8. 记录一下折腾webp 的过程

    最近有客户想要处理webp 的动图,情况当然是我们并不能处理webp 格式的图片.这事就交给了我来折腾,一开始想着用瑞士军刀ffmpeg.结果是折腾了差不多一天,前前后后编译了几十次ffmpeg 源码 ...

  9. Hexo折腾记

    如果时间可以静止,我希望就停在此刻. 前言 博主之前也有折腾wordpress和jekyll可对于一个前端er来说,wordpress让人没法尽兴,因为不知道该如何添加自己的代码.而jekyll就太麻 ...

  10. [无聊的事-连载之连开100个VS] 折腾你的骚机吧,骚年们!!!

    [无聊的事-连载之连开100个VS] 折腾你的骚机吧,骚年们!!! 只有8G内存的,用这个:打开你的CMD命令提示符如果只装了Visual Studio 2010,用这条命令,打开50个VSfor / ...

随机推荐

  1. iOS平台添加Google Admob -1/2(Unity3D开发之七)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=567 Unity调用iOS还是非 ...

  2. Install and run DB Query Analyzer 6.04 on Microsoft Windows 10

          Install and run DB Query Analyzer 6.04 on Microsoft Windows 10  DB Query Analyzer is presented ...

  3. Andoird Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线

    Andoird Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线 我们在开发中常常会注意到一些Crash,这正是很头疼的,而且Crash会带来很多意想不到的状态,很恶心 ...

  4. (六十二)纯代码搭建UI

    在Xcode6中,去掉了Empty Application的选项,因此可以通过先创建SingleView,再删除storyboard,并且把工程设置中的main Interface清空. 通过AppD ...

  5. HTML DOCTYPE 的重要性

    定义和用法 <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. <!DOCTYPE> 声明不是 HTML 标签:它是指示 we ...

  6. 极光推送iOS SDK教程

    iOS SDK 调试指南 iOS 调试思维导图 2 确认证书 请到"应用详情页面"确认证书可用性: 3 开发环境测试 在对  JPush iOS 开发环境进行测试前,请确保 3 个 ...

  7. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

  8. 内存数据网格hazelcast的一些机制原理

    hazelcast作为一个内存数据网格工具,还算比较优秀,听说有Apache顶级项目使用它,值得研究下,使用文档可以直接看官方文档,但机制原理相关的资料基本没有,本人硬撸源码写的一些东西,跟大家分享一 ...

  9. 报表软件公司高价悬赏BUG,100块1个我真是醉了

    一直在用帆软的报表软件FineReport来做项目,也一直关注着这个公司的发展. 看到<提BUG,拿奖金>的这个活动,有些疑问和思考. 一般FineReport新版本在正式发布前,都会经过 ...

  10. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...