[DemoCode下载] 刚刚做的ESP8266遥控灯,感觉还可以

[复制链接]
6428|57
 楼主| 598330983 发表于 2017-3-22 16:45 | 显示全部楼层 |阅读模式
本帖最后由 598330983 于 2017-3-22 17:43 编辑

版本:0.001
  1. --init.lua
  2. print("set up wifi mode")
  3. wifi.setmode(wifi.STATION)
  4. wifi.sta.config("ssidxxxx","pwdxxxxxx")
  5. wifi.sta.connect()
  6. print("IP unavaiable, Waiting...")
  7. tmr.alarm(1, 1000, 1, function()
  8. if wifi.sta.getip()~= nil then

  9.      tmr.stop(1)
  10.      print("Config done, IP is "..wifi.sta.getip())
  11.      dofile("kaiguan.lua")
  12. end

  13. end)


 楼主| 598330983 发表于 2017-3-22 16:46 | 显示全部楼层
这个是初始化文件,配置网络信息,等待完成。。。。还是很不错的,参考了贝壳的初始化代码,做了优化。
 楼主| 598330983 发表于 2017-3-22 16:47 | 显示全部楼层
  1. --kaiguan.lua
  2. LED=3
  3. gpio.mode(LED,gpio.OUTPUT)
  4. svr=net.createServer(net.TCP, 30)

  5. function receiver(sck,data)
  6.    if (data=="ON")
  7.    then
  8.    gpio.write(LED,gpio.LOW)
  9.       sck:send("LED is ON")
  10.    else
  11.    gpio.write(LED,gpio.HIGH)
  12.       sck:send("LED is OFF")
  13.    end
  14.    print("Receive: "..data)


  15. --   sck:close()
  16. end

  17. if svr then
  18.    svr:listen(80,function(conn)
  19.                                                   conn:on("receive",receiver)
  20.                                                   conn:send("Hell world,my LED Light")
  21.                         end)
  22. end


 楼主| 598330983 发表于 2017-3-22 16:50 | 显示全部楼层
这个是联网后的执行开关文件,创建服务,进行侦听端口,通过手机的TCP调试软件发指令。
联网成功后会有欢迎信息,Hell world,my LED  Light
然后相应接收事件。。
收到后对数据比对,如果是ON字符串,就打开,并发送给手机那个LED的开关状态。。。
 楼主| 598330983 发表于 2017-3-22 16:52 | 显示全部楼层
LED遥控灯,TCP的.zip (700 Bytes, 下载次数: 62)



后面的版本我随着学习的深入加大复杂度,比如调节亮度。比如链接服务器。。。比如实现自动光照控制和遥控控制的结合。
 楼主| 598330983 发表于 2017-3-22 16:55 | 显示全部楼层
 楼主| 598330983 发表于 2017-3-22 16:56 | 显示全部楼层
 楼主| 598330983 发表于 2017-3-22 16:57 | 显示全部楼层
等再研究研究,就可以用这个小东西挂单片机上玩大型的控制了。
 楼主| 598330983 发表于 2017-3-22 17:25 | 显示全部楼层
下载了好多TCP手机助手,好多带广告,还比较大,经过比选,发现一个好用的,发来
e3c77dc4f0dfc6b2dbda9debf32e9053_256_256.png
TCP&UDP 测试工具
应用简介:这个工具只能作为CS模式的客户端,输入IP,端口号,发送数据即可。 举个例子: 服务器采用TCP模式,IP: 192.168.1.101, 监听端口:1234 在此应用程序中选择TCP模式 输入 IP:192.168.1.101 端口: 1234 输入想要发送的内容,点发送按钮即可 服务器发送的数据会在接收框里出现。 【基本信息】 作者:车春立 更新时间:2014-12-25 版本:1.0 系统:Android 2.2.x以上 语言:中文


1111.png com.example.tcpudptester_1.zip (271.85 KB, 下载次数: 40)





 楼主| 598330983 发表于 2017-3-22 17:26 | 显示全部楼层
另外如果有漂亮的没有广告的版本,欢迎推荐给我啊。。拜托了。
说书先生 发表于 2017-3-22 19:59 | 显示全部楼层

