经过两三天的编程和调试,我最后的大项目温湿度采集系统终于实现了。首先由芯源的单片机采集手里的DHT11传感器数据,然后通过esp8266把传感器的数据用wifi发给c#编写的上位机上,整个系统的硬件和接线先来一张全家福吧:
首先是传感器数据的采集部分,这部分以前做过,不再详述。然后是芯源的单片机与8266的通信部分,芯源单片机通过串口向8266发送at指令,将8266置为ap模式,充当wifi通信的服务器。所有需要发送的AT指令如下图所示:
最后是上位机的编程了,上位机软件在通信中作为客户端,与服务器在连接成功,就可以相互间收发数据了。上位机软件的界面如图:
主要就是演示收到的温湿度数据。在上位机的对话框内,需要填写服务器的ip地址和端口号,ip地址是在单片机处通过发送指令获取的,而端口号是在向8266发送的at指令中设置的,点击连接按钮,如果没有问题,就可以连接上了,连接上后的界面如图:
最后由于时间关系,只做了一次数据的发送,主函数如下:
可以看到界面上显示了接收的温湿度值。
本系统的演示效果如附件视频和下图所示:
芯源单片机的代码和上位机的代码都上传在了附件当中。8266由于采用了官方的默认程序,就不上传了。
整个项目调试过程中,遇到了一些困难,但是通过自己的摸索和努力,最后都解决了。经过这个项目的开发,锻炼了自己的编程能力和动手能力,也加强了思考和解决问题的能力。最后还是要感谢平台和芯源公司的这次试用机会。
附件代码: *附件:8266-XINYUAN.zip *附件:上位机.zip
演示视频
|