当前位置:   article > 正文

ESP8266 初级开发物联网--Arduino IDE+点灯科技_点灯科技物联网解决方案

点灯科技物联网解决方案

 
买来芯片背后有芯片的型号,和采用的驱动。我采用的是CH340驱动的ESP8266 NodeMcu

芯片上密密麻麻的引脚我们并不是都要用到,在能力和需求范围内先不要关心太多。

Serial是串口的意思,这里需要给大家普及一下硬串口和软串口,大家也可以去搜索《Arduino程序开发基础》。硬串口就是芯片上设定的串口,如上表中的Serial;软串口就是自己定义它为串口,如上表中我们可以定义D7 D8为软串口Serial1。(所以上表中有两个Serial1)

那么,其实esp8266只有一个一个半串口,因为其中还有一个串口只有TXD(发送端),没有RXD(接收端)

//第一步   安装Arduino开发环境

安装Arduno IDE,官网可能会比较慢,安装包已经放在我的夸克网盘里;新一点的版本功能比较好

然后是在Arduino里面需要下载esp8266开发板库和blinker 库:Arduino建议单独在D盘里新建按一个文件夹单独存放。

点击  工具 ----开发板----开发板管理器---搜索esp

由于ESP8266代码托管在github上,访问慢的话,想要下载比较新的版本是要自己找资源的。

推荐3.0的,新一点,已经打包在我的资源(pdd 搜csdn 0.89rmb下载一次)里面,解压到C:\Users\wqh110954\AppData\Local\Arduino15  根目录packges里面

或者大家访问点灯科技-点灯物联网解决方案blinker是一套专业且快捷的、跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输存储。可用于多种领域,可以帮助用户更好更快地搭建物联网项目。https://diandeng.tech/dev   资源下载里面绿色的Arduino就是blinker库

 点击下面的esp8266链接去社区下开发版资源,下完以后打开Arduino确认一下是不是已经安装好了开发板。如果一键安装安不了,那就只能自己解压了。

最后是前面说的blinker库的安装,点击  项目---包含库---添加库zip,然后把下载的zip文件选出来。-

最后,在手机上下载blinker,点击新建一个独立设备,(名字可以改)获取一个密钥,复制到电脑上。

 会出现一个情况有时候有blinker库,有时候没有;有时候有esp8266开发板,有时候没有。估计是卡了。。。。。新建一个文件就行了。

/第二步

选择好开发板esp8266 nodemcu,在如下菜单中找到需要的实例---Hello Wifi

 ///第三步

安装完如上环境后,打开例程,我们就可以来看代码了跟例程有点不一样,自己修改就行了。

  1. #include <Blinker.h>
  2. #include <SoftwareSerial.h>
  3. char auth[] = "********"; //在nlinker上得到的密钥
  4. char ssid[] = "*****8"; //一个8266打算连接的wifi,联网用
  5. char pswd[] = "8888888"; // wifi密码,也可以是个人热点
  6. // 新建组件对象
  7. BlinkerButton Button1("btn-fan"); //对应设备里面新建的组件,括号里是组件的键名 这是个按键
  8. BlinkerText Text1("txt-back"); //文本
  9. BlinkerText Number1("num-counter"); //数字
  10. int counter = 1;
  11. // 按下按键即会执行该函数
  12. void button1_callback(const String & state) //前面定义的Button1的触发事件
  13. {
  14. BLINKER_LOG("get button state: ", state);
  15. digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  16. if(state=="tap"){ //免费版的blinker按键状态只有tap press pressup on,似乎没有off
  17. counter++; //所以这里我打算通过计数来确定是打开开关还是关闭开关。
  18. Number1.print(counter);}
  19. if(counter % 2==0) {
  20. Text1.print("on");
  21. Serial1.print('a');}
  22. else
  23. {Text1.print("off"); //print函数的用法大家可以参考Arduino程序设计基础,意思也就是
  24. Serial1.print('b'); //打印
  25. } //Seral1在引脚图里面有
  26. }
  27. // 如果未绑定的组件被触发,则会执行其中内容
  28. void dataRead(const String & data)
  29. {
  30. BLINKER_LOG("Blinker readString: ", data);
  31. }
  32. void setup() //setup里面的函数在硬件通电开始后,只执行一遍,负责初始化和定义。
  33. {
  34. // 初始化串口
  35. Serial.begin(9600);
  36. BLINKER_DEBUG.stream(Serial);
  37. // 初始化有LED的IO
  38. pinMode(LED_BUILTIN, OUTPUT); // LED_bUTTON是头文件里面就定义了,是板子上靠近usb口的一个
  39. //led灯,将其设置为输出模式,也可以是输入模式。
  40. digitalWrite(LED_BUILTIN, HIGH); //设置高电平
  41. // 初始化blinker
  42. Blinker.begin(auth, ssid, pswd);
  43. Blinker.attachData(dataRead);
  44. Button1.attach(button1_callback); //类似js,需要将组件绑定到对应的触发事件当中。
  45. }
  46. void loop() { //硬件通电后,反复执行,负责硬件的常规运行
  47. Blinker.run();
  48. }

代码并不难,只是需要一点时间去理解,特别一些奇奇怪怪的函数和管脚名字,通过自己修改例程可以不断体会。

ESP8266开发 https://www.aliyundrive.com/s/cQtUbMS28Ur 提取码: r98a

阿里云盘比较快,如果要与其他板子通信,串口通信比较好

,比如这里设置了serial1。

/第四步

手机app上当然需要布置,

按照代码里面说明的组件,点击右上角进行编辑,主要是要改键名,使之能匹配上代码里面的。

最后,板子连接上电脑,选好端口,编译下载,下载完成后,打开端口监视器。

会看到一系列MQTT连接的过程,MQTT是目前很火的一个物联网协议。

 等待一会儿,你就可以看见ESP8266上的灯亮起。同时监视器上跳出当前获取的button的state

我这个调整了背景色是黑色,方便看。

tap就是触碰,大家可以调试开关成别的格式,看它是怎么样的状态。

点击开关,灯就可以亮灭了。

现在只要
wifi  一块esp8266  一个灯(也可以是别的)

我们就完成了最简单的物联网通信(wifi) 。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/699019
推荐阅读
相关标签
  

闽ICP备14008679号