箭头指向的位置有个Create函数。就是调用这个函数进行创建。(至于这个参数是什么,后边会讲到)
首先,先将导出的这个文件require进来,进来之后呢,调用create方法,就会返回Cocos创建的Scene了~
代码如下:
1
前液
local csLuaScene = require("Scene.lua").create()
然衫悔氏后create 方法返回的结果是一个table,通过csLuaScene['root']来获得创建的Scene,接着replaceScene就可以了!对于“图层”和“节点”也是类似的 *** 作!
最后通过一系列的getChildByName 和 GetChildByTag 获取子节点进行 *** 作就可以了!
啊,对了,获取动画的方式和获取Scene的方式相似 csLuaScene['animation']!
接下来,create函数的那个参数是什么东西呢?
来看这个图 ,我给Button_1添加了一个叫做btn2的Click事件
生成LUA代码之后,能够发现有如下代码段:
这段代码,首先判断callBackProvider是否为空,然后呢,将他的返回值设置为Button_1的Click回调函数。
这样就很明白了。create时候需要传入的参数callBackProvider是一个函数,他的功能是根据传入的3个参数进行判断,最终返回一个函数最为Button(或者其他node)的回调函数!
callBackProvider的三个参数,分别是,当前LUA文件的路径,所绑定的Node(可以通过name或者tag来判断是哪个node),或散最后是回调函数的名字,通过这三个参数可以很容易的知道是哪个按钮的回调事件,从而返回该按钮所需要的回调函数。
所以,在create时候应该是这样的:
local callBackProvider = function ( path,node,funcName )
if path == "Scene.lua" and node:getName()=="Button_1" and funcName =="bnt2" then
local function btnCallback( node,eventType )
--TODO
end
return btnCallback
end
end
local csLuaScene = require("Scene.lua").create(callBackProvider)
也许大家看第一篇文章时候,注意到 我这里提示了一个错误,版本不兼容。是时候更新到3.5了!如果不想更新的话,就把3.5的UI的部分替换过来吧………
本文采用 ESP8266 NodeMCU 板开发,该开发板板载LED灯,同IO引脚为D0(GPIO16)口相连,LED灯为共阳接法,也就是要想LED灯点亮,D0(GPIO16)口要输出低电平“0”。
打开 Arduino 点击 “工具” - “开发板” ,选择 NodeMCU1.0(ESP12E Module) 。
点击菜单栏 “文件” - “示例”- “01.Basice”- “01.Basice”- “Blink”, 可查看示例LED闪光灯控轮迅制程序,该程序控制LED灯亮一秒灭一秒。
程序说明:
1.在使用输入或者输出功能前旅镇需通过 pinMode() 函数配置引脚模式。
其调用形式为:
pinMode(pin,mode)
I/O引脚的三种模式分别为: INPUT —— 输入模式; OUTPUT —— 输出模式;INPUT _PULLUP —— 输入上拉模式;
2.配置为输出模式后,需用通过 digitalWrite() 函数输出高电平或低电平;其调用形式为:
digitalWrite(pin,value)
a.点击 “工具” - “端口” ,选腊镇此择在设备管理中看到的串口。
b.点击 “工具” - “Upload Speed” ,选择 115200 。
c.点击 上传 ,将写的程序烧录到 MCU 中,期间 ESP8266 的指示灯会一直闪烁,在 Arduino 控制台中会显示上传进度,上传到 100% 就可以查看效果了。
在上传完车后,开发板上LED灯将会亮一秒灭一秒的循环进行下去。
模块设置AT—Tests AT Startup
AT
复制
返回
OK
复制
AT+RST—复位模块
命令
AT+RST
复制
返回
OK
复制
AT+RESTORE—恢复出厂设置
命令
AT+RESTORE
复制
响应
OK
复制
ATE—AT 命令回显
关闭回显
ATE0
复制
打开回显
ATE1
复制
AT+UART_CUR—当前UART设置,不保存到Flash
查询
AT+UART_CUR?
复制
设置
AT+UART_CUR=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
复制
参数说明
<baudrate>: UART baud rate
<databits>: data bits
5: 5-bit data
6: 6-bit data
7: 7-bit data
8: 8-bit data
<stopbits>: stop bits
1: 1-bit stop bit
2: 1.5-bit stop bit
3: 2-bit stop bit
<parity>: parity bit
0: None
1: Odd
2: Even
<flow control>: flow control
0: flow control is not enabled
1: enable RTS
2: enable CTS
3: enable both RTS and CTS
复制
AT+UART_DEF—默认UART配置,保存进FLASH
查询
AT+UART_DEF?
复制
设置
AT+UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
复制
参数与 AT+UART_CUR命令一致
AT+CWMODE—设置WIFI模式
查询命令
AT+CWMODE?
复制
相应
+CWMODE:<mode>
OK
复制
设置命令
AT+CWMODE=<mode>
复制
响应
OK
复制
参数
<mode>:
0: Null mode, WiFi RF will be disabled
1: Station mode
2: SoftAP mode
3: SoftAP+Station mode
复饥简粗凯制
AT+CWJAP—连接到AP
查询命令
AT+CWJAP?
复制
相应
+CWJAP:<ssid>,<bssid>,<channel>,<rssi>
OK
复制
参数说明
Parameters:
<ssid>: a string parameter showing the SSID of the AP.
<bssid>: the AP’s MAC address.
<channel>: channel
<rssi>: signal strength
复制
设置烂凳裤命令
AT+CWJAP=<ssid>,<pwd>[,<bssid>][,<pci_en>][,<reconn>][,<listen_interval>]
复制
响应
OK
或者
+CWJAP:
ERROR
复制
参数说明
<ssid>: the SSID of the target AP.
Escape character syntax is needed if SSID or password contains any special characters,
such as , or " or \.
<pwd>: password, MAX: 64-byte ASCII.
[<bssid>]: the target APs MAC address, used when multiple APs have the same SSID.
[<pci_en>]: enable PCI Authentication, which will disable connect OPEN and WEP AP.
[<reconn>]: enable Wi-Fi reconnection, when beacon timeout, ESP32 will reconnect
automatically.
[<listen_interval>]: the interval of listening to the AP's beacon,the range is (0,100],
<error code>: (for reference only)
1: connection timeout.
2: wrong password.
3: cannot find the target AP.
4: connection failed.
others: unknown error occurred.
复制
AT+CWQAP—与 AP 断开链接
命令
AT+CWQAP
复制
响应
OK
复制
建立连接
AT+CIPSTART—建立TCP连接,UDP传输或SSL连接
设置
AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>][,<local IP>]
Multiple TCP Connections (AT+CIPMUX=1):
AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>[,<TCP keep alive>][,
<local IP>]
复制
例:连接私有云MQTT服务器
AT+CIPSTART="TCP","129.***.***.127",1883
复制
若之前没有连接过,则响应成功连接
AT+CIPSTART="TCP","129.28.***.127",1883
CONNECT
OK
复制
若之前连接过,则响应
AT+CIPSTART="TCP","129.***.***.127",1883
ALREADY CONNECTED
ERROR
复制
AT+CIPCLOSE—关闭TCP/UDP/SSL 连接
命令
AT+CIPCLOSE
复制
响应
OK
复制
AT+CIFSR读取模块IP地址
命令
AT+CIFSR
复制
响应
+CIFSR:<SoftAP IP address>
+CIFSR:<Station IP address>
OK
复制
发送数据
AT+CIPSEND—Sends Data
AT模式下发送数据
命令
AT+CIPSEND=<length>
复制
响应
OK
>
复制
跟随发送数据即可。
如果在数据传输过程中无法建立或中断连接,则系统
返回:
ERROR
复制
如果数据传输成功,系统将返回:
SEND OK
复制
透传模式下发送数据
在透传模式下,发送数据更为简单,首先进入透传模式,然后使用发送数据命令启动发送,再进行数据发送即可
发送命令
AT+CIPSEND
复制
响应
>
复制
在接收到>,后,直接发送我们的报文即可。
网络测试命令
AT+PING: Ping测试
命令
AT+PING=<IP>
复制
响应
+PING:<time>
OK
复制
例:
AT+PING="www.baidu.com"
+8
OK
复制
登录阿里云服务平台流程
1、发送“+++”让ESP8266退出透传
2、使用AT+RESTORE,恢复出厂设置
3、ATE0,关闭回显功能
4、AT+CWMODE_CUR=1 设置当前客户端为station模式
5、AT+CWJAP=<ssid>,<pwd> 连接到路由器
6、AT+CIPSTART="TCP","a1a3XzsznJI.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883 连接到阿里云,地址根据自己的情况进行修改。
7、AT+CIPMODE=1 进入透传模式
8、AT+CIPSEND 启动数据收发
9、发送报文、接收报文
10、退出连接前,先发送"+++"退出透传模式,设置AT+CIPMODE=0 进入正常AT命令模式。
复制
透传模式说明:
进入透传模式后,向服务器端发送命令和接收命令就无需带AT命令,接收到的信息也没有
例如:我们要发送连接MQTT协议报文时,在AT模式下,我们需要发以下命令(标注的位置是我们发给ESP8266模块的):
AT+CIPSEND=143
OK
'><这儿是143字节报文数据>
Recv 143 bytes
SEND OK
+IPD,4: \0\0
而进入透传模式时,我们只需要发送报文数据即可,例如我们发送C0 00心跳报文,则直接发送C0 00给ESP8266模块即可
[19:29:04.971]发→◇C0 00 □
[19:29:05.055]收←◆D0 00
[19:29:14.968]发→◇C0 00 □
[19:29:15.054]收←◆D0 00
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)