|
|
@@ -1,25 +1,51 @@
|
|
|
|
|
|
-- LuaTools需要PROJECT和VERSION这两个信息
|
|
|
-PROJECT = "my_test"
|
|
|
+PROJECT = "ec618_w5500"
|
|
|
VERSION = "1.2"
|
|
|
-PRODUCT_KEY = "s1uUnY6KA06ifIjcutm5oNbG3MZf5aUv" --换成自己的
|
|
|
+-- PRODUCT_KEY = "s1uUnY6KA06ifIjcutm5oNbG3MZf5aUv" --换成自己的
|
|
|
+
|
|
|
-- sys库是标配
|
|
|
_G.sys = require("sys")
|
|
|
_G.sysplus = require("sysplus")
|
|
|
log.style(1)
|
|
|
|
|
|
-w5500.init(0, 25600000, 8, 18, 1)
|
|
|
+--[[
|
|
|
+本demo是 Air780E + w5500. 以 Air780E开发板为例, 接线如下:
|
|
|
+
|
|
|
+Air780E W5500
|
|
|
+GND(任意) GND
|
|
|
+GPIO01 IRQ/INT,中断
|
|
|
+GPIO18 RST, 复位
|
|
|
+GPIO08/SPI0_CS CS/SCS,片选
|
|
|
+GPIO11/SPI0_SLK SLK,时钟
|
|
|
+GPIO09/SPI0_MOSI MOSI,主机输出,从机输入
|
|
|
+GPIO10/SPI0_MISO MISO,主机输入,从机输出
|
|
|
+
|
|
|
+最后是供电, 这样要根据W5500的板子来选:
|
|
|
+1. 如果是5V的, 那么接780E开发板的5V
|
|
|
+2. 如果是3.3V的, 另外找一个3.3V, 例如CH340小板子, 额外供电
|
|
|
+
|
|
|
+注意: 额外供电时候, W5500的GND和Air780E依然需要接起来.
|
|
|
+]]
|
|
|
|
|
|
-w5500.config() --默认是DHCP模式
|
|
|
-w5500.bind(socket.ETH0)
|
|
|
+
|
|
|
+-- 配置W5500
|
|
|
+-- 0 -- SPI0
|
|
|
+-- 25600000 -- 25.6M波特率, Air780E的最高波特率
|
|
|
+-- 8 -- CS片选脚
|
|
|
+-- 18 -- RST复位脚
|
|
|
+-- 1 -- INT/IRQ中断脚
|
|
|
+w5500.init(0, 25600000, 8, 18, 1)
|
|
|
+w5500.config() --默认是DHCP模式,其他模块请查阅w5500库的API
|
|
|
+w5500.bind(socket.ETH0) -- 固定写法
|
|
|
|
|
|
----------------------------------------
|
|
|
-- 报错信息自动上报到平台,默认是iot.openluat.com
|
|
|
-- 支持自定义, 详细配置请查阅API手册
|
|
|
-- 开启后会上报开机原因, 这需要消耗流量,请留意
|
|
|
-if errDump then
|
|
|
- errDump.config(true, 600)
|
|
|
-end
|
|
|
+-- if errDump then
|
|
|
+-- errDump.config(true, 600)
|
|
|
+-- end
|
|
|
----------------------------------------
|
|
|
|
|
|
|
|
|
@@ -27,17 +53,29 @@ end
|
|
|
-- socket.setDNS(nil,1,"223.5.5.5")
|
|
|
-- socket.setDNS(nil,2,"114.114.114.114")
|
|
|
|
|
|
-socket.sntp()
|
|
|
+-- NTP 按需开启
|
|
|
+-- socket.sntp()
|
|
|
--socket.sntp("ntp.aliyun.com") --自定义sntp服务器地址
|
|
|
--socket.sntp({"ntp.aliyun.com","ntp1.aliyun.com","ntp2.aliyun.com"}) --sntp自定义服务器地址
|
|
|
-sys.subscribe("NTP_UPDATE", function()
|
|
|
- log.info("sntp", "time", os.date())
|
|
|
-end)
|
|
|
-sys.subscribe("NTP_ERROR", function()
|
|
|
- log.info("socket", "sntp error")
|
|
|
- socket.sntp()
|
|
|
-end)
|
|
|
+-- sys.subscribe("NTP_UPDATE", function()
|
|
|
+-- log.info("sntp", "time", os.date())
|
|
|
+-- end)
|
|
|
+-- sys.subscribe("NTP_ERROR", function()
|
|
|
+-- log.info("socket", "sntp error")
|
|
|
+-- socket.sntp()
|
|
|
+-- end)
|
|
|
+
|
|
|
+-----------------------------------------------------------------------------
|
|
|
+-- netlab.luatos.com上打开TCP,然后修改IP和端口号,自动回复netlab下发的数据,自收自发测试
|
|
|
+-- 以下端口号均为临时端口, 要改成自己的值
|
|
|
+-----------------------------------------------------------------------------
|
|
|
+
|
|
|
+server_ip = "112.125.89.8"
|
|
|
+server_port = 33165 -- TCP测试的端口
|
|
|
+UDP_port = 37834 -- UDP测试的端口
|
|
|
+ssl_port = 35528 -- TCP-SSL的测试端口
|
|
|
|
|
|
+-- 与日常写法最大的区别,就是创建socket/http/ftp/mqtt时需要指定网卡 socket.ETH0
|
|
|
require "async_socket_demo"
|
|
|
socketDemo()
|
|
|
|