系统介绍:以CH549的板子为主控,做一个远程控制系统,网络接收指令和发送家里一些传感器的数据。外围开关控制家电,包括,1 电灯(忘记关灯或者冬天不出被窝关灯)、2 热水器(下班开热水器,到家洗澡)、3 空调(回家前开空调,到家就已经凉快了)、4 水阀(浇花)。传感器,利用单片机自带ADC,测量土壤湿度(大家可以给推荐下电极,淘宝有挺便宜的,但是好像会生锈),以此判断是否该浇水。
服务器,采用自己已有的阿里云服务器搭建一个网络服务,给CH549板子发送控制指令和接收其数据;另外,做一个网页,用于查看信息和进行远程操作。
第一步:对于板子CH549芯片各模块的规划如下:
(其中,UART3用于测试指令用,接收电脑串口数据发送给UART1,接收UART1数据发送到电脑)
第二步:程序编写,略,单片机代码见文末,服务器代码涉及自己的ip域名等一些东西 尚未整理 暂不发 下版再说。
第三步:插线:
第四步:上电:
第五步:借助UART3,调试与服务器的通信。开启服务器服务(目前测试模式,接口被访问时,用户名正确则给开发板返回当前的日期时间)。
第六步:板子控制WiFi模块联网,连接服务器:
第七步:板子访问接口,并获取数据(下方黑色背景是服务器控制台的消息,串口助手打印的是单片机串口的消息):
总结,大框架基本完成,这几天完成下一个版本,完成所有功能,主要有以下几点:
测试版本多用一个UART3,UART3用于电脑和UART1之间数据的转发,用于调试指令,下一版正式版会去掉;
另外,目前还没加入看门狗,待加入;
单片机与服务器的通信协议;服务端的编写,控制界面的编写;
触摸按键控制开关,目前是按时开
此内容由EEWORLD论坛网友一个小白原创,如需转载或用于商业用途需征得作者同意并注明出处
松时关,改成触摸改变状态。
本文代码(其他资料,见前面的帖子):
此内容由EEWORLD论坛网友一个小白原创,如需转载或用于商业用途需征得作者同意并注明出处