首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当DevOps撞上物联网

NodeMCU Amica是来自Espressif的基于ESP8266芯片的可编程的小设备。除了基本的ESP8266芯片,Amica板额外的特性让开发更加容易。...···NodeMCU Amica板有一个USB接口可以给固件编程并连接到电源适配器。ESP8266芯片需要一个USB到串口的适配器去连接USB接口,它由NodeMCU板提供。...···NodeMCU自带的固件可以通过Lua语言来编程。Lua是一种高级语言,可以快速实现原型。顺便提一句,它在游戏编程领域也很流行,也可以从另一方面说明Lua的高效。...下面是一些NodeMCU的入门提示: ···NodeMCU包含的固件提供了交互式Lua解释器,可以通过串行端口访问。你通过串行线来直接开发代码。在你的开发机上安装串行通信软件。...timer函数,不经意地显露出了Lua的函数型范式。

77430

ESP8266继电器控制(假装有继电器)

目前ESP8266的开发方式有这几种: AT指令方式 –烧录AT的固件包,使用AT指令与ESP8266交互,执行相应指令,需与单片机相连 NodeMCU的lua开发 –烧录NodeMCU的固件包,使用...Lua语言开发,使用ESP内部资源。...NodeMCU的lua开发:NodeMCU本质也是ESP8266,只是它的固件是与lua脚本语言交互。 优点:节省资源,开发简单,代码量少。...缺点:lua解释器执行效率较低,最终换成ArduinoIDE开发,就是因为读取传感器数据时,总是漏掉一个数据。前期准备比较麻烦。需要准备相应功能的固件,烧录进去,然后使用lua语言和工具与之调试。...语言执行效率高,节省资源,库函数比较多,开发语言简单,能够很快上手。 缺点:Arduino IDE需要写较长的代码时,不是很方便,如果需要查看底层函数或者方法,非常费劲。