撸啊编程
稳稳の幸福 发表于 2017-3-22 20:26 | 显示全部楼层
那单片机只能从串口中获取指令和传递指令了。
734774645 发表于 2017-3-22 21:30 | 显示全部楼层
下载后认真看了一遍,这是我见过写的最好的TCP控制LED程序。
 楼主| 598330983 发表于 2017-3-23 10:05 | 显示全部楼层
准备自己学学那个安卓开发
mintspring 发表于 2017-3-23 19:10 | 显示全部楼层
很好用,我试了一下。。
zhuotuzi 发表于 2017-3-24 00:08 | 显示全部楼层
创建服务,进行侦听端口,通过手机的TCP调试软件发指令
 楼主| 598330983 发表于 2017-3-24 08:46 | 显示全部楼层
接下来做个模式为STATIONAP的,可以直接在手机上设置WIFI信息。
643757107 发表于 2017-3-24 23:41 | 显示全部楼层
期待楼主上位机全套做齐。
mintspring 发表于 2017-3-29 20:21 | 显示全部楼层
该APP分为两个窗口设计,参考了官方提供的例程。

主窗口和通信窗口,启动软件后在主窗口设置IP和PORT,点击链接跳转到通信窗口,也可以从通信窗口返回
主窗口代码为:
  • 变量 已切换 逻辑型
  • 事件 按钮1.被单击()
  • 已切换 =
  • 客户1.连接服务器(编辑框1.内容,编辑框2.内容,5000) '在模拟器中,本地IP10.0.2.2
  • '如果要在外网连接内网里的服务器,可以使用nat123进行端口映射,例如:客户1.连接服务器("si.nat123.net",1,5000)
  • 'nat123的具体使用方法请参考存放在资源文件里的那张图片
  • '注意:E4A的客户组件目前只能与易语言的服务器组件配合使用,其他的可能无**常连接通讯
  • 保存对象("客户1",客户1) '保存客户组件
  • 保存设置("地址",编辑框1.内容)       
  • 保存设置("端口",编辑框2.内容)
  • 结束 事件
  • 事件 客户1.连接完毕(结果 逻辑型)
  • 如果 结果 =
  • 弹出提示("连接成功")
  • 如果 已切换 =
  • 切换窗口(创建 通信窗口)
  • 结束 如果
  • 已切换 =
  • 否则
  • 信息框("LED Light","连接服务器失败","确定")
  • 结束 如果
  • 结束 事件
  • 事件 主窗口.创建完毕()
  • 保存窗口("主窗口",主窗口)
  • 结束 事件
  • 事件 编辑框1.内容被改变(新内容 文本型)
  • 结束 事件
  • 事件 编辑框2.内容被改变(新内容 文本型)
  • 结束 事件
  • 事件 按钮2.被单击()
  • 结束程序()       
  • 结束 事件
  • ——————————————————————————————————————————————————
  • 通信窗口

代码为:
  • 变量 客户1 客户
  • 事件 通信窗口.创建完毕()
  • 客户1 = 读取对象("客户1") '读取在主窗口中保存的客户组件
  • 结束 事件
  • 事件 客户1.收到数据(数据 字节型())
  • 编辑框1.内容 = 编辑框1.内容 & "\n" & "服务器:" & "\n" & 字节到文本(数据,"GBK") '收到服务器发来的字节集数据,转换成文本
  • 编辑框1.置光标位置(取文本长度(编辑框1.内容))
  • 结束 事件
  • 事件 按钮1.被单击()
  • 编辑框1.内容 = 编辑框1.内容 & "\n" & "客户端:" & "\n" & 编辑框2.内容
  • 客户1.发送数据(文本到字节(编辑框2.内容,"GBK")) '向服务器发送数据
  • 结束 事件
  • 事件 按钮3.被单击()
  • 客户1.断开连接() '断开与服务器的连接
  • 结束 事件
  • 事件 按钮2.被单击()
  • 客户1.连接服务器(读取设置("地址"),"80",5000)
  • 结束 事件
  • 事件 客户1.连接断开()
  • 弹出提示("连接已断开")
  • 结束 事件
  • 事件 按钮4.被单击()
  • 切换窗口(读取窗口("主窗口"))
  • 结束 事件
  • 事件 按钮5.被单击()
  • 客户1.发送数据(文本到字节("ON","GBK")) '向服务器发送数据       
  • 结束 事件
  • 事件 按钮6.被单击()
  • 客户1.发送数据(文本到字节("OFF","GBK")) '向服务器发送数据       
  • 结束 事件



                                                                         


