ESP8266从哪里开始或第一次体验

在本文中,我想分享一下ESP8266披肩首次落入我手时的处理方法。立即做出保留,选择铁块以及编程是我的金钱和业余时间的业余爱好。因此,请以一定的折扣对待这种材料的批评程度。

我为什么决定写这个?很简单:我花了3周时间弄清楚从哪里开始以及它如何工作。此外,我将尝试收集一小部分用于ESP8266的链接。我希望这些信息至少可以节省您一小部分时间。

图片

因此,让我们开始吧!

我在一个著名的中文网站上为自己订购了3种棋盘选项:

  1. 基于ESP-12的ESP8266 WIFI串行无线开发测试板(以下简称“黄板”)($ 3.12)
  2. ESP8266 ESP-07和用于ESP8266的转接板(以下简称ESP-07)($ 2.30)
  3. 基于ESP-12的LoLin V3 NodeMcu Lua(以下简称“ Lolin”)($ 3.12)

我选择这样一个动物园的原因:

  1. 黄板已经具有内置的LED,您可以立即闪烁;对于电源,您不能使用过高的3.3V(您需要以某种方式获得),而是使用3节AA电池或通过连接4.5V(我做到了)。
  2. LoLing受到了我的欢迎,因为它使用micro USB电缆连接,并且她不需要任何UART转换器-它立即基于中文CH340芯片内置在其中,您可以轻松地在win7x64和win10x64上找到驱动程序(在我的情况下),并且,再次由具有USB输出而不是复杂的3.3V的常规适配器供电。
  3. ESP-07 . - , , . Adapter Plate — 20 , .

首先-检查模块。

在所有启动说明中,他们写道,如果您连接电源并出现AI-THINKER xxxxxxx WiFi网络,则表明设备正在工作。我的设备发生了这种情况-他们都创建了一个WiFi网络,您可以连接到该网络。万岁!赚了!我很高兴,但是很早。

首先,我决定尝试使用黄板。产品说明中价格评分指标最高的卖方只有图片。而不是一言以蔽之。在俄语资源中,有提及这些板的信息,但我没有找到有关这些板的具体信息。在一些卖家中,我看到了以下说明:

黄板说明
1. Android phone installation IOT.APK, IOS client be released later
2. shorting cap connected to the power to enter the programming mode, enter the normal operating state removed
3. Replace the battery, mobile search network «AI-THINKER» router
4. join the router (the router module form) password is: ai-thinker
5. after the success can be added directly to the control module of the mobile phone.
6. Enter the home router «SSID» and «Password» in the «Configure Device», then click on the icon at the top of the router, wait a few moments after the jump to join the router, connect the phone router WiFi, again «discovered device» to achieve control in the LAN.

:

1. Wi-Fi ( 5.0 !) IOT.APK, IOS
2. , .
3. ( ) Wi-Fi «AI-THINKER»
4. «ai-thinker»
5. IOT . . , .

不一致之处是我的AI-THINKER xxxxxxxxxx网络未要求输入密码,但手机立即连接了密码。连接后,应用点空白没有“看到” ESP。 RGB LED在安装了跳线的情况下呈蓝色亮起,而没有安装时呈绿色。

图片

我猜想中国人可能在焊接-他们在焊接,但他们忘记了闪烁(或弯曲地闪烁)。因此,我决定自己缝制。对于固件,我使用了ESP8266 Flasher。然后又出现了第二个惊喜:没有程序识别出电路板,没有响应命令,固件没有泛滥。通过Arduino和UART转换器连接-没什么。其他两块板已经被重新闪烁并通过LED闪烁,但是这里有些沉闷。直到我猜想打个电话。

该板上分别显示了三个固件触点:TX,RX,GND。因此事实证明,TX是在ESP-12本身的RX上繁殖的,在RX上繁殖的。即只需交换两根电线即可:我们按照以下方案连接UART转换器:

TX-TX
RX-RX
GND-GND
或Arduino:
TX-RX
RX-TX
GND-GND

打开后,该模块开始工作了,找到了原来的模块用于闪烁LED的固件(AI-THINKER-IOT-2014-10-17 165528.bin),并且仍然使用同一ESP8266 Flasher进行闪烁。出现接入点的密码,应用程序立即看到黄牌。唯一的警告:要闪烁,有必要安装跳线,所有其他情况下都应拆除。并且不要忘记在闪烁后重新启动设备。

带转接板的ESP8266 ESP-07


通过UART转换器连接ESP-07(ESP-12)的说明:

图片

  • 红色-电源3.3v;
  • 黑色-GND;
  • 黄色-在ESP8266侧-RX,在USB-TTL侧-TX;
  • 绿色-在ESP8266侧-TX,在USB-TTL侧-RX;
  • 橙色-CH_PD(CHIP ENABLE)-应始终上拉电源;
  • 蓝色-GPIO0-通过开关连接到地面,以启用模块闪烁模式。对于通常的GPIO0模块启动,您可以将其保持未连接状态。
  • 灰色-GPIO15(MTDO,HSPICS),此引脚必须接地。
  • 如果连接到Arduino,则为RX-RX和TX-TX。

