Skip to content

spendist/esp8266

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

使用 ESP8266制作一个投影仪网络控制器#

@(spender)[esp8266][viewsonic]

需求

我前一段时间京东网上买了一个 viewsonic 的投影仪, 型号:PX727-4K/PX747-4K, 这是一个4K的家用投影,看电影效果还可以, 唯一遗憾的是不支持网络。 阅读说明书以后,发现里面有串口控制的信息。于是突发奇想,用esp8266 实现远程控制,岂不是很好。 说干就干。硬件框架: esp8266 nodemcu 一块,串口调试器一块。arduino 开发环境一个。 其中 Nodemcu +5V,Gnd 管脚连接一个usb用于模块供电,未来直接插投影仪背面的usb口,软件实现附件串口, 自带的usb用于调试。

实现思路:##

  • 1:使用 Wifimanager 库,通过配置SSID/Password连接家庭网络
  • 2:连接成功后提供web服务,通过不同的url发送请求给8266。
  • 3:根据请求,打开8266相应的数据文件(其实就是控制指令)
  • 4:把读到的数据发送给虚拟串口至投影仪,实现自动化控制。
  • 5: After
  • 6: 使用家里的 domoticz IOT 软件集成, 实现基于互联网的物联网控制。

网页概述

首页是一个 index.html, 放在esp8266 文件系统中, 可以通过 Arundio 上传, 其他控制器,根据说明说制作成一个一个的小文件, 后缀.dat,内容就是所有控制字符。 网页提供一个一个简易表格, 把这些控制命令index出来, 方便手机、电脑等客户端通过浏览器控制投影仪

网页代码部分

《略》详见 index.html 支持curl命令行控制,结合 domoticz 的脚本功能,实现常用的控制。(不属于本文档范围,略)

程序框架

使用比较成熟的demo程序修改。 1:自动化配置wifi连接(setup()) , 如果连接成功,继续。 2:检查可用的控制数据文件(实质上为了简单, 我仅仅做了一个list) 3:创建web服务, 注册相关网页, 接收用户点击或者curl请求, 按命令打开相关控制数据文件, 发送文件内容至虚拟串口,从而实现投影仪控制。

数据组织

  • 后缀为 .csv 的文件是一个控制二进制串列表文件,通过运行 create_data.php 生成数据文件(.dat)
  • 生成的.dat文件,连同编写好的index.html, logo.jpg 一并放入开发环境的 $projectPath/$projectName/data 目录中.
  • 使用 Arduino的 updata 实用工具完成数据文件上传。

效果图

Alt 实施效果图

欢迎交流

About

video control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published