mintspring 发表于 2017-3-29 20:22 | 显示全部楼层

该APP分为两个窗口设计,参考了官方提供的例程。

主窗口和通信窗口,启动软件后在主窗口设置IP和PORT,点击链接跳转到通信窗口,也可以从通信窗口返回

03d01490413913.png

主窗口代码为:

  • 变量 已切换 逻辑型
  • 事件 按钮1.被单击()
  •         已切换 =
  •         客户1.连接服务器(编辑框1.内容,编辑框2.内容,5000) '在模拟器中,本地IP10.0.2.2
  •         '如果要在外网连接内网里的服务器,可以使用nat123进行端口映射,例如:客户1.连接服务器("si.nat123.net",1,5000)
  •         'nat123的具体使用方法请参考存放在资源文件里的那张图片
  •         '注意:E4A的客户组件目前只能与易语言的服务器组件配合使用,其他的可能无**常连接通讯
  •         保存对象("客户1",客户1) '保存客户组件
  •         保存设置("地址",编辑框1.内容)        
  •         保存设置("端口",编辑框2.内容)
  • 结束 事件
  • 事件 客户1.连接完毕(结果 逻辑型)
  •         如果 结果 =
  •                 弹出提示("连接成功")
  •                 如果 已切换 =
  •         
  •                         切换窗口(创建 通信窗口)
  •                 结束 如果
  •                 已切换 =
  •         否则
  •                 信息框("LED Light","连接服务器失败","确定")
  •         结束 如果
  • 结束 事件
  • 事件 主窗口.创建完毕()
  •         保存窗口("主窗口",主窗口)
  • 结束 事件
  • 事件 编辑框1.内容被改变(新内容 文本型)
  • 结束 事件
  • 事件 编辑框2.内容被改变(新内容 文本型)
  • 结束 事件
  • 事件 按钮2.被单击()
  •         结束程序()        
  • 结束 事件
  • ——————————————————————————————————————————————————
  • 通信窗口
b01c1490413926.png

代码为:

  • 变量 客户1 客户
  • 事件 通信窗口.创建完毕()
  •         客户1 = 读取对象("客户1") '读取在主窗口中保存的客户组件
  • 结束 事件
  • 事件 客户1.收到数据(数据 字节型())
  •         编辑框1.内容 = 编辑框1.内容 & "" & "服务器:" & "" & 字节到文本(数据,"GBK") '收到服务器发来的字节集数据,转换成文本
  •         编辑框1.置光标位置(取文本长度(编辑框1.内容))
  • 结束 事件
  • 事件 按钮1.被单击()
  •         编辑框1.内容 = 编辑框1.内容 & "" & "客户端:" & "" & 编辑框2.内容
  •         客户1.发送数据(文本到字节(编辑框2.内容,"GBK")) '向服务器发送数据
  • 结束 事件
  • 事件 按钮3.被单击()
  •         客户1.断开连接() '断开与服务器的连接
  • 结束 事件
  • 事件 按钮2.被单击()
  •         客户1.连接服务器(读取设置("地址"),"80",5000)
  • 结束 事件
  • 事件 客户1.连接断开()
  •         弹出提示("连接已断开")
  • 结束 事件
  • 事件 按钮4.被单击()
  • 切换窗口(读取窗口("主窗口"))        
  • 结束 事件
  • 事件 按钮5.被单击()
  •         客户1.发送数据(文本到字节("ON","GBK")) '向服务器发送数据        
  • 结束 事件
  • 事件 按钮6.被单击()
  •         客户1.发送数据(文本到字节("OFF","GBK")) '向服务器发送数据        
  • 结束 事件


您需要登录后才可以回帖 登录 | 注册

本版积分规则

267

主题

5575

帖子

22

粉丝
快速回复 在线客服 返回列表 返回顶部