使用烙铁将ESP-07和适配器组合在一起。我建议使用适配器,因为它进一步简化了使用面包板和电线通过无焊方法进行的连接。在这种情况下,我使用了中国的降压DC-DC转换器供电。DS18B20传感器可用,因此决定将其连接。

我不想立即安装HomesSmart,因此选择了这样的示例我不会重新输入电路和代码-它们几乎相同。它无法立即运行,但是有了Google和手鼓,“人的监控”中的数据就开始运行了。

我通过ESplorer下载了脚本

它在Arduino上
image

成为ESP8266
image

我正在等待紧凑的220AC-3.3DC电源模块来优化电线数量。

LoLin V3 NodeMcu(Lolin)


建议此板立即通过NodeMcu刷新程序来刷新NodeMcu固件。固件本身是由设计人员组装的,因此您仅可以包括最需要的固件。

此外,应该连接并控制一个2通道继电器,并控制卧室中的两个壁灯。在这里,我想谈一谈。这种继电器的中文版本具有跨接JD-VCC-VCC-GND。默认情况下,它安装在JD-VCC-VCC引脚上。

图片

因此,跳线永远不能安装在VCC-GND上-布置短路!在控制可能不足以操作继电器的情况下,这三个触点用于为继电器提供额外的电源。跳线的存在表明电源来自“控制”触点。

该脚本的用法如下:

脚本文字
#================= init.lua =================
--      
ssid,pass = "SSID","PASSWORD";

if (file.open('wificonf') == true)then
   ssid = string.gsub(file.readline(), "\n", "");
   pass = string.gsub(file.readline(), "\n", "");
   file.close();
end

wifi.setmode(wifi.STATION)
wifi.sta.config(ssid,pass)
wifi.sta.autoconnect(1);
print('IP:',wifi.sta.getip());
--print('MAC:',wifi.sta.getmac());

led1 = 3
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
restart=0;

gpio.write(led1, gpio.HIGH);
gpio.write(led2, gpio.HIGH);


t=0
tmr.alarm(0,1000, 1, function() t=t+1 if t>999 then t=0 end end)

srv=net.createServer(net.TCP, 1000)
srv:listen(80,function(conn)
    conn:on("receive",function(client,request)
    --      _GET
            local buf = "";
        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
        if(method == nil)then
            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
        end
        local _GET = {}
        if (vars ~= nil)then
            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
                _GET[k] = v
            end
        end
    --    
       --    <html><body>,      \
   --        \,  </body></html>
    conn:send('HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nCache-Control: private, no-store\r\n\r\n\
   <!DOCTYPE HTML>\
<html>\
 <head>\
        <meta charset="UTF-8" />\
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> \
        <meta name="viewport" content="width=device-width, initial-scale=1.0"> \
        <title>My control</title>\
   </head><body>\
        <div class="container">\
            <section class="color-1">\
                <p>\
                    <a href=\"?pin=ON1\"><button class="btn btn-4 btn-4a">Back ON</button></a>\
                    <a href=\"?pin=ON2\"><button class="btn btn-4 btn-4a">Bra ON</button></a>\
                </p>\
                <p>\
                    <a href=\"?pin=OFF1\"><button class="btn btn-5 btn-5a">Back OFF</button></a>\
                    <a href=\"?pin=OFF2\"><button class="btn btn-5 btn-5a">Bra OFF</button></a>\
                </p>\
            </section>\
        </div>\
</body></html>')
    --  
    --    
        local _on,_off = "",""
        if(_GET.pin == "ON1")then
              gpio.write(led1, gpio.LOW);
        elseif(_GET.pin == "OFF1")then
              gpio.write(led1, gpio.HIGH);
        elseif(_GET.pin == "ON2")then
              gpio.write(led2, gpio.LOW);
        elseif(_GET.pin == "OFF2")then
              gpio.write(led2, gpio.HIGH);
        end
        
  
              
    conn:on("sent",function(conn) conn:close() end)
    collectgarbage();

    
    end)
    
end)

#========================================


我无法重新找到到源的链接。但是方案很简单:对于Lolin,我们将继电器1和继电器2连接到输出D3和D4(led1 = 3 led2 = 4)。然后,我们转到路由器发出的IP地址,并看到以下页面:

图片

令我非常遗憾的是,我还没有弄清楚如何实现美观,例如,连接CSS样式的文件。问题在于显示页面时使用单个文件,而不是设置样式。

我真的希望这些信息对至少一个人有用。并且不要对第一篇文章进行严格的判断。

参考文献


Source: https://habr.com/ru/post/zh-CN394535/


All Articles