3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ESP8266上的MicroPython入门(1)

    这个地方有个坑,我说一下.我想写Arduino.我也知道要刷一个固件.但是我不知道要刷上面东西在里面.后来才搞明白.其实就是所谓的NodeMCU的那个固件,还支持Lua语言开发的那个.我日..........其它特性 Lua还具有其它一些特性:同时支持面向过程(procedure-oriented)编程和函数式编程(functional programming);自动内存管理;只提供了一种通用类型的表(table...,比如数据抽象,虚函数,继承和重载等。...(我也有些看不懂...高级特性俺还用不到)......看看热闹就行 用NodeMCU的好处是入手容易Lua与MicroPython相对于Arduino C来说要简单很多,所以学习其编程是非常快的...,我看Lua文档一下午,看NodeMCU一晚上,看文档一晚上,就差不多可以写了。

    1.3K30

    25-ESP8266 SDK开发基础入门篇--控制WIFI连接路由器

    (绝对的稳定可靠) 大家都知道有个团队嵌入了lua,使得WIFI可以用lua 开发,如果大家看过我写过的关于lua 的一些文章,大家应该知道实际上lua 只不过是在咱SDK开发的基础上又进行了一次封装(...咱现在这节是控制WIFI连接路由器,我给大家说怎么找 还记得咱lua开发的时候,连接路由器是 https://nodemcu.readthedocs.io/en/master/modules/wifi/...知道步骤之后呢,最好把用到的函数在API文档里面看一下,看看有没有特殊要求的 ?  ...介绍说,如果这个函数放到user_init里面,那么就不需要调用wifi_station_connect,而且还是自动重连 所以 ?...不过这是源码自带的打印,咱呢想自己打印 这样就需要监控下WIFI的连接状态 看lua 的源码 ? ? ? 咱先拷贝这个函数 ?

    94820

    给Lua实现了一个数学库

    这就需要一个Lua版的数学库。 怎么给Lua写一个简洁高效的数学库,这并不是最近才开始思考的问题。...这些对象都是在栈上分配,函数返回即销毁。就算当值返回,也是直接值拷贝出去的。 在Lua中,严格意义的值类型只有boolean,number两种类型。...这个栈的范围只能在一个函数内使用。 如果你想将计算结果返回到另一个函数使用,你只能将栈中的值取出,然后显式返回给其他函数。 如果其他函数需要再次进行数学计算,就需要重新开辟一个数学栈空间。...这里使用了Lua的toclose特性, 当栈使用完之后,__close函数会自动将栈对象放入Cache中。 下次调用math.begin时,直接从Cache中分配,这样可以做到0内存分配。...= stk:vector3f_cross(v1, v2) v2 = stk:vector3f_cross(v1, v2) v2 = stk:vector3f_cross(v1, v2) v2 = stk

    42020

    【小白学Lua】之Lua变长参数和unpack函数

    一、简介   Lua的变长参数和unpack函数在实际的开发中应用的还挺多的,比如在设计print函数的时候,需要支持对多个变量进行打印输出,这时我们就需要用到Lua中的变长参数和unpack函数了。...二、Lua变长参数与unpack函数   Lua中支持可变参数,用 ... 表示。...接着我们再来看看unpack函数,在Lua里面我们通常使用它来将数组形式的table拆开。...,v3,v4,v5,v6 = func1(info) print(v1,v2,v3,v4,v5,v6)   需要注意的一点是,如果遇到数组下有nil,或者有字母key的时候,unpack将会返回nil,...运行效果如下: 1 2 3 123 456 abc 四、总结   在本篇博客中,马三同大家一起了解了Lua中变长参数和unpack函数的使用,并且通过拓展原生print函数的实例进行了练习。

    4.1K30

    二,ESP8266 GPIO和SPI和定时器和串口(基于Lua脚本语言)

    gpio.mode(4,gpio.OUTPUT)--输出模式 gpio.write(4,0)--输出低电平 这样的话这个灯就亮了 可能会有疑问,明明是GPIO2为什么填4 看资料 https://nodemcu.readthedocs.io...第一个参数 一共可以同时使用7个定时器,,id号呢是0-6 第二个参数是延时多少ms执行最后面的函数 第三个参数是设置是只执行一次,,还是调用启动函数时执行一下,还是一直间隔第二个参数的时间执行最后面的函数...,,, 解决方案是 一,重新烧写固件 但是呢也有可能重新烧写固件也不能把以前写的.lua文件清除 二,先烧写别的固件,再烧写现在的 比如:可以先烧写一个AT指令的固件,让它运行一下,然后再重新烧写lua...开发版本的,但是也有可能不能把以前写的.lua文件清除 三,修改程序保存的偏移量 您想哈,,我们的.lua程序肯定也在flash里面,,,我烧写固件时把偏移量调大肯定能把我们写的.lua代码给清除掉.要是调整后出现一直发乱码...我的做法...我用定时器做空闲检测 关于Lua的部分语法可以看,,其实了解就行,,当时自己以为需要把lua学的很好才能用lua开发8266,,,最后才知道只需要了解些语法就好了,,剩下的看8266的API

    1.1K40

    29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)

    站在巨人的肩膀上) 咱再细细的看下lua怎么实现的源码 首先确定lua都调用了什么函数 https://www.cnblogs.com/yangfengwu/p/7533302.html    lua写的...TcpConnect = nil tmr.start(1) end) end) https://nodemcu.readthedocs.io...注意:lua源码里面为了使用户操作起来便捷,所以封装的很灵活(代码更复杂些,咱只提取咱用到的部分) ? 源码实际处理部分 ? ? ?...大家知道lwip提供了两种实现网络通信的方式 第一种是 :RAW模式   就是不需要操作系统参与,所有的都是靠回调函数实现 第二种是:跑任务的 其实lua源码里面是使用的RAW模式的 大家可以自行百度LWIP...lua里面封装了以后 ,所有的信息都记录在 ud那个结构体里面 tcp_arg()的第二个参数是ud 其实下面的每一个回调函数都有个参数,上面设置以后,传递给回调函数的参数就是ud了,lua做法是直接判断和控制

    1.4K20

    51采集PCF8591数据通过ESP8266上传C#上位机android 之TCP客户端编程ESP8266使用详解NodeMCU初探ESP8266刷AT固件与nodemcu固件ESP8266使用详解-

    关于WIFI模块可以看这几篇 ESP8266使用详解 NodeMCU初探 ESP8266刷AT固件与nodemcu固件 (一)Lua脚本语言入门 (二)Lua脚本语言入门 (三)Lua脚本语言入门 (四...)Lua脚本语言入门 (五)Lua脚本语言入门 ESP8266使用详解--基于Lua脚本语言 最后加上一篇有人的WIFI模块,有人的做的也不错,当初项目就是用的有人的 有人WIFI模块使用详解 自己的ESP8266...dofile("wifi.lua") end) 初始化呢,和我以前的一个地方不一样 tmr.alarm(1, 3000, 0, function()       print("dofile wifi.lua...dofile("wifi.lua") 我让模块3s以后再去加载的wifi.lua 说一下原因,,,因为我在wifi.lua里面设置的串口的数据直接发送到网口,,如果没有这个延时加载,一下子就执行了串口的数据直接发送到网口...那么下次想通过串口向模块发指令或者重新写入LUA程序就会出现问题,因为直接执行了串口的数据直接发送到网口,,有了这个延时我可以在复位的3s之前去操作模块了 再看一下wifi.lua ConnectCnt

    2.2K50

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券