六路WIFI外网IO控制器

一直以来,物联网的控制一直都是电子界发展的一个热点,但是物联网的开发却不是一个简单的工程,而对于只是熟悉单片机这样的硬件开发者来说确实一件很难的事情,原因是除了掌握单片机的开发外,还的掌握互联网服务器的开发、手机端等开发等等,导致难度一再上升,为此我们在sHMICtrl的基础上,连接ESP-12S,完成了这个六路控制器,可由外网服务器直接透传内网控制sHMIctrl上的六路扩展IO的电平,同时屏幕上也可以直接控制这六路IO;

大家知道,作为一个物联网控制设备,需要联网,而联网就需要有UI界面输入wifi密码,这个就一下难住了大多数的单片机开发者,常规的方案是借助手机来跨接,但这样又需要单片机开发人员会手机开发,这岂不是天方夜谭(如果作为商品开发,甚至还需要开发android和IOS两个版本),而使用sHMIctrl的方案,只需要单片机开发人员即可完成;用户也很简单,直接在屏幕上选择wifi热点后输入wifi密码即可;

硬件连接:


只需要4根线,就可以把屏幕和ESP-12S连接在一起,为了方便用户,我们特意使用了安信可的原始AT指令固件,因此无需再对ESP-12S进行编程;

通信有两种方式,一种是最简单的同步通信方式,也就是说发送数据后,系统一直在等待数据的到来,这样通信非常好理解,但是由于CPU一直等待数据,导致效率很低,当然对于常规单片机来说,是没有问题的;但是在有界面体系的单片机上,是肯定不行的,因为循环等待数据肯定会导致界面无法响应;

另外一种通信方式就是异步的,一般带有界面的系统都会启用异步方案,所谓异步方案,就是指发送数据后程序继续执行,当收到合适的数据后,自动启动预先设置好的处理代码来完成数据处理;这种方式效率高,但是对于C语言来说实现不好实现(JS、lua、python等比较容易实现);而对于嵌入式系统来说,一般通用的做法是利用线程把异步代码改成同步的代码,但是需要考虑线程的并发性,对于只熟悉单片机C代码用户的开发者都不是优选;

为了更好的利用C语言完成异步加载,我们通过研究,提出了“状态机队列”这个体系,通过状态机队列将异步的通信变成了好理解的伪同步代码

这样就很容易的把ESP-12S带的各种AT指令集给控制下来了

具体详细操作请下载源代码和工程文件查看;



上电后,系统会自动检测是否有ESP-12S模块,并且检测是否有已经记忆的热点,第一次使用的时候,需要点击“进入”来设置wifi热点



这两个界面可以点击控制IO的变化,同时如果外网页面有动作,页面开关也会自动变化


相关资料下载:

原理图与PCB :https://lceda.cn/apachectl/shmictrl-28-wifi

sHMIctrl工程文件:http://shmictrl.com/download/shmictrl-wifictrl.sz

控制页面的PHP代码:http://shmictrl.com/download/shmictrl_wifi_php.zip

说明文档:http://shmictrl.com/shmidoc/

资料下载:https://weidian.com/item.html?itemID=2209655941&spider_token=d72d

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 11月8日 阴 星期四 放学后,我给小豆豆们换了家那就在土里。 我们今天搬了家,小主人这样把我们平移到了土里...
    狄琪儿仙子阅读 1,153评论 0 0
  • 文/清姝小栈(qingshuxiaozhan) 我们总是拼命的学习、看书、上课,让自己开阔眼界是一方面,想要转成金...
    清姝阅读 4,453评论 1 50
  • 乾州碎娃 杨家阿妹生丽质,谢过父恩谢君恩。 日日欢声夜夜宴,鼓乐相伴春宵短。 侍儿扶起娇无力,从此君王不早朝。 紫...
    行走在乾县阅读 3,034评论 0 7
  • 电梯里,路上,地铁里···随处可见广告的身影。 有你喜欢的,也有你排斥的。 今天,我们来讨论一下广告是否有存在的价...
    舞步指尖阅读 3,587评论 0 1

友情链接更多精彩内容