Просмотр исходного кода

update: 完善ec618+w5500的demo

Wendal Chen 3 лет назад
Родитель
Сommit
ca6af9f463
2 измененных файлов с 55 добавлено и 21 удалено
  1. 1 5
      demo/socket/EC618_W5500/async_socket_demo.lua
  2. 54 16
      demo/socket/EC618_W5500/main.lua

+ 1 - 5
demo/socket/EC618_W5500/async_socket_demo.lua

@@ -1,9 +1,5 @@
--- netlab.luatos.com上打开TCP,然后修改IP和端口号,自动回复netlab下发的数据,自收自发测试
 
-local server_ip = "152.70.80.204"
-local server_port = 52444 
-local UDP_port = 37834
-local ssl_port = 35528
+
 local rxbuf = zbuff.create(8192)
 local function netCB(netc, event, param)
     if param ~= 0 then

+ 54 - 16
demo/socket/EC618_W5500/main.lua

@@ -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()